某廠2016實習招聘安全技術試題答案及解析


0×00 前言

鑒於曾經做過某廠招聘-安全技術筆試題目,故留此一記,以作懷念。

此外,網上也有公布的相關的答案,但是其中有些題目稍有錯誤或者解釋不全,當然我也有可能解釋有誤,希望大家多多在評論區中指出,所以趁機寫上一記。

0×01 開始

2016年4月2日晚上7:00到9:00,某廠2016實習招聘-安全技術的筆試題確實考到很多基礎知識。該筆試題有兩部分。第一部分是30道不定項選擇題、10道簡答題和5道判斷題,題量是45,限時80分鍾。第二部分是2道分析題,限時40分鍾。有下面統一給出答案和為每一題做出解釋。

0×02 不定項選擇題-30

1 應用程序開發過程中,下面那些開發習慣可能導致安全漏洞?()

A  在程序代碼中打印日志輸出敏感信息方便調式

 

B 在使用數組前判斷是否越界

 

C 在生成隨機數前使用當前時間設置隨機數種子

 

D 設置配置文件權限為rw-rw-rw-

答案:AD

解釋:

A 為日志包含敏感信息,容易泄露賬號密碼接口數據等信息,可能產生安全漏洞。

 

B 為數組大小問題,數組不越界,可防止溢出安全漏洞。因此是安全的。

 

C 用當前時間來作為隨機數種子的話,隨着時間的不同,生成的隨機數也會不同。因此是安全的。

D 為配置文件的權限問題,rw為可以讀取可以寫入。第一個rw-為文件所屬用戶、第二個rw-為用戶所在組、第三個rw-為其它用戶的讀寫。可以導致非法寫入和越權訪問,可能產生安全漏洞。

2 以下哪些工具提供攔截和修改HTTP數據包的功能?()

A Burpsuite

 

B Hackbar

 

C Fiddler

 

D Nmap

答案:AC

解釋:

 

A Burpsuite是可以通過設置瀏覽器代理進行網絡滲透的,用於攻擊Web應用的集成平台。可以進行攔截和修改HTTP數據包。

 

B Hackbar 是用來進行sql注入、測試XSS和加解密字符串的。可以用來快速構建一個HTTP請求(GET/POST)等。但是不能攔截和修改HTTP數據包。

 

C Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊。可以進行攔截和修改HTTP數據包。

 

D Nmap是一款網絡端口掃描工具,可以掃描各種端口及其服務甚至是漏洞檢測。但是不能不能攔截和修改HTTP數據包。

 

3 壞人通過XSS漏洞獲取到QQ用戶的身份后,可以進行一下操作?()

A 偷取Q 幣

 

B 控制用戶攝像頭

 

C 劫持微信用戶

 

D 進入QQ空間

 

答案:D

 

解釋:

 

XSS漏洞是獲取用戶cookie的,即是獲得用戶cookie等敏感信息。

 

A 偷取Q幣。需要用戶進行確認或者輸入密碼,具有很強的交互性。因此無法進行。

 

B 控制用戶用戶攝像頭。因為開啟攝像頭,需要用戶手動確認。因此無法進行。

 

C 劫持微信用戶。因為微信登錄會驗證手機信息甚至短信驗證,並且只能同時在一個設備上登錄一個微信賬號。因此無法進行。

 

D 進入QQ空間。 因為登錄QQ空間是不需要用戶交互操作的,並且使用cookie獲得用戶身份后,就好像正常用戶一樣可以查看QQ空間,QQ資料等。

4 以下哪些工具可以抓取HTTP數據包?()

A Burpsuite

 

B Wireshark

 

C Fiddler

 

D Nmap

答案:ABC

 

解釋:

 

A Burpsuite是可以通過設置瀏覽器代理進行網絡滲透的,用於攻擊Web應用的集成平台。因此是可以HTTP數據包。

 

B Wireshark是監聽網絡接口數據的,可以設置監聽某個網卡來監聽各種網絡數據包。因此是可以抓取HTTP數據包。

 

C Fiddler是一個http協議調試代理工具,它能夠記錄並檢查所有你的電腦和互聯網之間的http通訊。因此是可以抓取HTTP數據包。

 

D Nmap是一款網絡端口掃描工具,可以掃描各種端口及其服務甚至是漏洞檢測。但是不能抓取HTTP數據包。

 

5 以下哪些說法是正確的?()

A IOS系統從IOS6開始引入kernelASLR安全措施

 

B 主流的Iphone手機內置了AES及RSA硬件加速解密引擎

 

C 安卓系統采用了安全引導鏈(secureboot chain ),而IOS系統則未采用

 

D Android 4.1 系統默認啟用了內存ASLR 

答案:ABD

 

解釋:

 

A IOS系統從IOS6開始引入kernelASLR安全措施。情況屬實。因此是正確的。

 

B 主流的Iphone手機內置了AES及RSA硬件加速解密引擎。情況屬實。因此是正確的。

 

