成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

收下這張小貼士,填補那些年在HQL注入留下的坑

數據庫 其他數據庫
SQL注入是一種大家非常熟悉的攻擊方式,目前網絡上有大量存在注入漏洞的DBMS(如MySQL,Oracle,MSSQL等)。但是缺少針對hibernate查詢語言的相關資源,以期本文能給在滲透測試時能給各位多提供一條路。

前言

SQL注入是一種大家非常熟悉的攻擊方式,目前網絡上有大量存在注入漏洞的DBMS(如MySQL,Oracle,MSSQL等)。但是缺少針對hibernate查詢語言的相關資源,以期本文能給在滲透測試時能給各位多提供一條路。

[[272572]]

HQL查詢并不直接發送給數據庫,而是由hibernate引擎對查詢進行解析并解釋,然后將其轉換為SQL。為什么這個細節重要呢?因為有兩種錯誤消息來源,一種來自hibernate引擎,一種來自數據庫。

如果在HQL語法中發現了注入點,我們是不能直接使用平時的SQL利用方法來應對的,HQL有屬于它自己特定的語法,相對SQL而言限制更多一些,比如說HQL就沒有方法可以直接查詢未映射的表單,沒有聯合,沒有函數來創建簡單延遲,沒有系統函數。好在俄羅斯程序員在幾年前尋找到一個方法,將HQL context轉義成SQL context,進而實現直接與數據庫通信。接下來進入正題,此外各位需要注意,不同的數據庫轉義方法不盡相同,以下案例使用的是MySQL數據庫。

開胃菜:HQL轉義

最初的請求/響應信息(注意POST body中的GWT格式)

在參數后面加上單引號,在返回的響應信息中可以看到服務器拋出一個錯誤。

像是豎線(‘|’)、反斜杠(‘\’)這類特殊符號會打亂GWT結構,我們得對這些數據進行編碼。GWT格式對特殊字符的處理:

  1. | => !  
  2. \ => \ 

在將HQL context進行轉義之前,我們還需要對涉及到的數據庫進行一些測試:

在MySQL, MSSQL, Oracle等常用數據庫中進行測試,最終選定的最后一條payload卻只能在MySQL下執行,接下來我們就將HQL context進行轉義。

將字符串\'',由HQL context轉換為MySQL context。在HQL查詢上下文中,單引號會被附加另一個單引號來進行轉義,反斜杠依舊是平常的反斜杠。這里與MySQL全然不同,MySQL使用反斜杠來轉義單引號,而不是另一個單引號。因此,當Hibernate框架解析到一個查詢語句,剛好底層使用的數據庫又是MySQL的時候,就變得十分有趣了:

Hibernate解析到的語句:

  1. 'orderInGroup'||'\''|| (select 1)) -- ' // as a string 

加上payload之后的MySQL:

  1. 'orderInGroup'||'\''|| (select 1)) -- ' // string '\'', logical 'or', select query 

以下截圖顯示了payload成功執行

吃完字符串轉義這口開胃菜之后,胃口不妨打開一些,從數據庫中檢索信息

正餐:布爾型盲注

我們這個案例中的注入點在'order by'查詢部分,由于應用無法顯示查詢的數據,這時我們就使用布爾型盲注的思路,MySQL函數updatexml就是一個非常不錯的選擇,如果它的第二個參數不是有效的XPath查詢字符串就會報錯,如果XPath查詢是正確的就不返回值。

  1. updatexml(xml_target,xpath_expr,new_xml) 

重要的是,只會在計算完第二個參數后才會拋出錯誤(其中包含有if子句),也就是根據if判斷子句,應用確定是否返回錯誤。和SQL下的布爾值盲注思路一樣,之后通過逐個字符的提取數據即可。

獲取到的完整值:

最后解碼得到[…]PROD_SELF[…]

強烈推薦ORM2Pwn: Exploiting injections in Hibernate ORM

參考文獻

Эксплуатация инъекций в Hibernate ORM

GWT RPC data format

SQL布爾型盲注思路分析

ORM2Pwn: Exploiting injections in Hibernate ORM

HQL Injection Exploitation in MySQL

Exploiting a HQL injection 

HQL for pentesters Hibernate:深入HQL學習

責任編輯:武曉燕 來源: 嘶吼
相關推薦

2014-05-12 10:37:41

2020-10-29 10:22:44

中臺

2017-07-19 14:26:01

前端JavaScriptDOM

2021-09-07 14:35:48

DevSecOps開源項目

2022-05-15 08:13:50

Mysql數據庫Mycat

2020-04-21 15:18:11

財務信息化

2015-03-12 09:51:09

CoreDataiCloud

2020-05-28 16:15:50

HTTP暗坑前端

2017-03-31 10:27:08

推送服務移動

2017-07-06 11:41:48

CIOIT技術

2013-04-12 15:59:33

2016-01-11 09:34:29

云職場IT技能云認證

2017-08-04 17:07:32

JavaArraysList

2016-12-28 13:19:08

Android開發坑和小技巧

2015-04-13 17:39:11

移動IM開發

2011-12-15 09:45:21

PhoneGap

2011-12-22 19:57:38

PhoneGap

2018-02-06 08:36:02

簡歷程序員面試

2017-08-28 15:30:49

Android編碼器編碼

2018-07-05 06:02:38

綜合布線弱電動力線
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲天堂男人的天堂 | 国产一区二区三区四区 | 国产91在线视频 | 中文字幕 在线观看 | 日本精品在线一区 | 天天色官网 | 国产亚洲精品成人av久久ww | 久久精品超碰 | 成人久草 | 奇米四色在线观看 | 日韩av一区二区在线观看 | 四虎成人免费电影 | 久久久久国产一区二区三区 | h片在线观看网站 | 色狠狠桃花综合 | 男人的天堂中文字幕 | 操操日| 精品日韩一区二区 | 免费欧美视频 | 欧美日韩精品专区 | 日韩国产免费观看 | 日韩一区二区在线视频 | 国产精品福利视频 | 99久久婷婷国产亚洲终合精品 | 国产成人精品在线 | 精品一区二区久久久久久久网站 | 日本二区 | 我要看免费一级毛片 | 国产无人区一区二区三区 | 亚洲国产精品激情在线观看 | 精品日韩一区 | 精品无码久久久久久国产 | 国产欧美日韩二区 | 777zyz色资源站在线观看 | 免费成人高清在线视频 | 91久久久精品国产一区二区蜜臀 | 日韩av成人 | 麻豆a级片 | 欧美日韩久久精品 | 久久伊人精品 | 91精品国产色综合久久 |