[SUCTF 2019]EasySQL——堆叠注入

1、猜测执行语句

        sql注入都需要先猜测后端的查询语句,有时候是语句结构,像闭合的字符串,其他的逻辑运算符,有时候是猜测信息,像查询字段、字段数、表名。

        拿到题目,可以分类输入字符串,根据回显推测查询语句。 我个人的基本思路是 先 数字,再字母,再拼接特殊符号

先试试 1,

再 abc,。没回显,放弃字母。

继续尝试特殊字符,1'   -->  没有回显  。1" -->   回显nonono  1;   回显 array

目前猜测(可能不对,但是先猜着,不对再修正),不是单引号闭合,双引号被检测黑名单了,分号可以将查询语句分隔开,能生效。 所以堆叠注入可能性很大。

https://www.cnblogs.com/backlion/p/9721687.html(关于堆叠注入看大佬的文章了解)

简单来说,就是通过分号分隔开多个sql语句,使其同时执行。

堆叠注入的基本思路就是 直接 怼上sql语句。 

于是 输入

 1;show databases;

 有门。  继续查表

1;show tables;

查表。

1;select * from Flag;

 

 又是 nonono。。本来我认为是select 被加上黑名单了。 但是按照绕过select 的思路走不通。

大佬博客了。

大佬猜测,语句中 有 || 。 就是or的意思。

猜测的语句为

$sql = "select."$_POST["参数"]" ||flag from Flag";

 当传入1的时候,能成功;传入字符串查询失败。 (因为是or,只执行前面的了)

绕过 || 的思路也很奇特,用的payload是

*,1

 拼接的sql语句  以及 实际执行的。

select *,1 || flag from Flag
select *,1 from Flag

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值