C 安卓系統采用了安全引導鏈(secureboot chain ),而IOS系統則未采用。情況不屬實,原因是IOS系統也采用了安全引導鏈。因此是不正確的。

 

D Android 4.1 系統默認啟用了內存ASLR。情況屬實。因此是正確的。

 

6 以下哪些是常見的PHP ’ 一句話木馬“ ? ()

A

< ?php assert ($_POST(value));?> 

B

<%execute(request("value"))%> 

C

<?php @eval ($_POST(value)):?>

D

<%if(request.getParameter("!")!=null)(newjavio.FileOutputStream(application.getRealPath("\\") + request.getParmeter("!"))).write (request.getParameter("t").getByte())):%>

答案:ABCD

 

解釋:

 

A  assert用來判斷一個表達式是否成立,可以遠程連接。可為PHP一句話木馬。

 

B execute 用來執行表達式,可以執行某些操作。可為asp一句話木馬。

 

C eval 實現php對表達式的計算和執行,可以用來執行某些操作。可為PHP一句話木馬。

 

D 通過判斷執行文件輸出寫入,故為一句話木馬。

 

7 以下哪個說法是正確的?()

 

A xcodeghost 是一種可以直接遠程控制手機控制權的攻擊方式

 

B wormhole是一種可以直接遠程控制手機控制權的攻擊方式

 

C ” 心臟滴血“ 是一種可以直接遠程控制手機控制權的攻擊方式

 

D shellshock是一種可以直接遠程控制手機控制權的攻擊方式

 

答案:A

 

解釋:

 

A 通過Xcode從源頭注入病毒XcodeGhost,是一種針對蘋果應用開發工具Xcode的病毒。於2015年9月被發現。它的初始傳播途徑主要是通過非官方下載的Xcode 傳播,通過CoreService 庫文件進行感染。當應用開發者使用帶毒的Xcode工作時,編譯出的App 都將被注入病毒代碼,從而產生眾多帶毒APP。用戶在iOS設備上安裝了被感染的APP后,設備在接入互聯網時APP會回連惡意URL地址init.icloud-analysis.com,並向該URL上傳敏感信息(如設備型號、iOS 版本)。回連的C&C服務器會根據獲取到的設備信息下發控制指令,從而完全控制設備,可以在受控設備上執行打開網頁、發送短信、撥打電話、打開設備上所安裝的其他APP等操作。

 

因此xcodeghost是一種可以直接遠程控制手機控制權的攻擊方式。

 

B 百度SDK蟲洞漏洞相關的核心代碼存在於SDK的com.baidu.hello.moplus中,所有使用該SDK開發的APP,均會開放40310端口響應數據請求。雖然請求限制在本地進行,但攻擊者仍然很容易繞過,這可能導致用戶數據的大量泄漏。百度旗下應用安裝到手機上之后,它會打開40310/6259端口,任何IP都可以連接該端口。被百度稱為immortalservice的HTTP服務監視來自該端口的信息,之所以被稱為immortal(不朽),原因是它“會在后台一直運行,並且如果你手機中裝了多個有wormhole漏洞的app,這些app會時刻檢查40310/6259端口,如果那個監聽40310/6259端口的app被卸載了,另一個app會 立馬啟動服務重新監聽40310/6259端口。 ”連接端口的IP需要驗證一些頭文件,但很容易通過偽裝繞過。成功與該服務進行通訊后,就可以通過URL給APP下達指令,攻擊者可以從用戶設備遠程獲取位置信息,搜索框信息,包信息和其它敏感數據。它可以在用戶設備上遠程添加聯系人,掃描下載文件,上傳特定文件。所有這些行為只需簡單的通過發送HTTP請求便可以完成。因為在本地HTTP服務(由Moplus SDK建立的)中沒有進行身份認證,使得攻擊行為不僅可以通過app開發者,也可以由任何其它人來觸發。只需一個命令,攻擊者或者網絡罪犯就可以遠程控制感染的設備。此外,他們只需要使用nmap進行全網段掃描,測試TCP端口6259或40310的狀態,端口狀態為OPEN的所有Android設備都可能被遠程控制。需要注意的是在同一個局域網內,以及在同一個的3G/ 4G網絡的所有設備都可以被攻擊。

 

因此wormhole是一種可以直接遠程控制手機控制權的攻擊方式。

 

C Heartbleed漏洞,這項嚴重缺陷(CVE-2014-0160)的產生是由於未能在memcpy()調用受害用戶輸入內容作為長度參數之前正確進行邊界檢查。攻擊者可以追蹤OpenSSL所分配的64KB緩存、將超出必要范圍的字節信息復制到緩存當中再返回緩存內容,這樣一來受害者的內存內容就會以每次64KB的速度進行泄露。通過讀取網絡服務器內存,攻擊者可以訪問敏感數據,從而危及服務器及用戶的安全。敏感的安全數據,如服務器的專用主密鑰,可使攻擊者在服務器和客戶端未使用完全正向保密時,通過被動中間人攻擊解密當前的或已存儲的傳輸數據,或在通信方使用完全正向保密的情況下,發動主動中間人攻擊。攻擊者無法控制服務器返回的數據,因為服務器會響應隨機的內存塊。[8] 

 

