2017-滴滴出行-安全崗筆試

1 下面對於 Cookie 的描述中錯誤的是?
A Cookie通過HTTP Headers從瀏覽器端發送到服務器端並存儲在服務器端
B Cookie的大小限制在4kb左右,對於複雜的存儲需求來說是不夠用的
C 如果在一臺計算機中安裝多個瀏覽器,每個瀏覽器都會以獨立的空間存放cookie
D 由於在HTTP請求中的Cookie是明文傳遞的,所以安全性成問題
參考答案:A
Cookie 保存於瀏覽器端,
HTTP明文傳輸數據的特性,使得攻擊者可從網路上抓包獲取Cookie。
解決方案:1、服務端使用HTTPS
2、指定cookie的secure屬性,該屬性使cookie只能在HTTPS請求中帶出。

2 現有某函數,其方法聲明爲:int func(int x)
該函數對應的ARM彙編代碼如下:
0000016A PUSH {LR}
0000016C MOVS R3, #1
0000016E ADDS R1, R3, #0
00000170 loc_170
00000170 CMP R0, #0
00000172 BLE loc_184
00000174 MOVS R2, R0
00000176 MULS R2, R3
00000178 ADDS R3, R2, #1
0000017A TST R0, R1
0000017C BEQ loc_180
0000017E ADDS R3, R2, #0
00000180 loc_180
00000180 SUBS R0, #1
00000182 B loc_170
00000184 loc_184
00000184 MOVS R0, R3
00000186 POP {PC}
從上面的彙編代碼可以得出func(3)的值等於
A 5 B 6 C 7 D 8 E 9 F 10
參考答案:C

3 安卓系統中所有App進程是下面的哪個進程fork產生的
A init
B system_server
C zygote
D kthreadd
參考答案:C

應用進程都是在Zygote進程中fork出來的,而Zygote進程是在init進程中,通過解析init.rc文件,啓動的。

Linux下有3個特殊的進程,idle進程(PID = 0), init進程(PID = 1)和kthreadd(PID = 2)

· idle進程由系統自動創建, 運行在內核態

idle 進程其 pid=0,其前身是系統創建的第一個進程,也是唯一一個沒有通過fork或者kernel_thread產生的進程。完成加載系統後,演變爲進程調度、交換

· init進程由idle通過kernel_thread創建,在內核空間完成初始化後, 加載init程序, 並最終用戶空間

由0進程創建,完成系統的初始化. 是系統中所有其它用戶進程的祖先進程
Linux中的所有進程都是有init進程創建並運行的。首先Linux內核啓動,然後在用戶空間中啓動init進程,再啓動其他系統進程。在系統啓動完成完成後,init將變爲守護進程監視系統其他進程。

· kthreadd進程由idle通過kernel_thread創建,並始終運行在內核空間, 負責所有內核線程的調度和管理

它的任務就是管理和調度其他內核線程 kernel_thread, 會循環執行一個 kthread 的函數,該函數的作用就是運行 kthread_create_list 全局鏈表中維護的 kthread, 當我們調用 kernel_thread 創建的內核線程會被加入到此鏈表中,因此所有的內核線程都是直接或者間接的以 kthreadd爲父進程

4 以下關於內存文件mmap映射的說法不正確的是
A 當文件被映射到進程地址空間後,進程可以像訪問普通內存一樣對文件進行訪問
B 子進程會繼承父進程通過mmap映射的地址空間
C 使用mmap必須指定映射到內存的具體文件
D 同一個文件的不同段內容可以分別被映射到不同的內存空間
參考答案:C

5 常見的網絡嗅探器,以下哪個不是?
A tcpdump
B wvs
C wireshark
D sniffit
參考答案:B

WVS 是一款漏洞掃描工具

6 以下算法不能用於文本加密的是
A RC4
B RSA
C MD5
D DES

參考答案:C
MD5 是消息摘要算法,不能用於加密使用

7 下列關於 Android 數字簽名描述錯誤的是:
A 所有的應用程序都必須有數字證書,Android系統不會安裝一個沒有數字證書的應用程序
B Android程序包使用的數字證書可以是自簽名的,不需要一個權威的數字證書機構簽名認證
C 數字證書都是有有效期的,Android只是在應用程序安裝的時候纔會檢查證書的有效期。如果程序已經安裝在系統中,即使證書過期也不會影響程序的正常功能。
D 如果要正式發佈一個Android程序,可以使用集成開發工具生成的調試證書來發布。

參考答案:D
http://blog.csdn.net/wzy_1988/article/details/50034711

