欧美乱码精品一区二区三区,风流少妇又紧又爽又丰满,被债主在夫面前人妻被强,国产精品视频永久免费观看

?
內(nèi)容中心
按關(guān)鍵字查找
數(shù)據(jù)庫安全漏洞淺析之緩沖區(qū)溢出漏洞(3)
作者:安華金和 發(fā)布時間:2017-01-26

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

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

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

20170126-1.png 

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

輸入43個w

20170126-2.png

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

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

20170126-3.png

12FB6C正好被結(jié)束符null覆蓋掉從1改成0,最終跳轉(zhuǎn)到密碼驗(yàn)證通過的支路。

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

 


?
娄烦县| 建阳市| 额敏县| 思茅市| 石林| 鸡西市| 高密市| 海口市| 都匀市| 成都市| 洪泽县| 宁强县| 莒南县| 长汀县| 普定县| 北安市| 富民县| 山西省| 烟台市| 大英县| 宣化县| 界首市| 石狮市| 拜泉县| 集贤县| 达拉特旗| 通山县| 井研县| 恩施市| 南部县| 汕头市| 滁州市| 新巴尔虎左旗| 临城县| 边坝县| 醴陵市| 阳原县| 固原市| 洪雅县| 望江县| 白河县|