漏洞還可能暴露其他用戶的敏感請求和響應,包括用戶任何形式的POST請求數據,會話cookie和密碼,這能使攻擊者可以劫持其他用戶的服務身份。在其披露時,約有17%或五十萬通過認證機構認證的互聯網安全網絡服務器被認為容易受到攻擊。電子前哨基金會,ArsTechnica,和布魯斯·施奈爾都認為心臟出血漏洞是“災難性的”。[8] 

 

漏洞讓特定版本的openSSL成為無需鑰匙即可開啟的“廢鎖”,入侵者每次可以翻檢戶主的64K信息,只要有足夠的耐心和時間,就可以翻檢足夠多的數據,拼湊出戶主的銀行密碼、私信等敏感數據。對此安全專家提醒,網友在網站完成修復升級后,仍需及時修改原來的密碼。

 

因此 ” 心臟滴血“ 不是一種可以直接遠程控制手機控制權的攻擊方式,而是一種竊取用戶信息的攻擊方式。

 

D Shellshock,又稱Bashdoor,是在Unix中廣泛使用的Bash shell中的一個安全漏洞,首次於2014年9月24日公開。許多互聯網守護進程,如網頁服務器,使用bash來處理某些命令,從而允許攻擊者在易受攻擊的Bash版本上執行任意代碼。這可使攻擊者在未授權的情況下訪問計算機系統。執行命令envx=’() { :;}; echo Shellshock’ bash -c “exit”如果有輸出,就說明存在該漏洞。只要是能通過某種手段為bash傳遞環境變量的程序都受此影響。當然最典型的的就是bash寫的CGI程序了,客戶端通過在請求字符串里加入構造的值,就可以輕松攻擊運行CGI的服務器。

 

因此shellshockbu不是一種可以直接遠程控制手機控制權的攻擊方式,而是可以直接遠程控制服務器控制權的攻擊方式。

 

8 在同一個bash 下依次執行

 

root@kali:~/Desktop#  whoami

root

root@kali:~/Desktop# function whoami() { echo 1;}

root@kali:~/Desktop# whoami

最后一次執行的whoami 的結果是什么?()

A root

B 1 

C echo 1

D echo 1;

 

答案:B 

 

解釋:第一次執行whoami 是正常顯示 root.。functionwhoami() { echo 1;} 通過定義函數whoami , 使得whoami 是一個函數,而初始化值為echo 1 ,而echo 1 的執行結果是1。也就是說,通過調用函數whoami 並且初始化(執行echo函數),所以輸出結果為1。

9 以下哪個攻擊可用來運行ddos攻擊?()

A 菜刀

 

B WSI

 

C Dosend

 

D Chkrootkit

 

答案:C

 

解釋:

 

A 中國菜刀是一款專業的網站管理軟件。

 

B WSI是PHP注入工具。

 

C Dosend是一款linux發包攻擊工具,可用來實現DDOS攻擊。

參考鏈接為 http://download.csdn.net/detail/linghuncangsang/6664547

 

D chkrootkit是用來檢測rootkit的。

10 以下哪些服務器曾被發現文件解析漏洞?()

 

A Apache

 

B IIS

 

C nginx

 

D squid

答案:ABC

 

A Apache解析漏洞。它 是從右到左開始判斷解析,如果為不可識別解析,就再往左判斷.

 

比如upupimage.php.owf.rar “.owf”和”.rar”?這兩種后綴是apache不可識別解析,apache就會把upupimage.php.owf.rar解析成php.

 

B IIS 解析漏洞。一是IIS5.x/6.0中的/xx.asp/xx.jpg ,網站下建立文件夾的名字為.asp、.asa 的文件夾,其目錄內的任何擴展名的文件都被IIS當作asp文件來解析並執行。

 

二 是123.asp;.jpg會被服務器看成是123.asp,IIS6.0 默認的可執行文件除了asp還包含這三種/upupimage.asa/upupimage.cer /upupimage.cdx 

 

