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

访客5年前黑客资讯621
问题的发现 最近在对公司后台代码安全审计的过程中,发现了一种有意思的缝隙类型,一种依据排序的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]黑客接单网

相关文章

探究根据.NET下完成一句话木马之Asmx篇

0×01 前语 上篇介绍了一般处理程序(ashx)的作业原理以及完成一句话木马的进程,今日接着介绍Web Service程序(asmx)下的作业原理和怎么完成一句话木马,当然介绍之前笔者找到了一款as...

运用Docker建立Web缝隙测验环境

因为一向在做 Web 缝隙扫描器的开发, 那么就必定少不了 Web 的缝隙测验环境, 其中就包含 bWAPP、DVWA、OWASP WebGoat 等这些国际品牌。 这些缝隙环境一般建立比较繁琐, 并...

Web安全之XSS、CSRF和JWT

XSS 跨站脚本(Cross-site scripting,一般简称为XSS)是一种网站运用程序的安全漏洞进犯,是代码注入的一种。它答应歹意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这...

怎么经过乱用SSLTLS绕过Web应用程序防火墙

介绍 近些年来,Web安全现已逐步变成了IT安全范畴里十分重要的一个部分。Web运用的优势就在于开发人员能够在较短的时间内集成各种要害服务,并且保护难度也比传统的桌面端运用程序要低许多。除了规划新的...

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

RFI绕过URL包含限制Getshell-黑客接单平台

为什么有今日这篇文章?原因是我在阅读Twitter时,发现关于长途文件包括RFI的一个奇淫技巧!值得记载一下,思路也很别致!由于它打破我之前认为RFI已死的观念:) 正文 RFI引出 咱们知道php最...