回憶一次校招筆試的題目
判斷題
- Windows遠程登錄服務對應的端口號是3306。(錯 )
3306不是mysql默認端口嗎,遠程登錄是3389啊
- 網站對外只開放80端口,這樣可以防止攻擊者以此服務器做跳板進行內網滲透。( 錯 )
- ps -aux,ps -ef命令可以查看進程及進程PID等詳細信息。( 對 )
- ping -l 65900 -t 192.168.222.112可以造成拒絕服務攻擊。( 對 )
“死亡之ping”仍然是經典的拒絕服務攻擊
- more命令可以查看Windows系統文本文件的內容。( 對 )
這道題錯了的話,該復習復習windows指令了。
- 封堵445端口、禁用SMB服務可以抑制永恒之藍加密勒索病毒的傳播。( 對 )
- 通過sqlmap可以進行SQL註入攻擊。( 對 )
- 某員工的移動硬盤存儲了大量的公司核心商業資料,現在需要更新硬盤,為了保證其不被其它人竊取,所以就格式化硬盤,並且進行了低級格式化,這樣的做法可以保證數據不被泄露。( 錯 )
- %TGB4rfv7ujm不屬於弱口令。( 錯 )
- AWVS是一款漏洞掃描工具。( 對 )
單選題
- 在保證密碼安全中,我們應采取的措施中不正確的是( C )
A、不用生日做密碼
B、不要使用少於8位的密碼
C、密碼保存到我的郵箱中
D、使用U-key雙因子認證
- 當你感覺到你的Windows服務器運行速度明顯減慢,當你打開任務管理器後發現CPU的使用率達到了百分之百,你最有可能認為你受到了哪一種攻擊( B)
A、特洛伊木馬
B、拒絕服務(DOS)
C、欺騙
D、中間人攻擊
- 下列哪一種攻擊手法屬於SQL註入攻擊( B)
A、http://www.xxx.com/index.jsp?id=AAAAAAAAAAAAAAAAAAAAAAAA
B、http://www.xxx.com/index.jsp?id=1or 1=1 and exist(select * from admin)>0 and ‘1‘=‘1
C、http://www.xxx.com/index.jsp?id=1對id參數的值進行遍歷
D、http://www.xxx.com/index.jsp?id=../../../../../../../etc/passwd
- 下列哪一種攻擊手法屬於XSS攻擊( B)
A、http://www.xxx.com/index.jsp?id=1234567890
B、http://www.xxx.com/index.jsp?id=1‘><>alert(/123456/)</>
C、http://www.xxx.com/index.jsp?id=@@version
D、http://www.xxx.com/index.jsp?id=../../1.pdf
- 下列哪一種攻擊手法屬於CSRF(跨站請求偽造攻擊)( C )
A、http://www.xxx.com/index.jsp?user=adminand 1=1
B、http://www.xxx.com/index.jsp?user=admin‘><imgsrc=1 =alert(1)>
C、http://www.xxx.com/index.jsp?username=zhangsan&money=10000
D、http://www.xxx.com/index.jsp?iusername=‘or ‘1‘=‘1
- 你從米特尼克的故事中,學到了哪一門技術:( C )
A、SQL註入攻擊技術
B、XSS跨站腳本攻擊技術
C、社會工程學
D、弱口令猜解技術
- 李明在使用Nmap對目標網絡進行掃描時發現,某一個主機開放了25 SMTP和110 POP3端口,此主機最有可能是什麽?(B )
A、文件服務器
B、郵件服務器
C、WEB服務器
D、DNS服務器
- 李明在使用Nmap對目標網絡進行服務探測時發現,某一個主機開放了22端口的SSH服務和1433端口的SQL Server服務,此主機最有可能是什麽操作系統?( A)
A、Windows
B、Linux
C、防火墻設備
D、廠商自己做的非主流系統
- 下列哪一中註入手法屬於SQL Server數據庫?( C )
A、load_file()讀文件
B、intooutfile寫文件
C、xp_cmdshell執行系統命令
D、select* from dual
- 你會優先選擇哪一款工具對SQL註入進行滲透測試( B )
A、APPScan
B、Sqlmap
C、火狐插件
D、Metasploit
- 你會選擇哪一款工具對MS08-067遠程溢出漏洞進行滲透測試 ( C )
A、Burpsuite
B、AWVS
C、Metasploit
D、Sqlmap
- /test.asp;1.jpg屬於哪一種中間件的解析漏洞 ( B )
A、Apache
B、IIS
C、Tomcat
D、Weblogic
- 你認為下面哪一種方式可以直接進入網站後臺 ( D)
A、XSS跨站漏洞
B、任意文件下載
C、暴力破解
D、admin‘or ‘1‘=‘1
- 你認為對上傳漏洞的修補,哪一種方式比較徹底 ( A )
A、對文件擴展名定義強壯的白名單策略
B、對文件擴展名定義強壯的黑名單策略
C、升級中間件到最新的版本
D、安裝安全狗等WAF軟件、賽門鐵克等殺毒軟件
這裏說一下,對比黑名單策略,強壯的白名單對於文件上傳漏洞的防禦能力更加強大一些
- 作為一個管理員,服務器上存在的那些文件應該及時刪除 ( A )
A、index.jsp.bak
B、login.jsp
C、web.xml
D、member.jspx
可能會造成信息泄露
- Tomcat日誌功能在哪裏進行設置__C_?
- tomcat-user.xml 用戶名和密碼
- web.xml
- server.xml 網站目錄
- users.xml
- 下圖為主機受到DOS攻擊時,使用netstat –an 查看連接數的截圖,請問該主機受到哪種類型的DOS攻擊? A
- SYN-FLOOD
- 連接耗盡
- UDP-FLOOD
- CC
- 假設網站的download.jsp存在目錄遍歷漏洞,網站的絕對路徑為/home/web/user/download.jsp,下列的語句,哪種攻擊代碼可以成功下載系統的passwd敏感文件? (B)
- ../../etc/passwd
- .././.././.././etc/passwd
- .././././.././././etc/passwd
- ..//..//..//etc/passwd
- NMAP工具有什麽功能? A
- 端口掃描
- 漏洞掃描
- 註入
- 密碼破解
- MS12-020及MS15-034可以達到的攻擊效果為? B
- 拿到webshell
- 造成Windows操作系統藍屏重啟
- 獲取數據庫
D.泄露敏感信息
多選題
- 下列密碼屬於弱口令的是( ABCD) 註意D選項
A、iloveu1988
B、123!@#456
C、P@ssw0rd
D、1qaz@WSX#EDC
- 下列掃描工具中哪些主要用來進行WEB應用漏洞掃描( B C )
Jsky是什麽????我也是事後才知道…
A、Nessus
B、AWVS
C、Jsky
D、Metasploit
- 跨站腳本攻擊XSS包括哪三大類型(ABD)
A、存儲型跨站
B、反射型跨站
C、CSRF、DOS型
D、DOM跨站
- SQL註入攻擊可以造成的危害性有哪些(ABCD)
A、獲取用戶身份證信息、個人密碼、聊天記錄等等
B、私自添加管理員賬號
C、向服務器寫一個木馬文件、永久的後門
D、使網站甚至服務器造成永久性的、無法挽回的破壞
- XSS反射型跨站可以造成的危害性有哪些(ABCD)Java
A、獲取用戶的密碼信息
B、私自添加管理員賬號
C、向網站植入木馬
D、進行提權操作
- SQL註入中空格被過濾的話,哪些字符可以替代(ABCD)
A、%0A
B、%09
C、/**/
D、%0D
- 哪些SQL語句可以繞過WAF攔截並且是正確的(ABCD)
A、select%0A111%0Bfromadmin
B、s%ele%ct(111)fr%omadm%in
C、seLseLectect111 FrFroMoM admin
D、select/*id?=1*/111/*id?=1*/fromadmin
- 以下哪些Struts2漏洞是2017年新出的(BC )
A、Struts2-016
B、Struts2-045
C、Struts2-052
D、Struts2-022
問答題
1. 請簡要說明Burpsuite、AWVS、sqlmap、Nmap、Metasploit這些工具在滲透
測試中的用途。
Burpsuite:最重要的還是burpproxy來抓包,改包。
intruder攻擊框架,
spider網站爬蟲
repeater 通過proxy發過來的數據包,可以更直觀的更改數據包來看到http的響應。
decoder:常用的編碼解碼工具
AWVS:知名的網絡漏洞綜合掃描器。
Sqlmap:常用的sql註入工具,其中包括
1、基於布爾的盲註,即可以根據返回頁面判斷條件真假的註入。
2、基於時間的盲註,即不能根據頁面返回內容判斷任何信息,用條件語句查看時間延遲語句是否執行(即頁面返回時間是否增加)來判斷。
3、基於報錯註入,即頁面會返回錯誤信息,或者把註入的語句的結果直接返回在頁面中。
4、聯合查詢註入,可以使用union的情況下的註入。
5、堆查詢註入,可以同時執行多條語句的執行時的註入。
Nmap:常用的還是端口掃描等等的信息收集,也可以安裝一些上手的插件來做輔助。
Metasploit:安全漏洞的檢測工具,通過信息收集,來判斷出可能存在的主機漏洞,從而調用一些payload來exploit
2. 請簡要說明SQL註入、XSS漏洞、CSRF漏洞的原理及修補方案。
首先就這三種漏洞而言,均屬於WEB漏洞,
所以問題大部分都出在代碼的邏輯和非法字符的過濾上。
原理
1)SQL註入:設計程序,忽略了對輸入字符串中夾帶的SQL指令的檢查,被數據庫誤認為是正常的SQL指令而運行,從而使數據庫受到攻擊,可能導致數據被竊取、更改、刪除,以及進一步導致網站被嵌入惡意代碼、被植入後門程序等
2)XSS漏洞:XSS主要應用於釣魚詐騙,盜取密碼和個人隱私等,XSS攻擊對WEB服務器雖無直接危害,但是它借助網站進行傳播,使網站的使用用戶受到攻擊,導致網站用戶帳號被竊取,從而對網站建設也產生了較嚴重的危害。
3)CSRF :和XSS做對比的是,前者稱為跨站請求偽造,後者則稱為跨站腳本攻擊。
如果說XSS是一直兇猛的野獸,那麽CSRF則更像是在草叢中,伺機而動的蛇。
通過盜用用戶cookie,來偽造郵件,盜取賬號,甚至付款等等。XSS攻擊使用到的技術主要為HTML和Java,也包括VB和Action等。XSS攻擊對WEB服務器雖無直接危害,但是它借助網站進行傳播,使網站的使用用戶受到攻擊,導致網站用戶帳號被竊取,從而對網站也產生了較嚴重的危害。
防禦方面
1.SQL註入方面:常見的防範方法
(1)所有的查詢語句都使用數據庫提供的參數化查詢接口,參數化的語句使用參數而不是將用戶輸入變量嵌入到SQL語句中。當前幾乎所有的數據庫系統都提供了參數化SQL語句執行接口,使用此接口可以非常有效的防止SQL註入攻擊。
(2)對進入數據庫的特殊字符(’”<>&*;等)進行轉義處理,或編碼轉換。
(3)確認每種數據的類型,比如數字型的數據就必須是數字,數據庫中的存儲字段必須對應為int型。
(4)數據長度應該嚴格規定,能在一定程度上防止比較長的SQL註入語句無法正確執行。
(5)網站每個數據層的編碼統一,建議全部使用UTF-8編碼,上下層編碼不一致有可能導致一些過濾模型被繞過。
(6)嚴格限制網站用戶的數據庫的操作權限,給此用戶提供僅僅能夠滿足其工作的權限,從而最大限度的減少註入攻擊對數據庫的危害。
(7)避免網站顯示SQL錯誤信息,比如類型錯誤、字段不匹配等,防止攻擊者利用這些錯誤信息進行一些判斷。
(8)在網站發布之前建議使用一些專業的SQL註入檢測工具進行檢測,及時修補這些SQL註入漏洞。
2.常用的防止XSS技術包括:
(1)與SQL註入防護的建議一樣,假定所有輸入都是可疑的,必須對所有輸入中的、iframe等字樣進行嚴格的檢查。這裏的輸入不僅僅是用戶可以直接交互的輸入接口,也包括HTTP請求中的Cookie中的變量,HTTP請求頭部中的變量等。
(2)不僅要驗證數據的類型,還要驗證其格式、長度、範圍和內容。
(3)不要僅僅在客戶端做數據的驗證與過濾,關鍵的過濾步驟在服務端進行。
(4)對輸出的數據也要檢查,數據庫裏的值有可能會在一個大網站的多處都有輸出,即使在輸入做了編碼等操作,在各處的輸出點時也要進行安全檢查。
(5)在發布應用程序之前測試所有已知的威脅。
3.關於CSRF的防禦
(1).CookieHashing(所有表單都包含同一個偽隨機值):
這可能是最簡單的解決方案了,因為攻擊者不能獲得第三方的Cookie(理論上),所以表單中的數據也就構造失敗了:>
(2).驗證碼
這個方案的思路是:每次的用戶提交都需要用戶在表單中填寫一個圖片上的隨機字符串,厄....這個方案可以完全解決CSRF,但個人覺得在易用性方面似乎不是太好,還有聽聞是驗證碼圖片的使用涉及了一個被稱為MHTML的Bug,可能在某些版本的微軟IE中受影響。
(3).One-TimeTokens(不同的表單包含一個不同的偽隨機值)
在實現One-TimeTokens時,需要註意一點:就是“並行會話的兼容”。如果用戶在一個站點上同時打開了兩個不同的表單,CSRF保護措施不應該影響到他對任何表單的提交。考慮一下如果每次表單被裝入時站點生成一個偽隨機值來覆蓋以前的偽隨機值將會發生什麽情況:用戶只能成功地提交他最後打開的表單,因為所有其他的表單都含有非法的偽隨機值。必須小心操作以確保CSRF保護措施不會影響選項卡式的瀏覽或者利用多個瀏覽器窗口瀏覽一個站點。
(此題如果要答的全面的話,估計要寫很多,不過個人認為,簡明扼要的去敘述自己的觀點就可以了,因為卷子給的地方太小了,寫不下這麽多……)
3. 請列舉常見的上傳漏洞(至少寫出十種),並簡要說明其利用方法。
一開始讀完題的時候,我都是懵逼的...
十種,撓頭了半天也想不出來十種...
後來才知道自己功力不行,忘了web容器的解析漏洞也算是上傳漏洞。
答案
IIS解析漏洞有兩種:
1.當建立*.asa、*.asp格式的文件夾時,其目錄下的任意文件都將被IIS當作asp文件來解析。
2.當文件為*.asp;1.jpg時,IIS6.0同樣會以ASP腳本來執行。
Apache解析漏洞test.php.x1.x2.x3;
3.在Apache1.x和Apache2.x中1.php.rar會被當作php文件執行。
上傳的文件命名為:test.php.x1.x2.x3,Apache是從右往左判斷後綴
本地上傳繞過:
4.前臺腳本檢測擴展名—繞過
當用戶在客戶端選擇文件點擊上傳的時候,客戶端還沒有向服務器發送任何消息,就對本地文件進行檢測來判斷是否是可以上傳的類型,這種方式稱為前臺腳本檢測擴展名。
5.Content-Type檢測文件類型—繞過
當瀏覽器在上傳文件到服務器的時候,服務器對說上傳文件的Content-Type類型進行檢測,如果是白名單允許的,則可以正常上傳,否則上傳失敗。
6.文件系統00截斷—繞過
在上傳的時候,當文件系統讀到【0x00】時,會認為文件已經結束。利用00截斷就是利用程序員在寫程序時對文件的上傳路徑過濾不嚴格,產生0x00上傳截斷漏洞。
7.服務器端擴展名檢測黑名單—繞過
當瀏覽器將文件提交到服務器端的時候,服務器端會根據設定的黑白名單對瀏覽器提交上來的文件擴展名進行檢測,如果上傳的文件擴展名不符合黑白名單的限制,則不予上傳,否則上傳成功。
8.JS檢測上傳文件—繞過
上傳文件時,對方使用Java語句語法檢測上傳文件的合法性問題。
9.重寫解析規則—繞過
上傳覆蓋.htaccess文件,重寫解析規則,將上傳的帶有腳本馬的圖片以腳本方式解析。
10.後綴名大小寫繞過
用於只將小寫的腳本後綴名(如php)過濾掉的場合;
例如:將Burpsuite截獲的數據包中的文件名【evil.php】改為【evil.Php】
11.雙寫後綴名繞過
用於只將文件後綴名,例如"php"字符串過濾的場合;
例如:上傳時將Burpsuite截獲的數據包中文件名【evil.php】改為【evil.pphphp】,那麽過濾了第一個"php"字符串"後,開頭的‘p‘和結尾的‘hp‘就組合又形成了【php】。
12. 特殊後綴名繞過
用於檢測文件合法性的腳本有問題的場合;
例如:將Burpsuite截獲的數據包中【evil.php】名字改為【evil.php6】,或加個空格改為【evil.php】等。
4. 公司獲得授權對一家金融公司從外網做白盒測試,目標是取得內網域控權限及核心業務系統權限,請具體描述您的滲透步驟。
第一步,明確目標並進行信息收集:
包括但不限於:
whois、網站源IP、旁站、C段網站、服務器系統版本、容器版本、程序版本、數據庫類型、二級域名、防火墻,後臺,未授權頁面,敏感url,域名註冊人員信息,web應用中網站發帖人的id,管理員姓名,各個端口應用。
第二步,漏洞探索
- 漏洞綜合掃描
- 主機漏洞
- web容器配置問題,或老版本容器漏洞
- web應用漏洞,各個業務單元的漏洞。
- 端口服務漏洞,常見的各個端口弱口令等
第三步,漏洞驗證
將上步發現存在或可能存在的漏洞,都對其進行一一檢查。
- 自動化驗證:Sqlmap metasploit
- 手工驗證,根據公開資源進行驗證
- 試驗驗證:自己搭建模擬環境進行驗證
- 登陸猜解:有時可以嘗試猜解一下登陸口的賬號密碼等信息
- 業務漏洞驗證:如發現業務漏洞,要進行驗證
找到信息收集的通用、缺省口令等
第四步,進一步測試
當拿到系統權限時,進行進一步的內網入侵,重復二三步。
第五步,信息整理
通過滲透測試所拿到的信息,整理漏洞過程中的poc,exp等
記錄操作中的步驟,以及高危漏洞獲得權限的位置,web應用漏洞位置。
第六步,生成報告
根據信息整理的結果,生成完整的滲透測試報告,對於發現的漏洞,提出可修復意見。
5. 現在公司獲得授權對京東或者唯品會之類的電商網站做滲透測試,請簡要描述其可能存在哪些類型的漏洞及您的測試步驟。
電商與其他類型網站不同,涉及大量用戶及支付功能的安全漏洞更加復雜。
5.1驗證碼回傳漏洞
抓取response數據包檢查信息。
5.2任意用戶註冊漏洞
第一步,利用自己的手機號接收驗證碼進行驗證,下一步跳轉到一個設定密碼的頁面
第二步,抓包,篡改手機號,使用任意手機號進行註冊
5.3短信轟炸
第一種,有一定時間間隔,無限下發。
第二種,無限制,無限下發。
5.4暴力破解
暴力窮舉的方式大量嘗試性的猜破密碼。
5.4業務一致性安全
通過抓包修改手機號碼參數為其他號碼嘗試獲取信息
例如在辦理查詢頁面,輸入自己的號碼然後抓包,修改手機號碼參數為其他人號碼,查看是否能查詢其他人的業務。
郵箱或者用戶篡改
抓包修改用戶或者郵箱參數為其他用戶或者郵箱
訂單id篡改
查看自己的訂單id,然後修改id(加減一)查看是否能查看其它訂單信息。
商品編號篡改
5.5 業務數據篡改
金額數據篡改
抓包修改金額等字段,例如在支付頁面抓取請求中商品的金額字段,修改成任意數額的金額並提交,查看能否以修改後的金額數據完成業務流程。
商品數量篡改
抓包修改商品數量等字段,將請求中的商品數量修改成任意數額,如負數並提交,查看能否以修改後的數量完成業務流程。
最大數限制突破
很多商品限制用戶購買數量時,服務器僅在頁面通過js腳本限制,未在服務器端校驗用戶提交的數量,通過抓包修改商品最大數限制,將請求中的商品數量改為大於最大數限制的值,查看能否以修改後的數量完成業務流程。
本地js參數修改
部分應用程序通過Java處理用戶提交的請求,通過修改Java腳本,測試修改後的數據是否影響到用戶。
電商關註的是業務邏輯漏洞、越權。具體的就是價格篡改、訂單便利、客戶敏感信息泄露等等漏洞,並描述漏洞測試方法及測試點有哪些
回憶一次校招筆試的題目