C nginx解析漏洞。一是nginx默認Fast-CGI開啟狀況下,黑闊上傳一個名字為upupimage.jpg,內容為<?PHPfputs(fopen(‘shell.php’,'w’),’<?php eval($_POST[cmd])?>’);?>的文件,然后訪問upupimage.jpg/.php,在這個目錄下就會生成一句話木馬 shell.php。

 

二是Nginx在圖片中嵌入PHP代碼然后通過訪問xxx.jpg%00.php來執行其中的代碼,影響版:0.5.,0.6.,0.7 <= 0.7.65, 0.8 <= 0.8.37

 

D Squid爆出來的更多是拒絕服務攻擊。它是一個高效的Web緩存及代理程序,最初是為Unix平台開發的,現在也被移植到Linux和大多數的Unix類系統中,最新的Squid可以運行在Windows平台下。

11 以下命令可以用來獲取DNS記錄的是?()

 

A traceroute

 

B ping

 

C dig

 

D who

 

答案:C

 

解釋:

 

A traceroute 。該命令為追蹤路由情況。

 

B ping 。該命令為檢測網絡是否通暢。

 

C dig 。linux下查詢域名解析有兩種選擇,nslookup或者dig,如 digwww.csdn.net

 

D who 。該命令為查詢登錄linux系統的用戶數目。

 

12 linux 環境下,查詢日志文件最后100行數據,正確的方式是?()

 

A mv -100 log

B grep -100 log

C cat -100 log

D tail -100 log

答案:D

解釋:

A mv -100 log 。該為mv命令,是移動文件或者文件夾的,與查看日志無關。

B grep -100 log 。該為grep命令,是篩選或者匹配關鍵詞的,與查看日志無關,但是可以配合其他命令進行查看日志。

C cat -100 log 。該命令為順序查看命令,查看log的前一百行數據(包括空行)。

D tail -100 log。 該命令為倒序查看名,查詢log文件的最后100行數據。故選擇D

 

13 Firefox瀏覽器插件Hacbar提供的功能()

A POST方式提交數據

B BASE64編碼和解碼

C 代理修改WEB頁面的內容

D修改瀏覽器訪問referer

答案:ABD

解釋:

A POST方式提交數據。通過在hackbar勾選”Enablepost data”,hackbar可以顯出示該功能。

B BASE64編碼和解碼。通過在hackbarc菜單欄”Encoding”,hackbar可以顯出示該功能。

C 代理修改WEB頁面的內容。該功能屬於插件firebug的。hackbar 無該項功能。

D修改瀏覽器訪問referer。通過在hackbar勾選”EnableReferer “,hackbar可以顯出示該功能。

 

14 以下哪個攻擊可以提供攔截和修改http數據包功能?() 

A Metasploit 

B Hackbar 

C Sqlmap  

D Burpsuite 

答案:D

解釋: 

A Metasploit 。 它為集成的漏洞攻擊平台,具有多種攻擊載荷和shell。但是無法提供攔截和修改http數據包。 

B Hackbar 是用來進行sql注入、測試XSS和加解密字符串的。可以用來快速構建一個HTTP請求(GET/POST)等。但是不能攔截和修改HTTP數據包。 

C Sqlmap  是用來進行sql注入,獲取數據庫信息和獲操作系統信息,甚至注入后門webshell的,但是不能攔截和修改HTTP數據包。 

D Burpsuite是可以通過設置瀏覽器代理進行網絡滲透的,用於攻擊Web應用的集成平台。可以進行攔截和修改HTTP數據包。 

15 以下哪幾種工具可以對網站進行自動化web漏洞掃描?() 

A hackbar 

B AWVS 

C IBM appscan 

D Nmap

答案:BC 

解釋: 

A hackbar 是用來進行sql注入、測試XSS和加解密字符串的。可以用來快速構建一個HTTP請求(GET/POST)等。但是不能自動化web 漏洞掃描 

B AWVS 是業界非常推薦的漏洞掃描神器,它擁有數目非常多而且最強大的漏洞檢測腳本,國內多數人使用破解版,它可以進行自動化web漏洞掃描。 

C IBM appscan 是國外IBM安全公司的一款非常厲害的安全漏洞掃描產品,能夠掃描各種生產環境的WEB,也就是說它也可以進行自動化web 漏洞掃描。 

D Nmap是一款網絡端口掃描工具,可以掃描各種端口及其服務甚至是系統漏洞檢測,從它的NSE腳本可以看到它也可以進行WEB漏洞掃描,但是需要復雜的配置命令,故它不能進行自動化web漏洞掃描。 

答案:BC 

16. 黑客控制一台Windows服務器,發現IE瀏覽器使用了代理,可以訪問外網,執行如下命令發現 

 

C:\Users\test>ping     www.baidu.com -n 1 

正在 Pingwww.a.shifen.com [14.215.177.38] 具有32字節的數據: 

請求超時 

C:\Users\test>telnet www.baidu.com 80 

正在鏈接www.baidu.com...無法打開到主機的連接。 

在端口 80: 連接失敗。 

通過如上信息判斷,以下哪些反彈shell操作會失敗 

A windows/meterpreter/reverse_http 

B icmp協議的后門 

C windows/meterpreter/reverse_https 

D windows/meterpreter/reverse_tcp 

答案: ABC 

解釋:IE瀏覽器使用了代理,可能HTTP協議會受到防火牆限制。ping不通百度說明ICMP協議也受影響。故http、https、icmp協議的反彈shell都會失敗 

17 關於XcodeGhost事件的正確說法是() 

A 部分Android 產品 也受到了影響 

B 應用程序開發使用了包含后門插件的IDE 

C 當手機被盜時才有風險 

D蘋果官方回應APPSTORE上的應用程序不受影響 

答案:B 

解釋:通過Xcode從源頭注入病毒XcodeGhost,是一種針對蘋果應用開發工具Xcode的病毒。於2015年9月被發現。它的初始傳播途徑主要是通過非官方下載的Xcode 傳播,通過CoreService 庫文件進行感染。當應用開發者使用帶毒的Xcode工作時,編譯出的App 都將被注入病毒代碼,從而產生眾多帶毒APP。用戶在iOS設備上安裝了被感染的APP后,設備在接入互聯網時APP會回連惡意URL地址init.icloud-analysis.com,並向該URL上傳敏感信息(如設備型號、iOS 版本)。回連的C&C服務器會根據獲取到的設備信息下發控制指令,從而完全控制設備,可以在受控設備上執行打開網頁、發送短信、撥打電話、打開設備上所安裝的其他APP等操作。蘋果官方當時下架相關的應用。 

故XcodeGhost,是一種針對蘋果應用開發工具的病毒,它是應用程序開發使用了包含后門插件的IDE,手機下了含有XCODE病毒的應用就會受到影響,蘋果官方回應,APPSTORE上的應用程序是受到影響,並且下架了一部分受影響的應用。

18 Android 應用中導致HTTPS中間人攻擊的原因有?() 

A 沒有對SSL證書校驗  

B 沒有對主機名進行校驗 

C SSL證書被泄露 

D 使用WIFI連接網絡

答案: ABC 

解釋: 

Android 應用中導致HTTPS漏洞的分析: 

1)中間人攻擊漏洞位置: 

X509TrustManager 、HostnameVerifier、setHostnameVerifier (X509HostnameVerifier hostnameVerifier) 

2) 漏洞觸發前提條件: 

