前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CTF从入门到提升(八)desc注入及相关例题分享

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

原创
作者头像
牛油果
修改2019-08-30 18:39:46
9660
修改2019-08-30 18:39:46
举报

desc注入及相关例题分享

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

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

演示一下:

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

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

例题分享

第一步先拿到源码 

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

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

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

构造语句

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

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

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

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

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

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

万能密码

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

举栗子:

通过false逻辑来产生true逻辑

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档