精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Padding Oracle攻擊實例分析

安全 數據安全
在《2010年揚名的十大WEB黑客技術》和《淺談ASP.NET的Padding Oracle攻擊》中,我們都提到了Padding Oracle Attack的相關內容,也對其進行了一些簡單的了解。接下來,通過這篇譯文,我們再來對其進行一下深入的學習吧。

在《2010年揚名的十大WEB黑客技術》和《淺談ASP.NET的Padding Oracle攻擊》中,我們都提到了Padding Oracle Attack的相關內容,也對其進行了一些簡單的了解。接下來,通過這篇譯文,我們再來對其進行一下深入的學習吧。

最近出現了許多有關Padding Oracle Attack的聲音,在今年夏天早些時候的BlakHat Europe會議上,Juliano Rizzo和Thai Duong在他們的演講中演示了這種攻擊方式。雖然Padding Oracle是種相對容易的攻擊方式,但如果您還沒有對它的自動攻擊原理有一定了解,那么利用它進行攻擊還是需要不少時間的。由于缺少好用的工具以識別及利用Padding Oracles,我們開發了一個基于Padding Oracle的內部腳本,PadBuster,現在我們打算將它與社區分享。您可以在這里下載工具,現在我們也會花些時間來討論這個工具的工作方式,以及它所支持的幾種場景。

一些背景知識

在討論PadBuster之前,我們先來簡單討論一下典型的Padding Oracle Attack基礎。故名思義,Padding Oracle Attack背后的關鍵性概念便是加/解密時的填充(Padding)。明文信息可以是任意長度,但是塊狀加密算法需要所有的信息都由一定數量的數據塊組成。為了滿足這樣的需求,便需要對明文進行填充,這樣便可以將它分割為完整的數據塊。

加密時可以使用多種填充規則,但最常見的填充方式之一是在PKCS#5標準中定義的規則。PCKS#5的填充方式為:明文的最后一個數據塊包含N個字節的填充數據(N取決于明文最后一塊的數據長度)。下圖是一些示例,展示了不同長度的單詞(FIG、BANANA、AVOCADO、PLANTAIN、PASSIONFRUIT)以及它們使用PKCS#5填充后的結果(每個數據塊為8字節長)。

請注意,每個字符串都至少有1個字節的填充數據,因此7字節的值(如AVOCADO)則使用0x01進行填充,而8字節的值(如PLANTAIN)則會填充一個額外的數據塊。填充字節的值也說明了填充的字節數,因此待加密數據的最后幾個字節必須是以下幾種情況之一:

如果解密后的最后一個數據塊末尾并非這些合法的字節序列,大部分加/解密程序都會拋出一個填充異常。這個異常對于攻擊者尤為關鍵,它是Padding Oracle Attack的基礎。#p#

一個基本的Padding Oracle Attack場景

作為一個具體例子,請考慮以下場景:

http://sampleapp/home.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6

某個應用程序使用Query String參數來傳遞一個用戶加密后的用戶名,公司ID及角色ID。參數使用CBC模式加密,每次都使用不同的初始化向量(IV,Initialization Vector)并添加在密文前段。

當應用程序接受到加密后的值以后,它將返回三種情況:

接受到正確的密文之后(填充正確且包含合法的值),應用程序正常返回(200 - OK)。

接受到非法的密文之后(解密后發現填充不正確),應用程序拋出一個解密異常(500 - Internal Server Error)。

接受到合法的密文(填充正確)但解密后得到一個非法的值,應用程序顯示自定義錯誤消息(200 - OK)。

上述的場景體現了一個典型的Padding Oracle(填充提示),我們可以利用應用程序的行為輕易了解某個加密的值是否填充正確。這里的單詞Oracle代表了一種機制,用于了解某個測試是否通過。

既然已經給出了場景,那么我們便來查看應用程序所使用的一個加密后的參數。這個參數保存了使用分號隔離的一系列值,在我們的示例中,則是用戶名(BRIAN),公司ID(12)及角色ID(12):因此這里的明文是“BRIAN;12;2;”。以下則是經過加密的Query String實例,請注意加密后的UID參數使用了ASCII十六進制表示法。