8 現有Android應用內某函數,其方法聲明爲:private int func()
該函數對應的smali反彙編代碼如下:
.method private func()I
00000000 const-string v2, “Didichuxing”
00000004 const/4 v0, 0
00000006 const/4 v1, 0
00000008 invoke-virtual String->length()I, v2
0000000E move-result v3
00000010 if-ge v1, v3, :2E
00000014 const/16 v3, 0x0069
00000018 invoke-virtual String->charAt(I)C, v2, v1
0000001E move-result v4
00000020 if-ne v3, v4, :28
00000024 add-int/lit8 v0, v0, 0x01
00000028 add-int/lit8 v1, v1, 0x01
0000002C goto :8
0000002E return v0
.end method
從上面的smali反彙編代碼可以得出該方法的返回值等於
A 1 B 2 C 3 D 4 E 5
參考答案:C

9 凱撒(Caesar)密碼是一種基於字符替換的對稱式加密方法,它是通過對26個英文字母循環移位和替換來進行編碼的。設待加密的消息爲”Didi Family”,加密後的密文是”Nsns PkwsvI”,則採用的密匙k是
A 10 B 11 C 13 D 15
參考答案:A

i 對應 s,則爲 10

10 當一個HTTPS 站點的證書存在問題時,瀏覽器就會出現警告信息以提醒瀏覽者注意,下列描述中哪一條不是導致出現提示的必然原因?
A 證書過期
B 證書沒有被瀏覽器信任
C 證書的CN與實際站點不符
D 瀏覽器找不到對應的證書頒發機構
參考答案: D

11 攻擊者採用某種手段,使用戶訪問某網站時獲得一個其他網站的IP地址,從而將用戶的訪問引導到其他網站,這種攻擊手段稱爲?
A ARP欺騙攻擊
B DNS欺騙攻擊
C 暴力攻擊
D 重放攻擊
參考答案:B

12 下面關於 RSA 算法的描述,不正確的是?
A RSA是非對稱加密算法
B RSA的運行速度相比 AES 算法要慢很多
C RSA的安全性依賴於大數分解
D TLS/SSL協議中RSA的公鑰長度一般爲128位或256位
參考答案:D

非對稱加密算法的運行速度比對稱加密算法的速度慢很多,TLS/SSL 協議中 RSA 的公鑰長度一般爲 1024 或 2048 位
ECC 的安全性依賴於解決橢圓曲線離散對數問題的困難性

13 攻擊者截獲並記錄了從A到B的數據,然後又從早些時候所截獲的數據中提取出信息重新發往B稱爲
A 中間人攻擊
B 口令猜測器和字典攻擊
C 強力攻擊
D 重放攻擊
參考答案:D

14 以下哪一項不是針對操作體統的安全保護措施?
A SELINUX B nProtect C DEP D ASLR
參考答案:B

nProtect 是一款遊戲反作弊的軟件

15 以下哪個算法不是對稱加密算法
A DES B RC5 C ECDH D AES
參考答案:C

16 文件aaa的訪問權限爲rw-r–r–,現要增加所有用戶的執行權限和同組用戶的寫權限,下列哪些命令是正確的?
A chmod a+x g+w aaa B chmod 764 aaa C chmod o+x g+w aaa D chmod 775 aaa
參考答案:A D

17 文件aaa的內容如下:
1001:1
1002:2
1003:1
1004:2
期望處理aaa文件得到以下輸入結果:
1001
1003
以下命令能滿足的有
A grep "1$" aaa | awk -d: '{print $1}'
B grep "1$" aaa | cut -d: -f0
C sed '/:2/d' aaa | sed 's/:1//g'
D awk -F: '{if ($2==1){print $1}}' aaa
參考答案:C D

18 下列關於SSL的描述中,正確的有
A SSL即安全套接字層,是一種安全協議,它爲網絡的通信提供私密性,工作在應用層和傳輸層之間。
B SSL能加密數據以防止數據中途被竊取,維護數據的完整性,確保數據在傳輸過程中不被改變。
C SSL實際上是共同工作的兩個協議,SSL記錄協議和SSL握手協議。
D SSL握手協議爲高層協議提供基本的安全服務。
參考答案:A B C

SSL協議可分爲兩層:
SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,爲高層協議提供數據封裝、壓縮、加密等基本功能的支持。
SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密算法、交換加密密鑰等。

19 以下說法中,哪些說法是正確的
A 緩衝區溢出指的是通過向程序的緩衝區寫入超出其長度的內容,造成緩衝區的溢出,從而破壞程序的堆棧,使程序轉而執行其他的指令,以達到攻擊的目的。
B 在C/C++語言中,緩衝區溢出的任何嘗試通常都會被語言本身自動檢測並阻止。
C 檢查緩衝區長度、GS編譯選項、堆棧保護可以防禦溢出攻擊
D 溢出是程序設計者設計時的不足所帶來的錯誤。
參考答案:A C D

