試題一:閱讀下列說明,回答問題 1 至問題 4 ,將解答寫在答題紙的對 應欄內。
【說明】
基于 Windows32 位系統(tǒng)分析下列代碼,回答相關問題 。
void Challenge(char *str)
{
char temp[9]={0};
strncpy(temp,str,8);
printf("temp=%s\n",temp);
if(strcmp(temp"Please!@")==0){
printf("KEY: ****");
}
}
int main(int argc,char *argv[ ])
{
Char buf2[16]
Int check=1;
Char buf[8]
Strcpy (buf2, "give me key! !");
strcpy(buf,argv[1]);
if(check==65) {
Challenge(buf);
}
else {
printf("Check is not 65 (%d) \n Program terminated!!\n",check);
}
Return 0;
}
【問題 1】(3 分)
main 函數(shù)內的三個本地變量所在的內存區(qū)域稱為什么?它的兩個最基本操作是什么?
【問題 2】(3分)
畫出buf,check,buf2 三個變量在內存的布局圖。
【問題 3】(2分)
應該給程序提供什么樣的命令行參數(shù)值(通過argv變量傳遞)才能使程序執(zhí)行流程進入判斷語句 If(check=65)....然后調用challenge( )函數(shù)。
【問題4】(4分)
上述代碼所存在的漏洞名字是什么,針對本例代碼,請簡要說明如何修正上述代碼以修補次漏洞。
查看答案
參考答案:
參考解析:m.xiexiliangjiufa.com/st/327636549.html
信管網(wǎng)考友試題答案分享:
信管網(wǎng)北京市電信考友:
1、緩存區(qū),出棧和入棧
2、buf 8,2格
check 65
buf2 16
3、argv=65
4、緩存溢出
信管網(wǎng)jackdong:
1、堆棧,push(壓棧)或者pop(彈棧)操作。
2、buf8字節(jié) check4字節(jié) buf2 16字節(jié)。
3、覆蓋超過buf數(shù)組個字節(jié),也就是輸入?yún)?shù),例如:********a,注意大小端。前面8個任意的非零字符都可以,后跟一個大寫a字符,因為a字符的ascⅱ碼值等于65。
4、緩存溢出或者棧溢出 對輸入?yún)?shù)的長度進行檢查。
信管網(wǎng)jackdong:
1、堆棧,push(壓棧)或者pop(彈棧)操作。
2、buf8字節(jié) check4字節(jié) buf2 16字節(jié)。
3、覆蓋超過buf數(shù)組個字節(jié),也就是輸入?yún)?shù),例如:********a,注意大小端。前面8個任意的非零字符都可以,后跟一個大寫a字符,因為a字符的ascⅱ碼值等于65。
4、緩存溢出或者棧溢出 對輸入?yún)?shù)的長度進行檢查。
信管網(wǎng)chenyuntao:
問題1:堆棧。入棧和出棧。<br>問題2:從低地址到高地址,buf占兩行,check占1行,buf2占4行。<br>問題3:輸入的字符串長度大于8個,且第9個字符為大寫字母a。<br>問題4:緩沖區(qū)溢出漏洞。加入檢查輸入字符串長度的代碼,使其不超過8個,可以修補此漏洞。
信管網(wǎng)cnitpm28151895373:
1.堆棧,push和pop<br>2. buff2<br> check<br> buf<br>3前8個字符為任意值,第九個字符為阿斯克碼為65值的字符即為a。<br>4.緩沖區(qū)溢出<br>使用授權的工具開發(fā)正確的程序。禁用不安全的函數(shù),使用輸入驗證。靜態(tài)分析驗證指針的完整性
試題二:閱讀下列說明,回答問題 1 至問題 5,將解答寫在答題紙的對 應欄內。
【說明】
DES 是一種分組密碼,己知 DES 加密算法的某個 S 盒如表 4-1 所示。
【問題1】 (4分)
請補全該 S 盒,填補其中的空(1) - (4),將解答寫在答題紙的對應欄內。
【問題 2】 (2分)
如果該 S 盒的輸入為 110011,請計算其二進制輸出。
【問題3】(6分)
DES加密的初始置換表如下:
置換時,從左上角的第一個元素開始,表示輸入的明文的第58位置換成輸出的第1位,輸入明文的第50位置換成輸出的第2位,從左至右,從上往下,依次類推。
DES加密時,對輸入的64位明文首先進行初始置換操作。
若置換輸入的明文M=0123456789ABCDEF(16進制),請計算其輸出(16進制表示)。
【問題4】(2分)
如果有簡化的DES版本,其明文輸入為8比特,初始置換表IP如下:
IP:2 6 3 1 4 8 5 7
請給出其逆初始置換表。
【問題5】(2分)
DES加密算法存在一些弱點和不足,主要有密鑰太短和存在弱密鑰。請問,弱密鑰的定義是什么?
查看答案
參考答案:
參考解析:m.xiexiliangjiufa.com/st/3276125797.html
信管網(wǎng)考友試題答案分享:
信管網(wǎng)cnitpm177319310:
問題1 (1)10 (2)6 (3)1 (4)11
問題2 0100
問題5 弱密鑰,密鑰太短,并且可能存在密鑰相同,
信管網(wǎng)cnitpm50331607771:
一、10 6 1 11
二、0100
三、
四
4 1 3 5 7 2 8 6
五、弱密鑰分成兩個部分 全1或者全0,這樣的每次加密的密鑰都相同
對初始秘鑰k ,若通過密鑰生成算法生成的圈(子)密鑰都相同,則成k為弱密鑰
半弱密鑰,有些種子密鑰只能生成兩個不同的子密鑰,這種種子密鑰稱為半弱密鑰,半弱密鑰會將明文加密成相同的密文,
信管網(wǎng)cnitpm50331607771:
一、10 6 1 11
二、0100
三、
四
4 1 3 5 7 2 8 6
五、弱密鑰分成兩個部分 全1或者全0,這樣的密鑰加密的結果都相同
信管網(wǎng)jackdong:
1、10 6 1 11
2、0100
3、cc00ccfff0aaf0aa
4、41357286
5、
信管網(wǎng)cnitpm28151895373:
1.10,6,1,11<br>2.0100<br>3.m=0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111<br> ip=1100 1100 0000 0000 1100 1100 1111 1111 1111 <br>0000 1010 1010 1111 0000 1010 1010<br> =cc00ccfff0aaf0aa<br>4.-ip=41357286<br>5.存在一個密鑰k,由這個密鑰k所產(chǎn)生的子密鑰相同,就稱這個密鑰是弱密鑰。
溫馨提示:因考試政策、內容不斷變化與調整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |