返回

2021年百度公司安全開發工程師面試

第1題:


請解釋下常見利用內存斷點調試的原理?



內存斷點通過將目標地址所在頁屬性改為PAGE_NOACCESS,當你嘗試執行到目標地址時就會產生異常,調試器就會中斷下來或者將目標地址內存改為0xCC (INT 3)指令,當執行到該地址時候會產生一個中斷,調試器就會暫停下來。


第2題:


對于Edit控件,你如何抓防止密碼框內容被抓???



在處理消息事件的時候,對WM_GETTEXT和EM_GETLINE事件進行過濾


第3題:


DNS欺騙的方式有哪些?



hosts文件篡改, 本機DNS服務器IP地址篡改,DNS通訊包篡改。


第4題:


列舉兩種應用層中簡單的跨進程DLL注入的方法。



1、CreateRemoteThread + LoadLibraryA/W
2、SetWindowsHook/SetWindowsHookEx
3、QueueUserAPC + LoadLibraryA


第5題:


以下是一段匯編代碼,請用C語言實現相同功能。 ?

1 ?.data

2 ?SourceStringdb?"Hello, World!",0

3 ?.code

4 ?start:

5 ?cld

6 ?xoreax, eax

7 ?movedi, offset SourceString

8 ?mov al,?'d'

9 ?movecx,?13

10 repnescas

11 jz wow

12 invokeExitProcess,?0

13 wow:

14 invokeExitProcess,?1

15 end start


解析:這段代碼是在固定字符串里面搜索字符 ‘d’

用C語言實現 ?

if (strstr (“Hello, World!”, “d”) != NULL))

????exitProcess(1);

exitProcess (0);

? ?



第6題:


假設有如下所示的一個數字金字塔,現在,要求寫一個程序來查找從頂點到底部任意處結束的路徑,使路徑經過的數字的和最大,并輸出該路徑的最大和。比如以下金字塔的和最大路徑的和為7+3+8+7+5=30。

7

3 2
8 1 0
2 7 4 4
4 5 2 6 5




#include

#include

?

int a[500500] = {0};

int dp[500500] = {0};

?

int main(){

????freopen("numtri.in","r",stdin);

????int row_num =?0;

????scanf("%d", &row_num);

????int elem_num = row_num * (row_num +?1) /?2;?// 數字金字塔中的元素個數

????for(int i =?0;i

????????scanf("%d",&a[i]);

????}

????for(int i=0; i

????????dp[elem_num-1-i]=a[elem_num-1-i];

????}

????int n;

????for(int i=row_num-2; i>=0; i--){

????????n = i * (i +?1) /?2;

????????for(int j=0; j<=i; j++) {

????????????dp[n+j] = a[n+j] + std::max(dp[n+j+i+1], dp[n+j+i+2]);

????????}

????}

?

????freopen("numtri.out","w",stdout);

????printf("%d\n",dp[0]);

????return 0;

}



第7題:


假設有如下字符串: (234453)[234]{2324} 現在,要求編程分析其括號配對是否正確。請自行選擇下列兩種方案之一實現該程序:
方案一:不考慮括號優先級,只考慮配對正確性;方案二:考慮括號優先級,比如{1[2(3)4]5} 是正確的。但是[1{2}3]是不正確的。?



方案一:
使用棧,碰到左括號入棧,碰到右括號出棧,看最后棧是否空,是否還有未匹配完的右括號。
方案二:
思路同上,但是檢查壓棧時要對括號做優先級檢查。


第8題:


百度是一個大型網站,內部含有多個產品線,比如廣為人知的貼吧、知道、空間等應用。然而設計這些應用的統一登錄平臺卻是一件非常艱巨的挑戰。需要考慮到通用性和安全性。
1) 對于一個Web應用程序,主要的身份驗證和憑證保持的方法主要有cookie和session兩種。他們又是如何起作用的?各有哪些優缺點?
2) 影響到cookie值作用范圍的因素有哪些?請一一說明。
3) 從安全角度來考慮,一個大型網站的單點登錄可能會引入哪些安全問題?如何設計安全的在線單點登錄系統??



具體來說cookie機制采用的是在客戶端保持狀態的方案,而session機制采用的是在服務器端保持狀態的方案。 ?默認時,網站的所有 Cookies 都一起被存儲在客戶端,并且所有 Cookies 連同網站的任何請求一起被發送到服務器。換句話說,網站中的每個頁面都能夠為網站獲取所有的 Cookies。但是,你能夠通過兩個方式來設置 Cookies 的作用范圍: ?????? 把 Cookies 的作用范圍限制到服務器的目錄,從而允許你把 Cookies 限制到網站的某個應用程序。 設置域的作用范圍,能夠允許你指定域中的哪些子域能夠訪問 Cookie。 把 Cookies 限制到目錄或應用程序 要把 Cookies 限制到服務器的目錄,請設置 Cookie 的 Path 屬性

1.超時問題;

2.jsessionid問題;

3.單點退出時有時子系統未能正常退出;

4.有些請求路徑不需要單點登錄過濾器攔截;

5.不同應用服務實現可能要求SSO客戶端做適應性改造。



相關知識

免费 无码 国产在线观看观-亚洲精品乱码久久久久-久久精品无码一区二区国产-国产欧美一区二区精品久久久