[SUCTF 2019]EasySQL1

在这里插入图片描述
简单测试发现是整数型注入,然后这题还是整数型注入

1;show databases;
1;show tables;

在这里插入图片描述
发现有flag表

1;show columns from Flag;#

在这里插入图片描述
到这里就没有思路了
看wp看到三条payload:

*,1
select 1;set sql_mode=PIPES_AS_CONCAT;select 1||flag from Flag

前置知识:
当 sql_mode 设置了 PIPES_AS_CONCAT 时,|| 就是字符串连接符,相当于CONCAT() 函数
当 sql_mode 没有设置 PIPES_AS_CONCAT 时 (默认没有设置),|| 就是逻辑或,相当于OR函数

第一条payload是大佬猜到了源码的sql查询语句为:

select $_GET[‘query’] || flag from flag

这种方式拼接出来那就是select *,1||flag from Flag
这句的意思就是 从flag表中查询所有数据,当字段名为1或者flag的时候
1和任意字符串或数字使用 ||连接 的值都为1,所以可以成功执行

在这里插入图片描述需要注意的是,数据库里面没有名称为1这个字段,这样查询会临时自动生成一个新的名称为1的列,里面的内容也全部是1

第二条payload就是利用前置知识里面的
思想是把"||"变成字符串连接符,而不是或

再看payload发现赛题还是有源码泄露的 : index.php.swp 不过这题复现没有

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值