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

?
內(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ū)溢出漏洞的最基本用法,也是黑客們的慣用手法。

 


?
寿阳县| 高青县| 灵武市| 莲花县| 耒阳市| 芜湖县| 常山县| 怀来县| 英德市| 浦县| 龙江县| 麦盖提县| 汝阳县| 嘉义县| 阿坝县| 克什克腾旗| 巴彦县| 乐都县| 九江市| 新津县| 蒙自县| 和平区| 芜湖市| 古交市| 绥中县| 夏津县| 芒康县| 玉林市| 龙泉市| 铜山县| 泰州市| 南和县| 邯郸县| 瑞丽市| 晋江市| 高邑县| 牟定县| 锡林郭勒盟| 丘北县| 宁夏| 邵阳市|