• 注册
  • BBS 技术(其他) 关注:6 内容:7

    一道简单、有趣的SQL注入题

  • 查看作者
  • 打赏作者
  • 拉黑名单
  • 当前位置: 字节脉搏 > 技术(其他) > 正文
    脚本小子
    SQL注入
    题目地址:
    http://dcnctf.com:2020/sqli/index.php

    一道简单、有趣的SQL注入题

    首先,题目要求只能本地访问,插件修改XFF

    一道简单、有趣的SQL注入题一道简单、有趣的SQL注入题

    由于是注入题,习惯性抓包sqlmap一把梭。当然。。。没出内容。

    于是开始手工检测,因为sqlmap已覆盖目前常见注入类型,也没检测到WAF

    所以100%是有过滤。

    OK,我们还不知道注入类型,那就老老实实一个个试一遍。

    一道简单、有趣的SQL注入题

    经过手工测试,属于宽字节注入。

    一道简单、有趣的SQL注入题一道简单、有趣的SQL注入题

    经测试,–+,– -,#均可闭合。

    常规思路,查列数

    一道简单、有趣的SQL注入题一道简单、有趣的SQL注入题

    这时发现,无论列数是多少,都会报错,仔细看返回包

    一道简单、有趣的SQL注入题

    考虑是过滤了or,双写绕过。

    一道简单、有趣的SQL注入题

    4报错,所以有3列,尝试查表。

    一道简单、有趣的SQL注入题

    在这里得到线索flag在flag1表中,列名key1,那岂不是可以直接查值啦!!

    一道简单、有趣的SQL注入题

    直接查值发现没变化。。各种姿势。。一度怀疑人生。。。转念一想,会不会没有在当前数据库,于是暴库。

    一道简单、有趣的SQL注入题

    居然找不到information.schemate!!!!!     联想到上面联合注入时提示了flag的列名和表名

    于是想到在报错注入的时候

    (1)and updatexml(1,concat(0x7e,(select TABLE_NAME  from  information_schema.TABLES   where TABLE_SCHEMA=数据库16进制值 limit 0,1),0x7e),1)--  

    #需有对information_schema库有读取权限

    (2)and updatexml(1,concat(0x7e,(select 列名  from  表名 limit 0,1),0x7e),1)--

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

    换个姿势,报错注入。查值

    一道简单、有趣的SQL注入题

    一道简单、有趣的SQL注入题

    一道简单、有趣的SQL注入题
    扫码关注我们
    微信公众号:字节脉搏实验室

    请登录之后再进行评论

    登录
  • 做任务
  • 帖子间隔 侧栏位置: