0x00前言
鑑於曾經作過騰訊找招聘-安全技術筆試題目,故留此一記,以做懷念。此外,網上也有公佈的相關的答案,可是其中有些題目稍有錯誤或者解釋不全,因此趁機寫上一記。
0x01 開始
2016年4月2日晚上7:00到9:00,騰訊2016實習招聘-安全技術的筆試題確實考到不少基礎知識。該筆試題有兩部分。第一部分是30道不定項選擇題、10道簡答題和5道判斷題,題量是45,限時80分鐘。第二部分是2道分析題,限時40分鐘。有下面統一給出答案和爲每一題作出解釋。
0x02 不定項選擇題-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
答案: ABCD
解釋:IE瀏覽器使用了代理,可能HTTP協議會受到防火牆限制,故A不對;ping不通百度說明ICMP協議也受影響。故http、https、icmp協議的反彈shell都會失敗,D也是不對的,對方掛了代理,telnet不通,只有經過插入掛了代理的IE進程反彈,或者經過代理反彈.
17 關於XcodeGhost事件的正確說法是()
A 部分Android 產品 也受到了影響
B 應用程序開發使用了包含後門插件的IDE
C 當手機被盜時纔有風險
D蘋果官方迴應APPSTORE上的應用程序不受影響
答案:AB
解釋:經過Xcode從源頭注入病毒XcodeGhost,是一種針對蘋果應用開發工具Xcode的病毒。於2015年9月被發現。它的初始傳播途徑主要是經過非官方下載的Xcode 傳播,經過CoreService 庫文件進行感染,安卓用了Unity和Cocos2d的也受影響,當應用開發者使用帶毒的Xcode工做時,編譯出的App 都將被注入病毒代碼,從而產生衆多帶毒APP。用戶在iOS設備上安裝了被感染的APP後,設備在接入互聯網時APP會回連惡意URL地址init.icloud-analysis.com,並向該URL上傳敏感信息(如設備型號、iOS 版本)。回連的C&C服務器會根據獲取到的設備信息下發控制指令,從而徹底控制設備,能夠在受控設備上執行打開網頁、發送短信、撥打電話、打開設備上所安裝的其餘APP等操做。蘋果官方當時下架相關的應用。
故XcodeGhost,是一種針對蘋果應用開發工具的病毒,它是應用程序開發使用了包含後門插件的IDE,手機下了含有XCODE病毒的應用就會受到影響,蘋果官方迴應,APPSTORE上的應用程序是受到影響,而且下架了一部分受影響的應用,而且部分android產品也受到影響。
18 Android 應用中致使HTTPS中間人攻擊的緣由有?()
A 沒有對SSL證書校驗
B 沒有對主機名進行校驗
C SSL證書被泄露
D 使用WIFI鏈接網絡
答案: ABC
解釋:
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
答案:B
解釋:
ECB:是一種基礎的加密方式,密文被分割成分組長度相等的塊(不足補齊),而後單獨一個個加密,一個個輸出組成密文。
CBC:是一種循環模式,前一個分組的密文和當前分組的明文異或操做後再加密,這樣作的目的是加強破解難度。
CFB/OFB其實是一種反饋模式,目的也是加強破解的難度。
ECB和CBC的加密結果是不同的,二者的模式不一樣,並且CBC會在第一個密碼塊運算時加入一個初始化向量。
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 $uername 參數不過濾,能夠將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 越權-->>> 越權訪問其餘用戶信息。
故以上三個都可以。
0x03 簡答題-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
解釋:
這題有爭議
gb:2+2+1+1 = 6
utf-8: 3+3+1+1 = 8
utf-16:2+2+2+2 = 8
utf-32: 4+4+4+4 = 16
0x04 判斷題-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算法。
0x05 分析題-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策略等等。最後給出後面按期的安全檢查和維護措施。
參考文章:
http://blog.csdn.net/qq_29277155/article/details/51126190
http://blog.csdn.net/qq_29277155/article/details/50971727
我的水平有限,不免有紕漏,歡迎各位多多指導!!^^^_^^^
---------------------
做者:煜銘2011
來源:CSDN
原文:https://blog.csdn.net/qq_29277155/article/details/51628939
版權聲明:本文爲博主原創文章,轉載請附上博文連接!php