信息收集與系統(tǒng)攻擊之其他類型的溢出
2018-03-26 21:00:27 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)
5)其他類型的溢出
溢出攻擊是一種是非常復(fù)雜的攻擊,除了緩沖區(qū)溢出,還有很多其他類型的溢出。例女口整數(shù)溢出、格式化字符串漏洞等。
整數(shù)溢出:計(jì)算機(jī)中整數(shù)都有一個(gè)寬度(例如Win7下VC6編譯器中int類型為32位),當(dāng)試圖保存一個(gè)比它可以表示的最大值還大的數(shù)時(shí),就會(huì)發(fā)生整數(shù)溢出。整數(shù)溢出將導(dǎo)致“不確定性行為”。比如完全忽略該溢出或終止進(jìn)程。大多數(shù)編譯器都會(huì)忽略這種溢出,這可禽旨會(huì)導(dǎo)致不確定或錯(cuò)誤的值保存在了整數(shù)變量中。
格式化字符串:格式化字符串漏洞同其他許多安全漏洞一樣是由于程序員的疏忽大意造成的。例如程序員正在編寫代碼,他的任務(wù)是:打印輸出一個(gè)字符串或者把這個(gè)串拷貝到某緩沖區(qū)內(nèi)。為了節(jié)約時(shí)間和提高效率,他可能將代碼:printf(”%s”,str);省略為printf(str):。系統(tǒng)在編譯時(shí)自動(dòng)指定格式,而如果攻擊者傳人的參數(shù)包含特殊的格式字符比如”%d”,函數(shù)會(huì)認(rèn)為這是一個(gè)格式化字符,從而按照這個(gè)格式化字符要求來打印輸出。這使得攻擊者可以查看特定的內(nèi)存地址數(shù)據(jù)并利用特定格式化字符向內(nèi)存中寫入任意值,從而控制程序的執(zhí)行。
標(biāo)簽:
溢出攻擊