在学习JAVA的过程当中,突然微信弹出一条消息,通过信息搜集拿到了学校账号,但是莫得漏洞,于是让我在摸一摸看看能不能搞到一些东西。
于是自己停下了自己的学习,开始去测试学校资产,踩在了大佬的肩膀上,登录进去进行正常功能点测试。
看到这里存在一个排序按钮,第一个想到的就是看到一个文章当时说排序注入
当时刚看排序注入的时候不理解到底是什么意思,后来经过自己的思考,SQL注入原理就是与数据库存在交互的地方都可能存在SQL注入
那么即在更新出,插入,删除...等地方均可能会存在SQL注入漏洞
并且这里是一个开发比较容易忽略的点,所以导致很多站点都会遇到这种漏洞
那么像这种漏洞应该如何挖掘
一般我个人的挖掘思路就是去点击排序按钮之后进行抓包,查看是否存在关键词 orderby,desc,asc等
如果存在上述关键词那么就很可能导致排序注入的产生
这里点击排序之后进行抓包分析
这里看到存在asc参数名
一般来说这种漏洞检测方式主要分为以下几种
检测方法:
,1 && ,0
,1/1 && ,1/0
,exp(71) && ,exp(710)
异或
这里使用,1/exp(270)函数进行判断
发现为java开发的站点那么一般就是Oracle数据库搭建的比较多,最后放入sqlmap一把梭了。
这里主要是想说任何与数据库发生交互的地方,都可能会存在注入,不要忽略任何一个功能点,感觉现在往往去着重关注的功能点,往往是开发着重防护的地方,然而没有关注到的功能点,往往是我们黑盒测试或者是开发比较容易忽略的地方。
最后奉上payload
测试语句asc,1/exp(xxx)
查询user的长度asc,1/decode(length(user),7,1,0)
最后排序注入如果大家不是很理解的话,看下面这篇文章
https://www.sohu.com/a/556682349_121390912
大家可以和我一起交流,本人也是一直知道这种漏洞,第一次挖掘,做了一个小笔记