漏洞介绍
1、官方报告:
CVE - CVE-2022-32991 (mitre.org)
2、CVE-2022-32991 是Web Based Quiz System v1.0版本中存在的SQL注入漏洞,该漏洞源于welcome.php中的eid参数缺少对外部输入SQL语句的验证。攻击者可利用该漏洞执行非法SQL命令窃取数据库敏感数据。(此段转载自https://blog.csdn.net/lkbzhj/article/details/132795241)
漏洞复现
靶场:春秋云镜
打开靶场:
根据靶场展示内容,先进行注册登录,点击按钮LOGIN,填写注册信息
再进行登录
出现如下页面,这时可观察到此时网页的链接
改变q后面的值,可得到不一样的结果,这是可认为此网站存在sql漏洞
使用BP进行抓包,读取数据并保存为txt文件,更改eid参数
使用sqlmap工具(本人使用的是kali下的sqlmap)
先测试一下-u命令
但是提示sqlmap的版本过时了, "your sqlmap version is outdated",那么就意味着你当前使用的 sqlmap版本可能已经不是最新版本,建议你及时更新到最新版本以确保工具的效用和安全性。通常情况下,更新到最新版本可以带来更好的功能、更强大的检测能力和更稳定的性能。
更新sqlmap的步骤:
git clone --depth 1 GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool sqlmap-dev (需等待一些时间进行下载)
切换到指定目录:cd sqlmap-dev
更新sqlmap:git pull origin master
探测数据库
结果显示:
猜测数据库为:ctf
继续探测表名:
sqlmap -r 10.txt -D ctf --tables --batch
结果显示:
猜测表名:flag
探测列名:
sqlmap -r 10.txt -D ctf -T flag --columns --batch
结果显示:
查看具体内容
sqlmap -r 10.txt -D ctf -T flag --dump --batch
结果显示:
提交flag
修复建议
在welcome.php中增加对eid参数的验证和过滤,对用户提交的数据进行合法性验证,对数据库进行加固等等。