banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

一道CTF的SQL注入题

事情起因#

来自某内测靶场,未开放注册,跟随在字节脉搏的lation老哥复现一遍,学习姿势,靶场地址

探寻注入方式#

打开靶场长这样:

image

看起来一个 “简单” 的登录框,burp拦截发送reapter开始探测

image

看起来很正常,只有usernamepasswd两个字段,先尝试万能密码账号

image

登录失败,这里有个小技巧,建议burp改参数时选中自己添加的部分ctrl+U过一次URL编码

admin加单引号也没啥反应,后面加and 1=1and 1=2也没啥反应

尝试passwd字段加单引号

image

也没啥反应,尝试报错注入:

image

也没啥反应,尝试宽字节注入:

image

报错了,尝试闭合报错语句:

image

经测试,除了--+还有#-- -均能闭合

注入数据#

老规矩,先查询列数:

image

报错了,可以看到报错处提示near 'der by 3,说明我们的or被吃了,尝试双写绕过:

image

image

order by 3没问题,order by 4报错了,union select查看回显字段:

image

直接回显登录成功,flag在flag1表中,列名为key1(我这里显示有点重叠),直接查值

image

发现没变化

在报错注入的时候需有对information_schema库有读取权限

information_schema库读取权限,需同时猜解列名和表名(较难)

那我们就使用之前的报错注入来查询数据:

image

注意,此处在%df%27后面还有一个%

参考文章:

本文完。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。