20 以下哪種加密方案是相對最安全的?
A RSA加密算法,密鑰長度512位
B AES加密算法,選擇ECB模式,密鑰長度128位
C AES加密算法,選擇CBC模式,密鑰長度128位
D DES算法
參考答案:C

分組密碼工作模式中 CBC 模式比 ECB 模式安全
image_1bqfi3g35ejtlc61ego1p249mo9.png-38kB
128 位的 AES 加密強度與 3072 位的 RSA 等同
https://www.cryptopp.com/wiki/Security_Level

21 Linux系統下,關於權限描述正確的是:
A 文件權限描述”-rwxrw-r-x”對應權限值爲754
B 文件權限描述”drw-rw-rw-“中的首字符’d’表示該文件爲軟鏈接文件
C 文件權限值爲723,表示其他用戶可以執行該文件
D 文件權限值744,表示除了文件所有者外其他用戶不可執行
參考答案: C D

D是目錄,L是鏈接文件,B是塊設備

22 同一進程下的線程可以共享以下?
A stack B data section C register set D file fd
參考答案:B D

線程共享的內容包括:
進程代碼段、進程的公有數據(利用這些共享的數據,線程很容易的實現相互之間的通訊)、進程打開的文件描述符、信號的處理器、進程的當前目錄和進程用戶ID與進程組ID
線程獨有的內容包括:
線程ID、寄存器組的值、線程的堆棧、錯誤返回碼、線程的信號屏蔽碼

23 下列哪部分代碼片段如果使用不當會導致安全漏洞?
A

<?php ... $sql = "select * from admin where id=".$_GET['id']; $result = mysql_query($sql); ... 

B

<?php $username = $_GET['name']; echo htmlspecialchars($username); ... 

C

<?php ... $file = $_GET['file']; echo file_get_contents($file); ... 

D

<?php $string = $_GET['text']; $pattern = '/(\w+) (\d+), (\d+)/ie'; $replacement = '${1}1,$3'; echo preg_replace($pattern, $replacement, $string); ?>

參考答案:A C D

24 文件完整性校驗所使用的加密算法有哪些
A md5 B sha1 C des D rsa
參考答案:A B

25 瀏覽器和服務器在基於 HTTPS 進行請求鏈接到數據傳輸過程中,用到了如下哪些技術:
A 非對稱加密技術 B 對稱加密技術 C 散列(哈希)算法 D 數字證書
參考答案:A B C D

一次完全 TLS 握手,密鑰交換時的非對稱解密計算量佔整個握手過程的 90% 以上。而對稱加密的計算量只相當於非對稱加密的 0.1%,如果應用層數據也使用非對稱加解密,性能開銷太大。
而且非對稱加密算法對加密內容的長度有限制,不能超過公鑰長度。比如現在常用的公鑰長度是 2048 位,意味着待加密內容不能超過 256 個字節。
所以公鑰加密/非對稱加密目前用來作’密鑰交換’,而不適合用來做應用層傳輸內容的加解密。
非對稱密鑰交換算法是整個 HTTPS 得以安全的基石,傳輸內容的加密保證是由對稱加密算法保證的,

對於消息認證會使用密鑰散列法:TLS 使用“消息認證代碼的密鑰散列法”(HMAC),當記錄在開放的網絡(如因特網)上傳送時,該代碼確保記錄不會被變更。SSLv3.0還提供鍵控消息認證,但HMAC比SSLv3.0使用的(消息認證代碼)MAC 功能更安全。

26 下列哪些函數可能導致緩衝區溢出?
A wcscpy B vsprintf C scanf D strcat_s
參考答案: A B C

27 iOS平臺上常見的Hook框架有:
A Xposed B Intent Fuzz C Drozer D Substrate
參考答案:D

Xposed 是 Android 中 Hook 框架
Intent fuzz測試工具是 intentFuzzer
Drozer 是安全測試框架
ADB 是 Android debug工具

28 黑客通過以下哪種攻擊方式,可能大批量獲取網站註冊用戶的身份信息
A XSS B CSRF C 越權 D 以上都不可以
參考答案:A B C

29 使用以下哪些工具可以直接調試安卓app代碼邏輯?
A baksmali B ddms C IDA D gdb
參考答案: C D

baksmali 是 apk 反編譯工具,DDMS 是 Dalvik 調試監控服務

30 Android 應用中導致HTTPS中間人攻擊的原因有?
A 沒有對SSL證書校驗 B 沒有對主機名進行校驗 C SSL證書被泄露 D 使用WIFI連接網絡
參考答案:A B C

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章