记一次安服测试遇到Hibernate HQL注入

分享如何利用SQL注入找到Hibernate HQL漏洞,通过解析HQL语句进行MySQL查询。探索了HQL注入原理和实战过程,尽管缺乏登录点,但展示了技术思路和尝试过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个站呢,有一段时间了,因为注入点很奇特,然后我来分享下。

0x01. 一个SQL注入

x2.png

x3.png

0x02.初探
首先拿到这洞,简单的’'发现可以闭合,,然后就提了,后面就被退回来了,心里很不舒服,于是,在复现下,发现这里有一个 Hibernate HQL字段

x1.png

参考了这篇文章,http://t.zoukankan.com/tian830937-p-4456500.html构造payload:
'%' or 1=1 or ''='%' 发现返回了200,

x4.png

0x03.HQL注入

所谓的HQL注入,就是指在Hibernate中没有对数据进行有效的验证导致恶意数据进入应用程序中造成的。

HQL查询并不直接发送给数据库,而是由Hibernate引擎对查询进行解析并解释。这也就导致了,有两种错误消息的来源,一种来自Hibernate引擎,一种来自数据库。

看了一些关于HQL注入的内容,有了个思路,如果能解析HQL语句,然后进行mysql查询的话,这里就存在漏洞,甲方就没话可说了。
于是,通过尝试,发现
a' or aa=2 or ''=' 可以正常解析HQL,mysql报错找不到列数,

查询aa.png

由于这里没有登录点,一般来说这种漏洞漏洞点都是存在于输入的地方,看不到类似这样的字段,就只好作罢

洞漏洞点都是存在于输入的地方,看不到类似这样的字段,就只好作罢

x5.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ECHO::

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值