这个站呢,有一段时间了,因为注入点很奇特,然后我来分享下。
0x01. 一个SQL注入
0x02.初探 首先拿到这洞,简单的''发现可以闭合,,然后就提了,后面就被退回来了,心里很不舒服,于是,在复现下,发现这里有一个 Hibernate HQL字段
参考了这篇文章,http://t.zoukankan.com/tian830937-p-4456500.html构造payload:'%' or 1=1 or ''='%'
发现返回了200,
0x03.HQL注入
所谓的HQL注入,就是指在Hibernate中没有对数据进行有效的验证导致恶意数据进入应用程序中造成的。
HQL
查询并不直接发送给数据库,而是由Hibernate
引擎对查询进行解析并解释。这也就导致了,有两种错误消息的来源,一种来自Hibernate
引擎,一种来自数据库。
看了一些关于HQL注入的内容,有了个思路,如果能解析HQL语句,然后进行mysql查询的话,这里就存在漏洞,甲方就没话可说了。于是,通过尝试,发现a' or aa=2 or ''='
可以正常解析HQL,mysql报错找不到列数,
由于这里没有登录点,一般来说这种漏洞漏洞点都是存在于输入的地方,看不到类似这样的字段,就只好作罢
原文始发于微信公众号(Qaseem安全团队):记一次安服测试遇到HQL注入
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论