成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

無代碼執行溢出攻擊

安全 黑客攻防
對于溢出攻擊來說,有時除了運行溢出代碼以外,我還發現了其它一些利用溢出方式,而且并不是所有的溢出都會彈出異常。某些溢出不允許攻擊者獲得控制權,但是肯能允許他們讀取或操縱額外數據。

對于溢出攻擊來說,有時除了運行溢出代碼以外,我還發現了其它一些利用溢出方式,而且并不是所有的溢出都會彈出異常。某些溢出不允許攻擊者獲得控制權,但是肯能允許他們讀取或操縱額外數據。例如,Logon.exe,這是一個允許管理員登錄某個服務的工具。由于登錄的密碼每次都是隨機產生的,很難猜測得到。如果不知道密碼,要想登錄服務就需要查看內存(我假設這是沒有限制的)或使用某些狡猾的計策。讓我們看看Logon.exe是如何工作的。

C:\Documents and Settings\Czy>Logon.exe

USAGE: Logon.exe <username> <password>

試試輸入偽造的參數:

C:\Documents and Settings\Czy>Logon.exe spy W7g6351a

Access Denied.

再試試輸入長字符串:

有點奇怪,當全部為字母a時,服務允許你登錄。再檢查一下,看看這種情況是否還會發生:

使用同一個用戶名、不同的密碼,登錄仍然有效!只要你指定了一個長密碼,無論這個密碼是否正確,程序都允許你登錄,這樣看來,你必須不把這種行為作為一個漏洞進行匯報。讓我們看看為什么會發生這樣的事。

Logon.exe中的類是如下定義的:

www.2cto.com

#define CREDENTIAL_LENGTH 64

class Login {

public:

Login();

void ClearCreds();

bool IsLoggedIn();

bool TryCreds(char *Username, char *Password);

virtual ~Login();

private:

char UserName[CREDENTIAL_LENGTH];

char PassPhrase[CREDENTIAL_LENGTH];

char CorrectPassPhrase[CREDENTIAL_LENGTH];

char Buffer[521];

};

這個類的定義中有幾個非常有趣的地方:PassPhrase和CorrectPassPhrase是順序存儲在內存中的。查看一下用于檢查密碼是否正確的代碼:

bool Password::IsLoggedIn()

{

return(0==memcmp(passPhrase,CorrectPassPhrase,CREDENTIAL_LENGTH));

}

看起來一切正常。再來看看調用者。

bool Login::TryCreds(char *User, char *Password)

{

FillMemory(UserName,CREDENTIAL_LENGTH,0x00);

strcpy(UserName,User);

FillMemory(PassPhrase,CREDENTIAL_LENGTH,0x00);

strcpy(PassPhrase,Password);

retrun IsLoggedIn();

}

注意到了嗎?strcpy(PassPhrase,Password);這行代碼看起來很可疑。如果PassPhrase[]緩沖區溢出會怎樣呢?由于CorrectPassPhra[]緩沖區在內存中的位置剛好在PassPhrase[]緩沖區的后面,很顯然,溢出的數據會覆蓋CorrectPassPhra[]緩沖區。如果Password的字節長度為2*CREDENTIAL_LENGTH,而且該密碼的前半部分和后半部分完全一樣,那么不管CorrectPassPhrase的真實數值是多少,函數IsLoggedIn返回的值都是true。

修補這個漏洞非常容易:只要檢查一下輸入的長度,如果過長,返回false就可以了。

bool Login::TryCreds(char *User, char *Password)

{

if ((strlen(User) < CREDENTIAL_LENGTH) &&

(STRLEN(pASSWORD) < CREDENTIAL_LENGTH)

{

FillMemory(UserName,CREDENTIAL_LENGTH,0x00);

strcpy(UserName,User);

FillMemory(PassPhrase,CREDENTIAL_LENGTH,0x00);

strcpy(PassPhrase,Password);

retrun IsLoggedIn();

}

else

{

retrun false;

}

}

尾聲:

測試一下修訂后的版本,你可以發現這個演示中的漏洞已經得到了修補。如果你經過仔細研究,其實它并不難。

責任編輯:藍雨淚 來源: 紅黑聯盟
相關推薦

2009-09-24 18:29:12

2013-06-28 13:35:37

2022-02-22 09:33:38

LIFO數據結構

2014-07-30 11:21:46

2018-12-19 08:52:55

無文件攻擊信息安全惡意代碼

2009-09-24 18:16:40

2019-03-26 09:11:32

無文件惡意軟件

2022-03-10 12:17:02

植入LaserShark無接觸

2019-04-10 10:03:52

2024-12-19 15:13:26

2025-03-07 12:18:07

2025-03-06 16:38:19

2011-02-28 09:34:55

2018-01-20 22:01:11

2021-09-22 10:05:58

OpenOffice漏洞代碼

2025-02-14 23:13:14

2011-11-15 16:00:42

2022-05-07 08:27:42

緩沖區溢出堆棧

2010-10-09 14:45:48

2020-05-21 09:14:36

無代碼代碼開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品性做久久久久久 | 中国美女av| 免费在线观看av片 | 欧美极品视频 | 日韩欧美在线视频观看 | 国产精品久久 | 亚洲国产一区视频 | 亚洲欧洲日本国产 | 自拍偷拍第一页 | 欧美性乱 | 日日射影院 | 久久精品久久久 | 激情欧美一区二区三区中文字幕 | 一区二区三区四区国产 | 日本免费网 | 在线国产小视频 | 亚洲成人观看 | 国产精品毛片一区二区在线看 | 国产精品成人免费 | 热99精品视频 | 日韩精品极品视频在线观看免费 | 岛国av在线免费观看 | 麻豆精品久久久 | 久久久精品一区 | 99精品视频在线观看 | 一区网站 | 亚洲综合色视频在线观看 | 久久久精品国产 | 亚洲综合五月天婷婷 | 久久一级大片 | 日韩精品免费看 | 一区二区三区网站 | 亚洲欧洲精品一区 | 毛片一区二区 | 一区视频| 久久久久久91香蕉国产 | 日本三级电影在线看 | 亚洲精品国产成人 | 欧美日韩在线观看视频网站 | 99久久免费精品视频 | 日韩在线 |