在實際情況中,攻擊者并不會知道這里所對應的明文是多少,不過作為示例,我們已經知道了明文、填充、以及加密后的值(如下表)。正如之前所提到的那樣,IV添加在密文的前段,即最前面8個字節。

攻擊者可以根據加密后值的長度來推測出數據塊的大小。由于長度(這里是24)能被8整除但不能被16整除,因此可以得知數據塊的大小是8個字節。現在我們來觀察下加密和解密的內部實現,下圖便展示了字節級別的運算方式,這對以后攻擊方式的討論很有幫助。請注意,其中帶圓圈的加號表示XOR(異或)操作。

加密過程:

解密過程:

同樣值得指出的是,解密之后的最后一個數據塊,其結尾應該包含正確的填充序列。如果這點沒有滿足,那么加/解密程序就會拋出一個填充異常。#p#

利用Padding Oracle進行解密

我們現在來關注一下如何利用Padding Oracle Attack進行解密。我們將每次操作一個單獨的加密塊,因此我們可以獨立出第一塊密文(IV后的那塊),在前面加上全為NULL的IV值,并發送至應用程序。以下是URL極其相關回復:

Request: http://sampleapp/home.jsp?UID=0000000000000000F851D6CC68FC9537
Response: 500 - Internal Server Error

回復的500錯誤是意料之中的,因為這個值在解密后完全非法。下圖展示了應用程序在嘗試解密的時候究竟做了哪些事情。您會發現,因為我們只處理單個數據塊,因此它的結尾必須包含正確的填充字節,才能避免出現非法填充異常。

如上圖所示,在解密之后,數據塊的末尾并沒有包含正確的填充序列,因此出現了異常。現在我們將IV加一,并發送同樣的密文,看看會發生什么:

Request: http://sampleapp/home.jsp?UID=0000000000000001F851D6CC68FC9537
Response: 500 - Internal Server Error

與之前一樣,我們得到了500異常。這是因為在解密后我們還是沒有獲得合法的填充序列。稍有不同的是,我們在深入內部之后會發現,最后一個字節的值會有所變化(變成了0x3C而不是0x3D)。

 

如果我們重復發送這樣的請求,每次將IV的最后一個字節加一(直至0xFF),那么最終我們將會產生一個合法的單字節填充序列(0x01)。對于可能的256個值中,只有一個值會產生正確的填充字節0x01。遇上這個值的時候,你應該得到一個不同于其他255個請求的回復結果:

Request: http://sampleapp/home.jsp?UID=000000000000003CF851D6CC68FC9537
Response: 200 OK

同樣,我們從示意圖中了解一下此時發生了什么:

#p#

在這個情況下,我們便可以推斷出中間值(Intermediary Value)的最后一個字節,因為我們知道它和0x3C異或后的結果為0x01,于是:

因為 [Intermediary Byte] ^ 0×3C == 0×01, 
得到 [Intermediary Byte] == 0×3C ^ 0×01,
所以 [Intermediary Byte] == 0×3D

現在我們可以更進一步。我們已經知道了中間值的最后一個字節,于是我們可以推斷出解密后的值是多少。您可以回憶一下,在解密的過程中,中間值的每個字節都會與密文中的前一個數據塊(對于第一個數據塊來說便是IV)的對應字節進行異或操作,于是我們使用之前示例中原來的IV中的最后一個字節(0x0F),與中間值異或一下便可以得到明文。不出意料,我們會得到0x32,這表示數字“2”(明文中第一個數據塊的最后一個字節)。

我們現在已經破解了示例數據塊中的第8個字節,是時候關注第7個字節了。在破解第8個字節時,我們使用暴力枚舉IV,讓解密后的最后一個字節成為0x01(合法填充)。在破解第7個字節的時候,我們要做的事情也差不多,不過此時要求第7個字節與第8個字節都為0x02(再重復一遍,這表示合法的填充)。我們已經知道,中間值的最后一個字節是0x3D,因此我們可以將IV中的第8個字節設為0x3F(這會產生0x02)并暴力枚舉IV的第七個字節(從0x00開始,直至0xFF)。

我們再次遭遇填充異常,直至遇上某個值,它使得解密后的第7個字節成為0x02(正確填充),此時IV中的字節為0x24:

使用這種技巧,我們可以從后往前破解中間值里的每個字節,最終得到解密后的值(盡管每次一個字節)。下圖展示了完全破解后的IV值,此時整個數據塊都為填充值(0x08):

#p#

使用PadBuster進行解密

(譯注:這段內容為PadBuster的使用指南,在此略過,如果您對這部分內容感興趣可以閱讀原文《Automated Padding Oracle Attacks with PadBuster》。)

加密任意的值

我們已經知道如何利用Padding Oracle和PadBuster來依次破解每個加密的數據塊。現在,我們就來觀察下如何使用同樣的漏洞來加密任意數據。

可能您已經發現,一旦我們可以推斷出密文數據塊的中間值,我們便能通過操作IV的值來完全控制解密所得到的結果。例如,在前面的示例中,如果想要將密文中第一個數據塊解密為“TEST”這個值,您可以計算出它所需要的IV值,只要將目標明文與中間值進行異或操作即可。因此,只要您將字符串“TEST”(自然,還包括四個0x04字節作為填充)與中間值異或之后,便可以得到最終的IV,即0×6D,0×36,0×70,0×76,0×03,0×6E,0×22,0×39:

這種做法對于單個數據塊來說自然沒有問題,但如果我們想要用它來生成長度超過一個數據塊的值又該怎么辦呢?我們來看一個簡單通俗的實際案例。這次我們要生成一個加密的字符串“ENCRYPT TEST”而不僅僅是“TEST”。第一步,還是將文本分拆成數據塊,并補上必須的填充字節,如下圖:

在構造超過一個數據塊的值時,我們實際上是從最后一個數據塊開始,向前依次生成所需的密文。在這里,最后的數據塊與之前的相同,因此我們已經知道以下的IV和密文能夠生成字符串“TEST”:

Request: http://sampleapp/home.jsp?UID=6D367076036E2239F851D6CC68FC9537

接下來,我們需要弄明白中間值6D367076036E2239在作為密文,而不是IV傳遞至應用程序時會被如何解密。在這里只要使用與破解過程相同的技巧就行了,我們把它作為密文傳遞給應用程序,并從全部為NULL的IV開始進行暴力破解:

Request: http://sampleapp/home.jsp?UID=00000000000000006D367076036E2239

一旦我們通過暴力破解得到中間值之后,IV便可以用來生成我們想要的任意值。新的IV可以被放在前一個示例的前面,這樣便可以得到一個符合我們要求的,包含兩個數據塊的密文了。這個過程可以不斷重復,這樣便能生成任意長度的數據了。

使用PadBuster加密任意的值

(譯注:這段內容為PadBuster的使用指南,在此略過,如果您對這部分內容感興趣可以閱讀原文《Automated Padding Oracle Attacks with PadBuster》。)

責任編輯:佟健 來源: blog.zhaojie.me
相關推薦

2011-01-26 11:09:07

2009-11-19 11:23:08

Oracle重作日志

2010-08-20 14:58:26

CSSpadding

2012-12-26 13:00:55

2013-12-19 09:43:43

2012-11-15 14:48:42

2010-09-08 11:06:49

CSSpaddingmargin

2011-09-13 13:31:08

2010-04-02 16:03:20

Oracle數據庫

2010-04-20 15:16:02

Oracle實例

2010-08-23 14:51:37

IE6.0padding

2011-07-19 09:46:00

Oracle數據庫遞歸查詢

2011-08-18 14:25:26

OracleEXPLAIN PLA

2010-10-28 16:42:04

oracle多表查詢

2013-04-03 10:34:52

2011-05-19 13:25:14

Oracle數據庫

2011-03-15 10:09:11

2014-06-23 10:12:15

2017-02-09 13:23:46

2011-06-13 14:56:10

點贊
收藏

51CTO技術棧公眾號

精品国产乱码久久久久软件 | 国产精品亚洲视频在线观看| 摸摸摸bbb毛毛毛片| 91精品国产经典在线观看| 国产欧美日产一区| 成人在线看片| 亚洲av无码精品一区二区| 亚洲成人二区| 亚洲毛片在线看| 久久久久xxxx| 亚洲淫成人影院| 亚洲美女在线一区| 欧美重口乱码一区二区| www.色日本| 久久电影一区| 久久久久国色av免费观看性色| 亚洲中文字幕无码av| 伊人亚洲精品| 精品久久中文字幕久久av| 午夜精品亚洲一区二区三区嫩草| 草逼视频免费看| 免费成人av资源网| 欧美在线观看日本一区| 免看一级a毛片一片成人不卡| 欧美日韩中文一区二区| 亚洲精品videossex少妇| 久久久精品高清| 一区二区视频免费完整版观看| 亚洲午夜免费电影| 日本精品免费视频| 999国产在线视频| 99久久精品一区二区| 92看片淫黄大片看国产片| 中文在线第一页| 99国内精品| 国语自产精品视频在线看一大j8| 老熟妇高潮一区二区三区| 国产真实有声精品录音| 日韩禁在线播放| 水蜜桃av无码| 韩国精品福利一区二区三区| 日韩欧美中文一区| 成年人三级黄色片| 亚洲成人精品综合在线| 欧美色偷偷大香| 一区二区三区国产免费| 视频二区不卡| 色哟哟一区二区| 国产精品丝袜久久久久久消防器材| av网站免费在线观看| 国产精品的网站| 一本一道久久a久久综合精品 | 日韩资源在线观看| 午夜在线观看一区| 国产99精品| 精品爽片免费看久久| 99久久国产精| 国产精品亚洲二区| 亚洲天堂久久av| 在线免费观看视频| 欧美日韩国产高清电影| 在线观看视频99| 国产在线免费av| 欧美国产小视频| 久久手机精品视频| 久草免费在线视频观看| 亚洲二区精品| 欧美重口另类videos人妖| 好看的av在线| 日本成人超碰在线观看| 国产欧美日韩高清| 国产精品无码在线播放| 国产精品一区久久久久| 国产精品免费看一区二区三区| 亚洲国产剧情在线观看| 99久久精品免费精品国产| 久久婷婷开心| www.视频在线.com| 亚洲三级电影网站| www.男人天堂网| 韩日毛片在线观看| 91久久精品国产91性色tv| 亚洲免费av一区二区三区| 久久亚洲精品中文字幕| 日韩精品一区二区三区视频在线观看| av漫画在线观看| 精品国产美女| 欧美人与物videos| 99热在线观看免费精品| 毛片基地黄久久久久久天堂| 91精品国产一区二区三区动漫| 手机看片一区二区三区| 国产日韩欧美精品电影三级在线| 一区不卡字幕| h片在线观看视频免费| 精品久久久久久亚洲精品| 美女网站视频黄色| 爱高潮www亚洲精品| 国产午夜精品美女视频明星a级| 黄视频网站免费看| 国产情侣一区| 成人激情av在线| 十八禁一区二区三区| 国产精品全国免费观看高清| 青草网在线观看| 亚洲精品国产嫩草在线观看| 精品免费一区二区三区| 天天操天天干天天操天天干| 亚洲国产一区二区精品专区| 国产日韩欧美在线观看| 日本黄色不卡视频| 亚洲天堂福利av| 亚洲爆乳无码专区| 日韩区一区二| 色99之美女主播在线视频| 中文字幕一区二区三区精品| 国内精品自线一区二区三区视频| 久精品国产欧美| 欧洲性视频在线播放| 欧美日韩亚洲另类| 久久久无码人妻精品一区| 欧美日韩国产一区精品一区| 国产精品夜间视频香蕉| 欧美拍拍视频| 亚洲成人综合网站| 操人视频免费看| 99国产精品一区二区| 日本精品免费一区二区三区| 亚洲经典一区二区三区| 1区2区3区国产精品| 香蕉视频网站入口| 九九综合九九| 98精品在线视频| 韩国中文字幕hd久久精品| 亚洲视频在线一区观看| 国产精品久久a| 欧美人与牛zoz0性行为| 欧美又大粗又爽又黄大片视频| 成人小说亚洲一区二区三区| 亚洲精品视频在线| 亚洲欧美日韩一二三区| 国产精品久久久久久影院8一贰佰| 国产91热爆ts人妖在线| 男女污污视频在线观看| 高跟丝袜一区二区三区| 欧美大片免费播放器| 99国产精品久久久久久久成人热 | 国产成人免费看一级大黄| 国产精品污污网站在线观看 | 狠狠色2019综合网| 亚洲女人毛片| 狂野欧美性猛交xxxx| 日韩中文字幕在线播放| 国产麻豆精品一区| 亚洲精品免费在线| 国产大学生av| 99香蕉国产精品偷在线观看 | 国产精品久久久久久av福利| 国产一二三区在线视频| 欧洲在线/亚洲| 一本在线免费视频| 狠狠色狠狠色综合| 国产911在线观看| 亚洲一区二区三区在线免费| 欧美激情视频免费观看| 熟妇高潮一区二区高潮| 黑人精品xxx一区一二区| av在线网站观看| 蜜桃视频免费观看一区| 欧美另类videos| 精品久久对白| 国产91色在线|免| 日本蜜桃在线观看| 欧美一区二区三区性视频| 欧美丰满艳妇bbwbbw| 不卡的电视剧免费网站有什么| 少妇人妻在线视频| 高清国产mv在线观看| 国产美女视频一区二区三区| 日本一区二区三级电影在线观看| 亚洲欧美国产中文| 欧美在线网址| 日韩一级片在线观看| 精品无码黑人又粗又大又长| 9i在线看片成人免费| 免费男同深夜夜行网站 | 国产九色精品成人porny | xxx.xxx欧美| 国产午夜精品久久久| 在线观看中文字幕2021| 一区二区三区在线免费视频| 国产真实乱人偷精品| 视频在线观看国产精品| 成人在线观看www| 人人精品亚洲| 91色在线视频| 在线毛片观看| 美女精品久久久| 狠狠狠综合7777久夜色撩人| 日韩三级视频在线看| 999视频在线| 一区二区三区欧美日韩| 精品无码国产污污污免费网站 | 超碰97人人干| 国产中文一区二区三区| 日韩久久一级片| 欧美日韩国产成人精品| 婷婷四月色综合| 欧美变态网站| 91网站免费看| 成人va天堂| 91国产精品91| 日本天码aⅴ片在线电影网站| 日韩精品中文字幕在线| av天堂一区二区三区| 欧洲一区在线观看| 日本在线播放视频| 亚洲线精品一区二区三区八戒| 日韩欧美黄色网址| 久久久久久免费毛片精品| 日本少妇一级片| 国产在线视频不卡二| 天美星空大象mv在线观看视频| 亚洲视频久久| 最新中文字幕久久| 成人一区不卡| 欧美日韩高清在线一区| 成人在线视频中文字幕| 亚洲www视频| 看片一区二区| 国产精品爽黄69天堂a| 日韩伦理精品| 2021国产精品视频| h片精品在线观看| 久久成人亚洲精品| 五月天婷婷在线视频| 亚洲最新视频在线| 精品三级久久久久久久电影聊斋| 精品欧美久久久| 亚洲精品综合久久| 日韩欧美高清dvd碟片| 99热这里只有精品在线| 欧美美女直播网站| 伊人久久国产精品| 欧美性欧美巨大黑白大战| 亚洲男人天堂网址| 色偷偷一区二区三区| 日韩手机在线视频| 色八戒一区二区三区| 日韩精品成人免费观看视频| 欧美日韩一二三四五区| 国产精品美女久久久久av爽| 欧美日韩日本国产| 中文字幕免费观看| 在线观看一区二区视频| 黄色一级视频免费看| 色婷婷亚洲综合| 国产精品传媒在线观看| 欧美午夜精品理论片a级按摩| 中文字幕+乱码+中文| 欧美日韩视频在线第一区 | 捆绑调教一区二区三区| 性欧美1819| 国精产品一区一区三区mba视频 | 国产又爽又黄免费软件| 777午夜精品视频在线播放| 99热这里精品| 精品91自产拍在线观看一区| 色视频在线观看免费| 亚洲欧美日韩直播| 在线观看黄av| 九九九久久久久久| 国模精品视频| 国产精品小说在线| 日韩精品中文字幕吗一区二区| 国产私拍一区| 欧美日韩亚洲在线观看| 超碰10000| 99精品国产在热久久| jizz欧美激情18| 狠狠色综合播放一区二区| 91传媒理伦片在线观看| 久久色在线视频| 日韩欧美国产成人精品免费| 亚洲va韩国va欧美va精品| 中文字幕黄色片| 这里只有精品99re| 午夜视频在线播放| 最近2019免费中文字幕视频三| 91网在线看| 国产999精品视频| 国产美女亚洲精品7777| 久久艳妇乳肉豪妇荡乳av| 日韩1区在线| 国产日韩欧美精品在线观看| 日韩中文字幕不卡| 国产精品无码自拍| 国产三区在线成人av| 青娱乐国产盛宴| 欧美色爱综合网| 黄色片一区二区三区| 中文字幕成人在线| 波多野结依一区| 国产在线999| 亚洲裸色大胆大尺寸艺术写真| 中文字幕日韩精品一区二区| 一本久久综合| 久久艹这里只有精品| 国产日韩欧美亚洲| 日韩免费观看一区二区| 欧美高清视频一二三区| 免费在线观看污视频| 欧美激情xxxx| 四虎成人精品一区二区免费网站| 久久66热这里只有精品| 国产精品s色| 亚洲美女爱爱视频| 久久久欧美精品sm网站| 国产主播在线观看| 91精品国产综合久久久久久漫画 | 国产日韩欧美电影| 国产精品自拍视频一区| 制服丝袜av成人在线看| 国产黄色片在线观看| 69视频在线免费观看| 亚洲大奶少妇| 中文网丁香综合网| 三级影片在线观看欧美日韩一区二区 | 在线看的片片片免费| 91成人免费网站| 日本私人网站在线观看| 97久久超碰福利国产精品…| 中文无码日韩欧| 黄黄视频在线观看| 久久精品免费观看| 精品人妻中文无码av在线| 色美美综合视频| 日本一级在线观看| 青青青国产精品一区二区| 久久免费视频66| 黄色一级在线视频| www.66久久| 日韩福利片在线观看| 亚洲国产欧美一区二区丝袜黑人| 操你啦在线视频| 亚洲影院污污.| 中文在线日韩| 日本少妇一区二区三区| 亚洲另类色综合网站| 国内精品久久久久久久久久| 欧美成人激情图片网| 久久视频社区| www.亚洲成人网| 成人一区在线观看| 久久精品国产亚洲AV无码男同| 精品久久国产97色综合| 国产一线二线在线观看| 粉嫩av四季av绯色av第一区| 在线看片欧美| www.狠狠爱| 欧美色倩网站大全免费| 成人黄色在线电影| 成人欧美一区二区三区黑人免费| 国产主播精品| 国产精品无码在线| 欧美亚洲综合色| 精产国品自在线www| 99九九视频| 欧美资源在线| 99热99这里只有精品| 欧美一区二区三区免费视频| 狂野欧美性猛交xxxxx视频| 国内精品一区二区| 日韩精品福利网| 国产精品白丝喷水在线观看| 欧美成人激情免费网| 丝袜老师在线| 一区一区视频| 成人午夜在线视频| 最近免费中文字幕大全免费版视频| 亚洲人成网站色ww在线| 成人自拍视频| 你懂的av在线| 日韩美女视频一区| 五月色婷婷综合| 国产精品最新在线观看| 韩国亚洲精品| 你懂得视频在线观看| 欧美tk丨vk视频| 天天综合网站| 999一区二区三区| 中文字幕欧美日韩一区| 人人妻人人澡人人爽久久av| 国产精品高潮呻吟久久av黑人| 女生裸体视频一区二区三区| 国产精品揄拍100视频| 欧美高清www午色夜在线视频| 国产高清视频色在线www| 亚洲精品中文字幕乱码三区不卡| 成人性色生活片免费看爆迷你毛片|