写在前面:
此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出。欢迎各位前来交流。(部分材料来源网络,若有侵权,立即删除)
第十一关
- 尝试了几组密码后返回报错
- 判断应该是POST型单引号字符型注入
- 猜测闭合符为单引号尝试发现报错
- 在单引号后加一个#,结果正常报错
- 所以可以确定闭合符
- 使用语句
asdf ' or 1 #
构造布尔表达式为真
- 登录成功
- get it
第十二关
- 尝试闭合符试出来双引号及单括号
- 使用语句
asdf ") or 1 #
构造布尔表达式为真
- get it
第十三关
- 老规矩尝试闭合符可以得到闭合符为单引号加括号
- 构造语句
123') or 1#
- get it
第十四关
- 显然闭合符为"
- get it
第十五关
-
尝试了主流闭合符返回结果都是一个样
-
猜测为布尔时间盲注
-
但是不一样的地方是如果绕过登录验证会有成功返回
-
使用根据登录绕过的布尔表达式来判断闭合符
-
判断了闭合符后,更具布尔表达式登录时间进行布尔-时间盲注
-
get it
第十六关
- 同理
- get it
第十七关
- 常规尝试返回结果无法区分
- 考虑到提示是更新密码所以侧重点会在密码上
- 然后用户名采用admin试试(好吧其实又偷偷看了大佬的wp)
- 用户名换成admin之后,对密码进行闭合符尝试
- 首先考虑单引号
- 报错
- 不报错
- 这边sleep使用成功了,所以可以使用布尔时间盲注进行注入
- 突然明白了这是个密码更改界面而不是登录界面
- get it
第十八关
- 提示了IP问题
- 但尝试使用admin作为用户名,惊奇的发现它返回了我的浏览器 User Agent
- 很离谱
- 先用burp suite抓个包看看什么情况
- 抓出来的结果
- 在user-agent:后面添加注释语句
- 用sleep(3)进行测试
- 再找一个注入语句试试
- get it
第十九关
- 用admin作为用户名尝试
- 相同思路再referer后面进行注入
',1,updatexml(1,concat(0x7e, database(),0x7e),1))#
- get it
第二十关
- 使用admin登录
- 根据返回结果应该是从cookie下手
- 使用工具更改
- 注入语句
uname=' union select 1,2,(updatexml(1,concat(0x7e, database(),0x7e),1))#
- get it
深夜继续摸鱼了芜湖