成人免费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

2009-09-24 18:16:40

2018-12-19 08:52:55

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

2019-03-26 09:11:32

無文件惡意軟件

2019-04-10 10:03:52

2022-03-10 12:17:02

植入LaserShark無接觸

2024-12-19 15:13:26

2025-03-07 12:18:07

2025-03-06 16:38:19

2011-02-28 09:34:55

2021-09-22 10:05:58

OpenOffice漏洞代碼

2025-02-14 23:13:14

2011-11-15 16:00:42

2018-01-20 22:01:11

2010-10-09 14:45:48

2022-05-07 08:27:42

緩沖區溢出堆棧

2020-05-21 09:14:36

無代碼代碼開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产精品激情在线播放 | 久久久精品综合 | 天堂资源最新在线 | 日本免费一区二区三区四区 | 成人在线视频免费看 | 成人福利网站 | 超碰av在线 | 操皮视频 | 盗摄精品av一区二区三区 | 伊人久久一区二区 | 黄色在线免费观看 | 日韩精品区 | 自拍第一页| 久久激情视频 | 国产精品99久久久久久动医院 | 中文字幕在线不卡播放 | 91人人看| 国产精品99久久久久久www | 国产精品不卡一区二区三区 | 五月婷婷激情网 | 国产美女视频 | 国产96色在线 | 日美女逼逼| 国产成人高清在线观看 | 久久免费精品视频 | 伊人超碰 | 欧美一级欧美三级在线观看 | 日韩中文字幕免费在线 | 成人一区二区三区在线观看 | 中文字幕av一区 | 欧美精品福利 | 亚洲一区二区黄 | 不卡视频一区二区三区 | 日韩无| 中文字幕精品一区二区三区精品 | 亚洲免费精品一区 | 热久久免费视频 | 久久国产精品一区二区三区 | 欧美 日本 国产 | 韩国av一区二区 | 国产一级片在线观看视频 |