自定義的X509TrustManager不校驗證書; 

或實現的自定義HostnameVerifier不校驗域名接受任意域名; 

或使用setHostnameVerifier(ALLOW_ALL_HOSTNAME_VERIFIER); 

3) 漏洞原理: 

由於客戶端沒有校驗服務端的證書,因此攻擊者就能與通訊的兩端分別創建獨立的聯系,並交換其所收到的數據,使通訊的兩端認為他們正在通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,攻擊者可以攔截通訊雙方的通話並插入新的內容。 

客戶端不校驗SSL證書(包含簽名CA是否合法、域名是否匹配、是否自簽名證書、證書是否過期)包含以下幾種編碼錯誤情況: 

a. 自實現的不校驗證書的X509TrustManager接口的Java代碼片段 (其中的checkServerTrusted()方法實現為空,即不檢查服務器是否可信): 

b. 不檢查站點域名與站點證書的域名是否匹配的Java代碼片段: 

c. 接受任意域名的Java代碼片段: 

A 沒有對SSL證書校驗 —–》》》客戶端自定義的X509TrustManager不校驗證書;,攻擊者冒用證書 

B 沒有對主機名進行校驗—-》》》客戶端實現的自定義HostnameVerifier不校驗域名接受任意域名,攻擊者可以使用域名冒用 

C SSL證書被泄露—-》》》》 證書頒發機構(Certification Authority)被攻擊導致私鑰泄露等。攻擊者可通過中間人攻擊,盜取賬戶密碼明文、聊天內容、通訊地址、電話號碼以及信用卡支付信息等敏感信息,甚至通過中間人劫持將原有信息替換成惡意鏈接或惡意代碼程序,以達到遠程控制、惡意扣費等攻擊意圖。 

D 使用WIFI連接網絡—-《《《客戶端使用WIFI連接對於HTTPS傳輸來說,不會受到影響。因為重點是中間人漏洞攻擊的位置和觸發條件不會受到網絡類型的影響。

19. 下圖為AES加密的明文和密文字符串,請問該加密使用了哪種分組模式 

加密前: 

 

0000000000000000 

0000000000000000 

0000000000000000 

000000000000000 

 

加密后: 

 

fbcd723ec4f10af24a9472349f722954 

fbcd723ec4f10af24a9472349f722954 

fbcd723ec4f10af24a9472349f722954 

13d7ffbfe87a41c1fef1f429af20babc 

 

答案:A 

解釋:選項從缺,有知道此題的小伙伴可以留言幫我們補上… 

20 這段代碼存在的安全問題,會產生什么安全漏洞?() 

 

<?php 

$username = $_GET(username); 

echo $uername 

