limit 后注入_CTF从入门到提升(八)desc注入及相关例题分享

desc注入及相关例题分享

desc是函数describe的简写,一般用来提供和表相关的列信息来查看表的结构。

很多CTF赛题考点都是运用它的一些我们不太熟悉的特性或者说使用方法。常规来讲desc后面跟的是表名,但事实远不止于此,除了表名还可以有第二个参数。 而且在第二个参数中,它除了列名之外,还可以是包含sql通配符的字符串。

演示一下:

它会出一个表的一个结构。

9a2042abe4d8cbc175e1fd3034f2f699.png

下一个参数去跟一个列名:

2313c939a7b7201fedb0246ae88755eb.png

例题分享

第一步先拿到源码

4bee951ba3583abfa86613e4722a4bf8.png 5ec7b9b7346f3880fc53e92c22d050cc.png

可以选择在这两个地方注入:

18b5aabdadddaaf43a5787a16c48bd65.png

在中间加一堆引号这时候就会变成两个变量,因为前引号和后引号闭合,新加的在后面去闭合。

c12b30a373ee64a9c6763c4533380b5d.png

绕过desc的使用,到select查询语句进行注入

构造语句

7a7bc83922f2c81307b6d68a3c8f2321.png

这是我们传递的一个参数,实际的情况是:

ad35b53b2d6f91d7a69dd864388d8b04.png

假设能够实现成功,实际返回值有两个:

35b22d60784098dec486684fbb3854c6.png

所以就要对它做一个限制(偏移),比如说limit限制输出是一个offset偏移是一个,就是跳过第一个,然后再去执行一下。

196d07fb6b2977817c87732c72269be4.png

但是这个地方不要单单推不能用一个参数

4f64fb9e5c8962e3d2abc4e75d2fa3ac.png

我们要的数据(flag)就存在这个表中,要去查这个数据就要去拿这张表的一个列名,就变成一个concat

用它转成16进制,在他前面去加一个0X对吧,这时候就会拿到这个列明。

万能密码

从某张表中去读一条数据,传递的这种用户名和密码如果存在它会认为登陆成功。

举栗子:

通过false逻辑来产生true逻辑

ba8fa80d636686a2d6c8c6859f6ae1ff.png

以上内容参考安全牛课堂《CTF从入门到提升》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值