BUUCTF:[SUCTF 2019]EasySQL

   日期:2020-10-08     浏览:132    评论:0    
核心提示:题目地址:https://buuoj.cn/challenges#[SUCTF%202019]EasySQLSQL查询,观察回显,这里应该是用var_dump()输出在测试查询的时候发现有些字符能使用,有些字符被过滤了,因此查询点进行fuzz测试,看看过滤了哪些字符回包长度为523的都是可以使用的,其他的字符均已被过滤PS:这里使用Burp进行fuzz的线程不要开太高,容易报429,fuzz的字符不多可以慢慢跑;可以使用,尝试堆叠注入首先这里的query参数无论我们输入数字什么都只会回

题目地址:https://buuoj.cn/challenges#[SUCTF%202019]EasySQL


SQL查询,观察回显,这里应该是用var_dump()输出


在测试查询的时候发现有些字符能使用,有些字符被过滤了,因此查询点进行fuzz测试,看看过滤了哪些字符


回包长度为523的都是可以使用的,其他的字符均已被过滤
PS:这里使用Burp进行fuzz的线程不要开太高,容易报429,fuzz的字符不多可以慢慢跑

;可以使用,尝试堆叠注入



首先这里的query参数无论我们输入数字什么都只会回显Array([0]= > 1),输入字母不会显,但是也没显示是过滤的,所以query的值如果为非数字则无法正确查询得到数据回显,那么查询语句就应该长这样

$sql = "select ".$post['query']."||flag from Flag";


知道查询语句了就好做了,先看一个非预期解

非预期解

||在SQL语句中表示,在查询表中的字段内容时,逗号,用于查询多个字段名



payload

*,1


预期解

通过修改SQL配置将或运算符||设置为连接符

set sql_mode=PIPES_AS_CONCAT;

payload

1;set sql_mode=PIPES_AS_CONCAT;select 1

这样拼接得到的语句就应该是

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

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服