文章总结: 本文介绍了一次针对Java-MyBatis环境的ORDERBY排序注入测试。漏洞成因是后端直接使用${sort}且未做白名单校验。作者通过抓包修改参数,利用报错注入探测列数并获取数据库信息。文章强调了排序参数的安全过滤重要性,适合新手学习此类Web漏洞的挖掘思路。 综合评分: 85 文章分类: 渗透测试,WEB安全,漏洞分析
记某次渗透中order by排序注入
赤弋安全团队
2026年1月11日 21:05 陕西
以下文章来源于小梵安全 ,作者小梵安全
小梵安全 .
大学生勇闯网络安全,分享真实漏洞案例、实战思路与工具技巧。谢谢你的关注!
前言:菜鸡勿喷,主要给新手师傅说一个不同的sql注入思路,大佬划走即可。大家可以多点点关注,后续会继续更新,谢谢!
在最近的某次渗透中发现一个order by排序注入 故写下这篇文章给新手师傅看一些不同的sql注入
依旧登录框起手 有注册功能 那就先注册进去看看
翻到在用户管理处 有这种小箭头表示排序的 这种就可能存在排序注入
那么他的后端sql语句大概就是这样的
select * from table where id=1 order by xxx desc;
这种地方在java-mybatis环境中很容易引发注入问题,
原因很简单,在mybatis中order by ${sort}传的是列名不能用#{},因此需要额外用白名单处理,但是有的开发懒得去处理就会导致存在注入。
在基础设置中可以新增用户,可以给用户上传头像,但是这里好像上传什么都只会下载下来,不知道能不能利用,有没有大佬评论区说一下。在这里点击查询 然后抓包看看
抓包发现存在order参数 order=asc
简单判断一下是否存在注入
发现order=asc,37页面显示正常
发现order=asc,38页面显示报错 说明存在37列
既然出现报错信息 那这里直接使用报错注入即可获得数据库名
最后,也衷心祝愿各位新手师傅们,能通过这篇文章有所收获,顺利挖到属于自己的第一个漏洞
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:赤弋安全团队 《记某次渗透中order by排序注入》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论