mysql_query("select * from orders where username = "$username"or dir (mysql_error(): 

?> 

 

 

A 命令執行漏洞 

 

B SQL注入漏洞 

 

C 文件包含漏洞 

 

D 反射XSS漏洞

 

答案:ABD 

 

解釋: 

 

A 命令執行漏洞—>>>>

 

$username = $_GET(username);echo $username

 

參數不過濾,可以將username設置某個命令。 

 

B SQL注入漏洞—>>>>

 

mysql_query("select* from orders where username = "$username"or dir (mysql_error(): 

參數不過濾,可以將username設置某個帶截斷的查詢語句。 

 

C 文件包含漏洞—>>>>該代碼中不涉及文件操作。 

 

D 反射XSS漏洞—->>>參數過濾不嚴格,可以輸入

 

username=<script>alert(1)</script> 

 

21 以下哪些是CSRF漏洞的防御方案?() 

 

A 檢測HTTPreferer 字段同域 

 

B 限制sessioncookie的生命周期 

 

C 使用驗證碼 

 

D cookie關鍵字段設置HttpOnly屬性

 

答案:ABCD 

 

解釋: 

 

CSRF漏洞防御主要可以從三個層面進行,即服務端的防御、用戶端的防御和安全設備的防御。 

 

A 檢測HTTPreferer 字段同域—》》》》根據HTTP協議,在HTTP頭中有一個字段叫Referer,它記錄了該HTTP請求的來源地址。在通常情況下,訪問一個安全受限頁面的請求必須來自於同一個網站。比如某銀行的轉賬是通過用戶訪問http://bank.test/test?page=10&userID=101&money=10000頁面完成,用戶必須先登錄bank.test,然后通過點擊頁面上的按鈕來觸發轉賬事件。當用戶提交請求時,該轉賬請求的Referer值就會是轉賬按鈕所在頁面的URL(本例中,通常是以bank. test域名開頭的地址)。而如果攻擊者要對銀行網站實施CSRF攻擊,他只能在自己的網站構造請求,當用戶通過攻擊者的網站發送請求到銀行時,該請求的Referer是指向攻擊者的網站。因此,要防御CSRF攻擊,銀行網站只需要對於每一個轉賬請求驗證其Referer值,如果是以bank. test開頭的域名,則說明該請求是來自銀行網站自己的請求,是合法的。如果Referer是其他網站的話,就有可能是CSRF攻擊,則拒絕該請求 

 

B 限制sessioncookie的生命周期—》》》CSRF攻擊是有條件的,當用戶訪問惡意鏈接時,認證的cookie仍然有效,所以當用戶關閉頁面時要及時清除認證cookie 

 

C 使用驗證碼—》》》雖然攻擊者已經通過獲取cookie得到用戶的身份,但是通過在你的表單中包括驗證碼,事實上網站已經消除了跨站請求偽造攻擊的風險。可以在任何需要執行操作的任何表單中使用這個流程。 

 

D cookie關鍵字段設置HttpOnly屬性—–》》》》可以在一定程度防御CSRF。 

 

22 android manifest.xml中哪項配置可能造成安卓內部文件被竊取?() 

 

A android:allowbackup=“ true “ 

 

B Android:name = ” con.trsc” 

 

C Android: debug = ” true “ 

 

D Androidtarget sdkversion = “17″ 

 

答案:ABC 

 

解釋: 

 

A android:allowbackup=“ true “—-》》》》允許app備份,可以導致其他app非法訪問這些數據 

 

B Android:name = ” con.trsc”—》》》》沒有設置成私有,可以導致非法越權訪問 

 

C Android: debug = ” true “—》》》通過調式,可以調用查看其他文件 

 

D Androidtarget sdkversion = “17″—-》》》》sdk版本信息 

 

23 以下哪些工具可以抓取windows明文密碼?() 

 

A WCE 

 

B minikatz 

 

C Quarks PWdump 

 

D CAIN 

 

答案:AB 

 

A WCE是與gethashes 和mimikatz齊名的一款hash管理工具,使用wce進行本地和域的hash注入 ,可以在高權限下獲取明文密碼 

 

B 法國一個牛B的人寫的輕量級調試器,可以幫助安全測試人員抓取Windows密碼。mimikatz 2.0版本,抓密碼命令更加簡單了,新功能還包括能夠通過獲取的kerberos登錄憑據,繞過支持RestrictedAdmin模式的win8或win2012svr的遠程終端(RDP) 的登陸認證 

 

C Quarks PwDumpQuarks PwDump 是一個Win32環境下的系統授權信息導出工具,目前除此之外沒有任何一款工具可以導出如此全面的信息,支持這么多的OS版本,且相當穩定。它目前可以導出 :- Local accounts NT/LM hashes + history 本機NT/LM哈希+歷史登錄記錄 – Domain accounts NT/LM hashes + history 域中的NT/LM哈希+歷史登錄記錄 – Cached domain password 緩存中的域管理密碼 – Bitlocker recovery information (recovery passwords & key packages) 使用Bitlocker的恢復后遺留的信息支持的操作系統 : XP/2003/Vista/7/2008/81 / USAGE 

 

D CAIN主要用於網絡數據嗅探,也帶有密碼破解功能,但是不能抓取windows明文密碼 

 

24. 如果一個網站存在CSRF漏洞,可以通過CSRF漏洞做下面哪些事情 

 

A 獲取網站用戶注冊的個人資料信息 

 

B 修改網站用戶注冊的個人資料信息 

 

C 冒用網站用戶的身份發布信息 

 

D 以上都可以 

 

答案:D

 

解釋:CSRF成功后,攻擊者可以獲取到用戶身份,所以攻擊者可以獲取用戶的個人資料,甚至是冒用網站用戶發布信息。但是一個網站存在CSRF,這個說法可能是某處存在該漏洞或者整個網站都存在。至於在修改或者冒用用戶發布信息,這個要依據整個網站的安全架構來說,如果一個網站設置了修改用戶個人資料和發布信息都需要驗證碼或者需要個人手機短信的再次驗證,這個就難說了。當然這里我們從最簡單的角度考慮,A、B、C都在小網站都可以實現。

 

25. 以下關於cc攻擊說法正確的是 

 

A cc攻擊需要借助代理進行 

 

B cc攻擊利用的時tcp協議的缺陷 

 

C cc攻擊難以獲取目標機器的控制權 

 

D cc攻擊最早在國外大面積流行 

 

答案: ACD

 

解釋:攻擊者借助代理服務器生成指向受害主機的合法請求,可以通過TCP/IP進行,本質是模擬多個用戶不停訪問頁面,導致該頁面的服務無法處理過多請求,從而導致服務器宕機或者拒絕服務。 

 

26. Android開發過程中,下面哪些開發習慣可能導致安全漏洞 

 

A 在程序代碼中插入Log()方法輸出敏感信息方便調試 

 

B 在應用正式版Andoridmanifest.xml中設置android:debuggable=”false” 

 

C 使用SecureRandom時使用安全的方法設置seed 

 

D 設置應用配置文件為任意用戶可讀寫 

 

答案:AD

 

解釋:

 

A 在程序代碼中插入Log()方法輸出敏感信息方便調試—–》》》》該方式可以在日志中泄露登錄的密碼,可導致安全漏洞。 

 

B 在應用正式版Andoridmanifest.xml中設置android:debuggable=”false”—-》》》》》》這個可以防止不法分子對應用進行調式,有一定的安全效果。當然通過JD或者JEB逆向后,將” false“ 改成 ” true“ 的情況,另當別說。 

 

C 使用SecureRandom時使用安全的方法設置seed—-》》》》》這個可以產生安全的隨機數。 

 

D 設置應用配置文件為任意用戶可讀寫—-》》》》》這個會導致非法用戶越權訪問敏感信息,可導致安全漏洞。

 

27. iOS平台上常見的Hook框架有 

 

A Xposed 

 

B Intent Fuzz 

 

C Drozer 

 

D Substrate

 

答案:D

 

解釋:

 

A Xposed—-》》》這個是android的hook框架,有不少開發者發布了不錯的框架。 

 

B Intent Fuzz—》》》這個是android 應用組件模糊測試框架, 

 

C Drozer—-》》這個是android 綜合滲透測試平台。 

 

D Substrate—》》》這個是IOS平台的hook的框架,而Cydia Substrate是android上的強大而實用的HOOK工具。

 

28. php提供以下哪些函數來避免sql注入 

 

A mysql_real_escape_string 

 

B escapeshellarg 

 

C htmlentities 

 

D addslashes 

 

答案: AD 

 

解釋:

 

A mysql_real_escape_string–>>>> 該函數通過轉義字符串,實現了過濾無效化(消毒)的功能,可以避免sql注入。 

 

B escapeshellarg–>>>> escapeshellarg — 把字符串轉碼為可以在 shell 命令里使用的參數,當然這個是轉義shell注入的,和sql注入沒有太多聯系,和命令執行有關。 

 

C htmlentities—>>>>>>>該函數是字符轉換為 HTML 實體,沒有避免sqlz注入的功能 

 

D addslashes—>>>addslashes — 使用反斜線引用字符串,返回字符串,該字符串為了數據庫查詢語句等的需要在某些字符前加上了反斜線。這些字符是單引號(’)、雙引號(”)、反斜線(\)與 NUL(NULL 字符)。實際就是轉義。 

 

29. 執行nmap10.5.5.5.1 默認會掃描以下哪個端口 

 

A 21 

 

B 3389 

 

C 8080 

 

D 1024 

 

答案: AC

 

解釋:nmap 的默認掃描選項是對常規端口和服務進行探測,常規端口是1000個最可能開發的端口

 

30. 黑客通過以下哪種攻擊方式,可能大批量獲取網站注冊用戶的身份信息 

 

A XSS 

 

B CSRF 

 

C 越權 

 

D 以上都不可以 

 

答案 ABC

 

解釋: 

 

A XSS—>>>獲取管理員的session,從而獲得大量注冊用戶身份信息。 

 

B CSRF—>>>獲取管理員的cookie,從而獲得大量注冊用戶身份信息。 

 

C 越權–>>> 越權訪問其他用戶信息。

 

故以上三個均可以。

 

0×03 簡答題-10

 

31. sql注入(mysql數據庫)中常用的延時函數是___ 

 

答案:sleep() 

 

32. Linux上查看用戶ssh登陸歷史的指令last,它讀取的日志文件名是___ 

 

答案:/var/log/wtmp 

 

33. 黑客為了清理自己在服務器上操作的指令歷史記錄,他可以執行什么命令___ 

 

答案: 

 

 

~/.bash_history 

history -c

 

 

 

34. 國內歷史最久的黑客安全技術峰會是__ 

 

答案: Xcon 

 

35. 2015年百度被曝出的WormHole漏洞的原理是__ 

 

答案: 

 

wormhole 是百度SDK的部分更新模塊登陸驗證不夠嚴格,存在被第三方利用的風險。如果你手機中裝了多個有wormhole漏洞的app,這些app會時刻檢查40310/6259端口,如果那個監聽40310/6259端口的app被卸載了,另一個app會 立馬啟動服務重新監聽40310/6259端口。 ”連接端口的IP需要驗證一些頭文件,但很容易通過偽裝繞過。成功與該服務進行通訊后,就可以通過URL給APP下達指令,比如獲取用戶手機的GPS位 置,給手機增加聯系人,下載任意文件到指定路徑如果文件是apk則進行安裝。 

 

36. aslr是對抗_攻擊的技術 

 

答案:緩沖區溢出 

 

37. windows下查看系統用戶列表的命令是__ 

 

答案:net user 

 

38. 當訪問web網站某個資源不存在時,返回的HTTP狀態碼是__ 

 

答案:404 

 

39. 被稱為“XSS終結者”的使用HTTP頭部來限制資源的策略是__ 

 

答案:同源策略 

 

40. C語言中字符串“學習C”所占的內存空間大小可能是___字節 

 

答案:5

 

0×04 判斷題-10

 

41. zmap單次執行可以對多個端口同時掃描 

 

答案:對 

 

解釋:zmap 的單次執行可以同時掃描多個端口,這也是它號稱比nmap 快的原因之一。 

 

42. TCP和UDP協議對比,TCP傳送數據更安全 

 

答案:錯

 

解釋:TCP只是傳輸可靠,UDP只是最大地交付。嚴格來說,兩者不存在哪個是否更安全的對比。 

 

43. 用system啟動的cmd執行 net use\10.1.1.10\c$”password/user”administrator”提示連接成功,然后在administrator用戶下net use可以看到連接 

 

答案: 

 

IPC    localhost   10.1.1.10: 135      ESTABLISH

 解釋:這個用法比較少見。net use h: \\ip\c$ “密碼” /user:”用戶名” 直接登陸后映射對方C:到本地為H:本質是ipct通道的用法

 

44. Redis常用的默認端口是873 

 

答案:錯 

 

解釋:Redis 默認情況下,會綁定在0.0.0.0:6379,這樣將會將Redis服務暴露到公網上,如果在沒有開啟認證的情況下,可以導致任意用戶在可以訪問目標服務器的情況下未授權訪問Redis以及讀取Redis的數據。攻擊者在未授權訪問Redis的情況下可以利用Redis的相關方法,可以成功將自己的公鑰寫入目標服務器的/root/.ssh 文件夾的authotrized_keys文件中,進而可以直接登錄目標服務器。

 

45. DES、RC4均屬於對稱加密算法 

 

答案:對 

 

解釋:常見的非對稱加密算法有;RSA、Diffie-Hellman(DH) 、橢圓曲線算法(ECC). 其中使用最廣泛的是RSA算法。常見的對稱加密算法有:DES算法,3DES算法,TDEA算法,Blowfish算法,RC5算法,IDEA算法。

 

0×05 分析題-2

 

46. 某應用程序需要完成用戶輸入密碼登陸的操作,通過網絡與服務器交互進行校驗,請設計一個安全的網絡傳輸方案,並說明原因。(出於性能方面的考慮,不使用https通信) 

 

參考設計: 

 

1 首先在用戶輸入密碼時,加上比較復雜的驗證碼,同時以時間戳加密生成隨機數,加上csrf_token等

 

2 然后再把用戶賬號密碼通過前端加密傳輸到服務器后台,並且設置同源策略,

 

3 服務器驗證客戶端的身份后,通過隨機安全數加密session和cookie返回給客戶端。

 

4 客戶端與服務器建立連接。

 

47. 外部某平台報告,某網站被黑客上傳了Webshell並截圖證明。老板指定身為安全工程師的你全權協調處理此事,請思考,你需要做些什么?

 

參考回答:

 

1 首先檢查服務器上該webshell 存放路徑,分析該webshell的行為。

 

2 清除webshell及其他后門,然后根據webshell入侵的方式,進行修補漏洞,升級程序。

 

3 對服務器進行安全加固,對服務器上的系統和web服務進行安全設置。

 

4 綜合上述,攥寫安全報告(例如首先確定是什么漏洞和服務器上的運維設置導致黑客可以成功上傳webshell,如新出現的0day 或者服務器web 的運維配置不當或者弱口令;然后分析了清除了哪些后門,這些后門對服務器造成了哪些影響-盜用了數據庫、或者安裝了新后門進行DDOS或者其他方面。接着寫為避免了這些漏洞,我做了哪些安全加固–修改web服務器配置,對系統進行加固,安裝相關的殺毒軟件,調整WAF策略等等。最后給出后面定期的安全檢查和維護措施。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM