久久天天躁狠狠躁夜夜av,国产脚交足免费视频,亚洲小说乱欧美另类,五月天国产亚洲av麻豆

918搏天堂

?
產品咨詢:4000 258 365 | 申請產品演示 | 渠道合作 | English
內容中心
按關鍵字查找
數(shù)據(jù)庫安全漏洞淺析之緩沖區(qū)溢出漏洞(3)
作者:918搏天堂 發(fā)布時間:2017-01-26

前文中,我們對于棧溢出的原理進行了實例還原,本文將開始介紹黑客如何利用漏洞進行數(shù)據(jù)庫攻擊,這里需要大家先對前文進行回顧——“數(shù)據(jù)庫安全漏洞淺析之緩沖區(qū)溢出漏洞(2)”,在此實例基礎上,我們將從2種角度講解棧溢漏洞的攻擊方式:

1改變程序邏輯, 2.直接劫持程序運行攻擊者的攻擊代碼。

如何通過改變程序邏輯,繞過一些判斷使得某些限制無效,最終達到上面的例子中假如liusicheng這個預設的密碼是某銀行的密碼,通過密碼檢查后可以獲取該密碼保護的敏感信息。那么攻擊者要想通過密碼檢查,要么輸入正確的密碼,要么就需要改變程序流程(輸入錯的密碼但是還能走回對的分支)。為了達到這個目的,我們尋找下choose的地址(re_choose的返回值),看re_choose的圖發(fā)現(xiàn)局部變量空間是0x30也就是48個字節(jié)。在低地址的應該就是用于溢出的buffer在最靠近棧底的4個字節(jié)的應該是result的地址,也就是choose取值的地址。result的地址是0012FB6C(由于input輸入的是qwe所以返回值是1)值是1,此時密碼驗證過不去?吹偷刂返0012F840這個就是字符串buffer。buffer會拷入輸入的input值。buffer里面存儲的就是657771(win是小端字節(jié)序所以全是反的也就是qwe)。到這里,如果想讓密碼驗證通過,就需要修改0012FB6C的值。除了輸入正確的密碼外,還可以嘗試輸入過長的input,讓input向buffer拷數(shù)據(jù)的時候造成Buffer緩沖區(qū)溢出,用溢出的值覆蓋掉在0012FB6C的值,把值修改成希望的0(0就表示通過密碼驗證了)。

20170126-1.png 

buffer占44個字節(jié)也就是input需要至少輸入44個字節(jié)來占滿buffer,然后再輸入的字節(jié)將會覆蓋result。修改choose的值,進而改變程序流程。由于這是字符串最后會有一位null所以咱們輸入44個w來占滿buffer把null擠到result中覆蓋原來的1.

輸入43個w

20170126-2.png

沒有緩沖區(qū)溢出12FB6C未被修改

輸入44個w達到緩沖區(qū)溢出

20170126-3.png

12FB6C正好被結束符null覆蓋掉從1改成0,最終跳轉到密碼驗證通過的支路。

至此,基于棧溢出漏洞的原理,黑客可以通過改編程序邏輯的方法,完成了繞過密碼檢驗的全部步驟,從而獲取了數(shù)據(jù)庫高權限賬戶。在過往的數(shù)據(jù)庫安全事件中,此類漏洞攻擊方式屢見不鮮,這是緩沖區(qū)溢出漏洞的最基本用法,也是黑客們的慣用手法。

 


?
918搏天堂 ©2021 版權所有 京ICP備10053980號-1