基于排序的SQL猜解问题-黑客接单平台

访客5年前黑客资讯581
问题的发现 最近在对公司后台代码安全审计的过程中,发现了一种有意思的缝隙类型,一种依据排序的SQL猜解进犯问题,咱们且抽一段片段代码来看一下 "queryUsers" resultType="com.huobi.open.mis.dao.Users"> select u.user_id, u.username, u.email, u.mobile, u.status,u.password_status from crm_user where> if test="username != null and username.trim() != ''"> and u.`username` like concat('%',#{username},'%') if> if test="userId != null and userId != ''"> and u.`user_id` != #{userId} if> where> test="sidx != null and sidx.trim() != ''"> order by u.${sidx} ${order} order by u.user_id desc if test="offset != null and limit != null"> limit #{offset}, #{limit}`` if> 假如直接观测这段代码,好像有SQL注入的问题,在Spring的,SPEL表达式 # 相当于占位符,这有用的避免SQL注入的发作,所以一般关于mapper的审计,咱们就观测是否有运用 $ 的当地,在依据对应的id去追溯运用到它的代码,检查是否有SQL注入 @Pattern(regexp = "^(?i)DESC|(?i)ASC$",name="排序",message = "order不合法") 持续追寻代码,所以发现程序对 sidx 和 order 做了安全校验,这好像没有什么问题了, 所以这一处就通过了SDL团队的安全测验。可是再持续追溯起来我发现这段代码仍然存在安全问题,由于它尽管避免了SQL注入进犯,可是它没有对排序字段做约束,这就存在了一个问题 当我妄图运用password进行排序的时分,服务器成功返回了数据,那么这意味着我可以运用order by进行排序进犯,举个比如,咱们查询一张惯例的用户表 mysql> select * from crm_user; +-----+----------+--------------+ | uid | username | password | +-----+----------+--------------+ | 1 | 111 | 111 | | 2 | enoch | apple | | 3 | sam | boomsakalaka | | 4 | belln | zipzip | | 5 | mosuan | 123456 | | 6 | xsseng | 123456 | +-----+----------+--------------+ 6 rows in set (0.00 sec) 咱们依据password对数据进行升序排序,就会发现数据由暗码的首字符1-9a-z如此升序排序 mysql> select * from crm_user order by password asc; +-----+----------+--------------+ | uid | username | password | +-----+----------+--------------+ | 1 | 111 | 111 | | 5 | mosuan | 123456 |[1][2]黑客接单网

相关文章

怎样使用追寻代码来发现网站之间的“相关”

前些年Lawrence Alexander颁发了一篇使用Google Analytics查找网页之间的联络联络的文章,客岁,我也宣告了一个关于若何使用Python自动开掘信息,然后将其可视化的帖子,不...

带外通道技术(OOB)总结-黑客接单平台

在浸透中,常常碰到封闭回显的缝隙,常见的XXE盲注,SQL盲注,反序列号无回显,这个时分常用到OOB带外数据通道,带外通道技能(OOB)让进犯者可以经过另一种方法来承认和运用所谓的盲目(blind)的...

黑客接单网:端口映射该怎么做,看完这些内容,原来端口映射如此简单

黑客接单网:端口映射该怎么做,看完这些内容,原来端口映射如此简单

端口映射是什么? 端口映射就是将外网的IP地址上的端口映射到内网中一台机器,当访问这个外网ip的端口,就会将用户的央求映射到指定机器中,不理解看下面就懂了。 远控端口映射原理 不少人学员初学远控的时...

某HR业务网站逻辑漏洞挖掘案例以及POC编写思路分享-黑客接单平台

东西预备 BurpSuiteFree (或许咱们最喜爱最常用的抓包神器,需求Java环境); 火狐浏览器(个人比较喜爱的浏览器;360/Chrome等浏览器都能够); SwitchyOmega插件(设...

用零宽度字符水印揭穿泄密者身份

零宽度字符是躲藏不显现的,也是不行打印的,也便是说这种字符用大多数程序或编辑器是看不到的。最常见的是零宽度空格,它是Unicode字符空格,就像假如在两个字母间加一个零宽度空格,该空格是不行见的,表面...

可能是史上最先进的歹意广告进犯:一个Banner就感染了上百万PC,yahoo、MSN等大型网站

一个广告Banner,不需要什么交互就或许让你的PC感染歹意程序,是不是感觉很牛掰?听说就现在为止,现已有上百万PC因为这样的原因被感染。并且许多大型网站好像都中招了,其间就包含yahoo和MSN,假...