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

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

相关文章

代码审计第三讲实战发掘sql注入缝隙

 为了更好去发掘php缝隙,关于盛行的结构,咱们也要了解一下,这样才干发掘到高位缝隙。关于结构学习,不同公司有不同结构,所以关于结构,也因人而应,别的看公司需求,假如你的公司大部分选用某一种结构,你来...

OWASP TOP 10之怎么防护CSRF进犯

0x00 什么是CSRF CSRF(Cross-site request forgery跨站恳求假造,也被称为“One Click Attack”或许Session Riding,一般缩写为CSR...

综合利用SlickQuiz两个0-Day漏洞接管Uber的WordPress网站-黑客接单平台

本文叙述作者在参与HackerOne的H1-4420竞赛中,针对厂商Uber的某WordPress博客网站为方针,发现其内置问卷调查插件SlickQuiz最新版存在存储型XSS(CVE-2019-12...

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

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

用Google破解Google的ReCaptchav2 验证码

这是一个名叫ReBreakCaptcha的逻辑缝隙,而这个缝隙将答应你轻松地绕过网站所选用的GoogleReCaptcha v2验证码。 技能概览 早在2019年,我就开端研讨怎么才干绕过Google...

TA505在最新攻击活动中使用HTML, RAT和其他技术-黑客接单平台

TA505以运用歹意垃圾邮件和不同的歹意软件来进犯金融安排和零售企业而臭名远扬。研究人员在曩昔2个月检测到与TA505相关的进犯活动。在该安排的最近活动中,运用了HTML附件来传达歹意XLS文件,XL...