幾個(gè)高頻的HVV面試題梳理
XSS 、CSRF、XXE的原理
XSS它是跨站腳本攻擊,用戶提交的數(shù)據(jù)中可以構(gòu)造代碼來執(zhí)行,從而實(shí)現(xiàn)竊取用戶信息等攻擊。
XSS修復(fù)方式:對(duì)字符實(shí)體進(jìn)行轉(zhuǎn)義、使用HTTP Only來禁止JavaScript讀取Cookie值、輸入時(shí)校驗(yàn)、瀏覽器與Web應(yīng)用端采用相同的字符編碼。
CSRF它是跨站請(qǐng)求偽造攻擊,XSS是實(shí)現(xiàn)CSRF的諸多手段中的一種,它是由于沒有在關(guān)鍵操作執(zhí)行時(shí)進(jìn)行是否由用戶自愿發(fā)起的確認(rèn)。
CSRF修復(fù)方式:篩選出需要防范CSRF的頁(yè)面然后嵌入Token、再次輸入密碼、檢驗(yàn)Referer。
XXE是XML外部實(shí)體注入攻擊,XML中可以通過調(diào)用實(shí)體來請(qǐng)求本地或者遠(yuǎn)程內(nèi)容,和遠(yuǎn)程文件保護(hù)類似,會(huì)引發(fā)相關(guān)安全問題,例如敏感文件讀取。
XXE修復(fù)方式:XML解析庫(kù)在調(diào)用時(shí)嚴(yán)格禁止對(duì)外部實(shí)體的解析。
?
CSRF、SSRF和重放攻擊的區(qū)別
CSRF:它是跨站請(qǐng)求偽造攻擊,由客戶端發(fā)起
SSRF:它是服務(wù)器端請(qǐng)求偽造,由服務(wù)器發(fā)起
重放攻擊:它是將截獲的數(shù)據(jù)包進(jìn)行重放,達(dá)到身份認(rèn)證等目的
?
IPS和IDS的區(qū)別
IPS系統(tǒng)是電腦網(wǎng)絡(luò)安全設(shè)施,它是對(duì)防病毒軟件和防火墻的補(bǔ)充。IPS系統(tǒng)是一部能夠監(jiān)視網(wǎng)絡(luò)或網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)資料傳輸行為的計(jì)算機(jī)網(wǎng)絡(luò)安全設(shè)備,能夠即時(shí)的中斷、調(diào)整或隔離一些不正?;蚴蔷哂袀π缘木W(wǎng)絡(luò)資料傳輸行為。
IPS對(duì)于初始者來說,它是位于防火墻和網(wǎng)絡(luò)的設(shè)備之間的設(shè)備。這樣,如果檢測(cè)到攻擊,IPS會(huì)在這種攻擊擴(kuò)散到網(wǎng)絡(luò)的其它地方之前阻止這個(gè)惡意的通信。因此IPS具有檢測(cè)已知和未知攻擊并具有成功防止攻擊的能力。
IDS系統(tǒng)的核心價(jià)值在于通過對(duì)全網(wǎng)信息的分析,了解信息系統(tǒng)的安全狀況,進(jìn)而指導(dǎo)信息系統(tǒng)安全建設(shè)目標(biāo)以及安全策略的確立和調(diào)整,而入侵防御系統(tǒng)的核心價(jià)值在于安全策略的實(shí)施—對(duì)黑客行為的阻擊;IDS系統(tǒng)需要部署在網(wǎng)絡(luò)內(nèi)部,監(jiān)控范圍可以覆蓋整個(gè)子網(wǎng),包括來自外部的數(shù)據(jù)以及內(nèi)部終端之間傳輸?shù)臄?shù)據(jù),入侵防御系統(tǒng)則必須部署在網(wǎng)絡(luò)邊界,抵御來自外部的入侵,對(duì)內(nèi)部攻擊行為無能為力。
IDS局限性是不能反擊網(wǎng)絡(luò)攻擊,因?yàn)镮DS傳感器基于數(shù)據(jù)包嗅探技術(shù),只能眼睜睜地看著網(wǎng)絡(luò)信息流過。IDS只是存在于你的網(wǎng)絡(luò)之外起到報(bào)警的作用,而不是在你的網(wǎng)絡(luò)前面起到防御的作用。IDS不具備檢測(cè)已知和未知攻擊并具有成功防止攻擊的能力。
?
win文件讀取漏洞,會(huì)讀哪些
C:\boot.ini //查看系統(tǒng)版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS配置文件
C:\Windows\repair\sam //存儲(chǔ)系統(tǒng)初次安裝的密碼
C:\Program Files\mysql\my.ini //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD? ?//Mysql root
C:\Windows\php.ini //php配置信息
C:\Windows\my.ini //Mysql配置信息
?
linux文件讀取漏洞,會(huì)讀哪些文件
/root/.ssh/authorized_keys //如需登錄到遠(yuǎn)程主機(jī),需要到.ssh目錄下,新建authorized_keys文件,并將id_rsa.pub內(nèi)容復(fù)制進(jìn)去
/root/.ssh/id_rsa //ssh私鑰,ssh公鑰是id_rsa.pub
/root/.ssh/id_ras.keystore //記錄每個(gè)訪問計(jì)算機(jī)用戶的公鑰
/root/.ssh/known_hosts
//ssh會(huì)把每個(gè)訪問過計(jì)算機(jī)的公鑰(public key)都記錄在~/.ssh/known_hosts。當(dāng)下次訪問相同計(jì)算機(jī)時(shí),OpenSSH會(huì)核對(duì)公鑰。如果公鑰不同,OpenSSH會(huì)發(fā)出警告, 避免你受到DNS Hijack之類的攻擊。
/etc/passwd // 賬戶信息
/etc/shadow // 賬戶密碼文件
/etc/my.cnf //mysql 配置文件
/etc/httpd/conf/httpd.conf // Apache配置文件
/root/.bash_history //用戶歷史命令記錄文件
/root/.mysql_history //mysql歷史命令記錄文件
/proc/self/fd/fd[0-9]*(文件標(biāo)識(shí)符)
/proc/mounts //記錄系統(tǒng)掛載設(shè)備
/porc/config.gz //內(nèi)核配置文件
/var/lib/mlocate/mlocate.db //全文件路徑
/porc/self/cmdline //當(dāng)前進(jìn)程的cmdline參數(shù)
?
如何排查系統(tǒng)內(nèi)存shell
?
判斷它是基于什么方法注入的內(nèi)存馬,可以查看web日志是否有可疑的web訪問日志,如果是filter或者listener類型就會(huì)有大量url請(qǐng)求路徑相同參數(shù)不同的,或者頁(yè)面不存在但是返回200的,查看是否有類似哥斯拉、冰蝎相同的url請(qǐng)求,哥斯拉和冰蝎的內(nèi)存馬注入流量特征與普通webshell的流量特征基本吻合。
通過查找返回200的url路徑對(duì)比web目錄下是否真實(shí)存在文件,如不存在大概率為內(nèi)存馬。如在web日志中并未發(fā)現(xiàn)異常,可以排查是否為中間件漏洞導(dǎo)致代碼執(zhí)行注入內(nèi)存馬,排查中間件的error.log日志查看是否有可疑的報(bào)錯(cuò),根據(jù)注入時(shí)間和方法,根據(jù)業(yè)務(wù)使用的組件,排查是否可能存在java代碼執(zhí)行漏洞以及是否存在過webshell,排查框架漏洞,反序列化漏洞。
?
webshell如何響應(yīng)
?
基于PDCERF模型將應(yīng)急響應(yīng)分成6個(gè)階段工作:準(zhǔn)備(Preparation)、檢測(cè)(Detection)、抑制(Containment)、根除(Eradication)、恢復(fù)(Recovery)、跟蹤(Follow-up)。
Prepare(準(zhǔn)備):分析資產(chǎn)的風(fēng)險(xiǎn)、組建管理 人員團(tuán)隊(duì)、風(fēng)險(xiǎn)加固、保障資源儲(chǔ)備、技術(shù)支持資源庫(kù)
Detection(檢測(cè)):日常運(yùn)維監(jiān)控、事件判斷、事件上報(bào):包括防火墻、系統(tǒng)、web服務(wù)器、IDS/WAF/SIEM中的日志,不正常或者是執(zhí)行了越權(quán)操作的用戶,甚至還有管理員的報(bào)告
Containment(抑制):抑制階段的主要任務(wù)是限制事件擴(kuò)散和影響的范圍。抑制舉措往往會(huì)對(duì)合法業(yè)務(wù)流量造成影響,最有效的抑制方式是盡可能地靠近攻擊的發(fā)起端實(shí)施抑制
Eradication(根除):根除階段的主要任務(wù)是通過事件分析查明事件危害的方式,并且給出清除危害的解決方案。
對(duì)事件的確認(rèn)僅是初步的事件分析過程。事件分析的目的是找出問題出現(xiàn)的根本原因。在事件分析的過程中主要有主動(dòng)和被動(dòng)2種方式。主動(dòng)方式是采用攻擊誘騙技術(shù),通過讓攻擊方去侵入一個(gè)受監(jiān)視存在漏洞的系統(tǒng),直接觀察到攻擊方所采用的攻擊方法。被動(dòng)方式是根據(jù)系統(tǒng)的異?,F(xiàn)象去追查問題的根本原因。
Recover(恢復(fù)):主要任務(wù)是把被破壞的信息徹底地還原到正常運(yùn)作狀態(tài)。確定使系統(tǒng)恢復(fù)正常的需求和時(shí)間表、從可信的備份介質(zhì)中恢復(fù)用戶數(shù)據(jù)、打開系統(tǒng)和應(yīng)用服務(wù)、恢復(fù)系統(tǒng)網(wǎng)絡(luò)連接、驗(yàn)證恢復(fù)系統(tǒng)、觀察其他的掃描、探測(cè)等可能表示入侵者再次侵襲的信號(hào)。
Follow-Up(跟蹤):主要任務(wù)是回顧并整合應(yīng)急響應(yīng)過程的相關(guān)信息,進(jìn)行事后分析總結(jié)、修訂安全計(jì)劃、政策、程序并進(jìn)行訓(xùn)練以防止再次入侵,基于入侵的嚴(yán)重性和影響,確定是否進(jìn)行新的風(fēng)險(xiǎn)分析、給系統(tǒng)和網(wǎng)絡(luò)資產(chǎn)制定一個(gè)新的目錄清單、如果需要,參與調(diào)查和起訴。這一階段的工作對(duì)于準(zhǔn)備階段工作的開展起到重要的支持作用。應(yīng)急響應(yīng)報(bào)告、應(yīng)急事件調(diào)查、應(yīng)急響應(yīng)總結(jié)
?
webshell原理
?Webshell它是一種網(wǎng)頁(yè)后門。攻擊者在入侵一個(gè)網(wǎng)站后,通常會(huì)將asp或php后門文件與網(wǎng)站服務(wù)器WEB目錄下正常的網(wǎng)頁(yè)文件混在一起,然后就可以使用瀏覽器來訪問asp或者php后門,得到一個(gè)命令執(zhí)行環(huán)境,以達(dá)到控制網(wǎng)站服務(wù)器的目的。
攻擊者入侵服務(wù)器,使用webshell,不管是傳文件還是改文件,必然有一個(gè)文件會(huì)包含webshell代碼,很容易想到從文件代碼入手,這是靜態(tài)特征檢測(cè);webshell運(yùn)行后,B/S數(shù)據(jù)通過HTTP交互,HTTP請(qǐng)求/響應(yīng)中可以找到蛛絲馬跡。
?
webshell檢測(cè)方案
?Webshell靜態(tài)檢測(cè):通過匹配特征碼,特征值,危險(xiǎn)函數(shù)來查找webshell的方法,只能查找已知的webshell,并且誤報(bào)率漏報(bào)率會(huì)比較高,但是如果規(guī)則完善,可以減低誤報(bào)率,但是漏報(bào)率必定會(huì)有所提高。優(yōu)點(diǎn)是快速方便,對(duì)已知的webshell查找準(zhǔn)確率高,部署方便,一個(gè)腳本就能搞定。缺點(diǎn)漏報(bào)率、誤報(bào)率高,無法查找0day型webshell,而且容易被繞過。
檢測(cè)webshell的開源工具:
https://github.com/he1m4n6a/findWebshell
Webshell動(dòng)態(tài)檢測(cè):Linux下就是nobody用戶起了bash,Window下就是IIS User啟動(dòng)cmd,這些都是動(dòng)態(tài)特征。如果攻擊者反向連接的話,Agent和IDS都可以抓現(xiàn)行。Webshell總有一個(gè)HTTP請(qǐng)求,如果我在網(wǎng)絡(luò)層監(jiān)控HTTP,并且檢測(cè)到有人訪問了一個(gè)從沒訪問過的文件,并且返回了200,則很容易定位到webshell,這便是http異常模型檢測(cè),就和檢測(cè)文件變化一樣,如果非管理員新增文件,則說明被人入侵了。缺點(diǎn)也很明顯,攻擊者只要利用原文件就很輕易繞過了,并且部署代價(jià)高,網(wǎng)站時(shí)常更新的話規(guī)則也要不斷添加。
Webshell日志檢測(cè):使用Webshell一般不會(huì)在系統(tǒng)日志中留下記錄,但是會(huì)在網(wǎng)站的web日志中留下Webshell頁(yè)面的訪問數(shù)據(jù)和數(shù)據(jù)提交記錄。日志分析檢測(cè)技術(shù)通過大量的日志文件建立請(qǐng)求模型從而檢測(cè)出異常文件。
?
webshell的防護(hù)方案
?Webshell可參考防護(hù)方案有3種:
1、將專門存放上傳文件的文件夾里面的腳本類型文件,解析成其他類型的文件,服務(wù)器不會(huì)以腳本類型來執(zhí)行它。
2、匹配文件夾里的腳本類型文件,將其設(shè)置為無法讀取及操作。
3、將文件上傳到一個(gè)單獨(dú)的文件夾,給一個(gè)二級(jí)的域名,然后不給這個(gè)虛擬站點(diǎn)解析腳本的權(quán)限,聽說很多網(wǎng)站都用這種方式。
?
談?wù)劰羲菰春头粗?/p>
?
攻擊源捕獲
基于安全設(shè)備報(bào)警:掃描IP、威脅阻斷、病毒木馬、入侵事件等等
基于日志與流量分析:異常通訊流量、攻擊源與攻擊目標(biāo)等
基于服務(wù)器資源異常:異常的文件、賬號(hào)、進(jìn)程、端口、啟動(dòng)項(xiàng)、計(jì)劃任務(wù)和服務(wù)等
通過郵件釣魚:獲取惡意文件樣本、釣魚網(wǎng)站URL
通過蜜罐系統(tǒng):獲取攻擊者行為、意圖的相關(guān)信息
溯源反制手段
IP定位技術(shù):根據(jù)IP定位物理地址獲取代理IP
溯源案例:通過IP端口掃描,反向滲透服務(wù)器進(jìn)行分析,最終定位到攻擊者相關(guān)信息
ID追蹤術(shù):ID追蹤術(shù),搜索引擎、社交平臺(tái)、技術(shù)論壇、社工庫(kù)匹配
溯源案例:利用ID從技術(shù)論壇追溯郵箱,繼續(xù)通過郵箱反追蹤真實(shí)姓名,通過姓名找到相關(guān)簡(jiǎn)歷信息
網(wǎng)站url:域名Whois查詢--注冊(cè)人姓名、地址、電話和郵箱。
溯源案例:通過攻擊IP歷史解析記錄/域名,對(duì)域名注冊(cè)信息進(jìn)行溯源分析
惡意樣本:提取樣本特征、用戶名、ID、郵箱、C2服務(wù)器等信息
溯源案例:樣本分析過程中,發(fā)現(xiàn)攻擊者的個(gè)人ID和QQ,成功定位到攻擊者。
社交賬號(hào):
基于JSONP跨域,獲取攻擊者的主機(jī)信息、瀏覽器信息、真實(shí) IP及社交信息等
利用條件:可以找到相關(guān)社交網(wǎng)站的jsonp接口泄露敏感信息,相關(guān)網(wǎng)站登錄未注銷
?
web應(yīng)用10大安全漏洞
?1、未驗(yàn)證參數(shù):?Web請(qǐng)求返回的信息沒有經(jīng)過有效性驗(yàn)證就提交給Web應(yīng)用程序使用。攻擊者可以利用返回信息中的缺陷,包括URL、請(qǐng)求字符串、cookie 頭部、表單項(xiàng),隱含參數(shù)傳遞代碼攻擊運(yùn)行Web程序的組件。
2、訪問控制缺陷:用戶身份認(rèn)證策略沒有被執(zhí)行,導(dǎo)致非法用戶可以操作信息。攻擊者可以利用這個(gè)漏洞得到其他用戶賬號(hào)、瀏覽敏感文件、刪除更改內(nèi)容,執(zhí)行未授權(quán)的訪問,甚至取得網(wǎng)站管理的權(quán)限。
3、賬戶及會(huì)話管理缺陷:賬戶和會(huì)話標(biāo)記未被有效保護(hù)。攻擊者可以得到密碼、解密密鑰、會(huì)話Cookie和其他標(biāo)記,并突破用戶權(quán)限限制或利用假身份得到其他用戶信任。
4、跨站腳本漏洞:在遠(yuǎn)程Web頁(yè)面的html代碼中插入的具有惡意目的的數(shù)據(jù),用戶認(rèn)為該頁(yè)面是可信賴的,但是當(dāng)瀏覽器下載該頁(yè)面時(shí),嵌入其中的腳本將被解釋執(zhí)行。最典型的例子就是論壇處理用戶評(píng)論的應(yīng)用程序,這些有跨站腳本漏洞的應(yīng)用程序會(huì)向客戶端返回其他用戶先前輸入的內(nèi)容,- -些網(wǎng)站的錯(cuò)誤處理頁(yè)面也存在此類問題。瀏覽器收到了嵌入惡意代碼的響應(yīng),那么這些惡意代碼就可能被執(zhí)行。
5、緩沖區(qū)溢出:?Web應(yīng)用組件沒有正確檢驗(yàn)輸入數(shù)據(jù)的有效性,倒使數(shù)據(jù)溢出,并獲得程序的控制權(quán)??赡鼙焕玫慕M件包括CGI,庫(kù)文件、驅(qū)動(dòng)文件和Web服務(wù)器。
6、命令注入漏洞:?Web應(yīng)用程序在與外部系統(tǒng)或本地操作系統(tǒng)交互時(shí),需要傳遞參數(shù).如果攻擊者在傳遞的參數(shù)中嵌入了惡意代碼,外部系統(tǒng)可能會(huì)執(zhí)行那些指令。比如SQL注入攻擊,就是攻擊者把SQL命令插入到Web表單的輸入域或頁(yè)面請(qǐng)求的查詢字符串,欺騙服務(wù)器執(zhí)行惡意的SQL命令。
7、錯(cuò)誤處理問題:在正常操作沒有被有效處理的情況下,會(huì)產(chǎn)生錯(cuò)誤提示,如內(nèi)存不夠、系統(tǒng)調(diào)用失敗、網(wǎng)絡(luò)超時(shí)等。如果攻擊者人為構(gòu)造Web應(yīng)用不能處理的情況,就可能得到一些反饋信息,就有可能從中得到系統(tǒng)的相關(guān)信息。系統(tǒng)如何工作這樣重要的信息顯示出來,并且暴露了那些出錯(cuò)信息背后的隱含意義。例如,當(dāng)發(fā)出請(qǐng)求包試圖判斷-一個(gè)文件是否在遠(yuǎn)程主機(jī)上存在的時(shí)候,如果返回信息為“文件未找到”則為無此文件,而如果返回信息為“訪問被拒絕"則為文件存在但無訪問權(quán)限。
8、密碼學(xué)使用不當(dāng):?Web應(yīng)用經(jīng)常會(huì)使用密碼機(jī)制來保護(hù)信息存儲(chǔ)和傳輸?shù)陌踩?,比如說開機(jī)或文件密碼、銀行賬號(hào)、機(jī)密文件等。然而這些用于保密用途的程序代碼也可能存在一些安全隱患,這可能是由于開發(fā)者的原因造成的。
9、遠(yuǎn)程管理漏洞:許多Web應(yīng)用允許管理者通過Web接口來對(duì)站點(diǎn)實(shí)施遠(yuǎn)程管理。如果這些管理機(jī)制沒有得到有效的管理,攻擊者就可能通過接口擁有站點(diǎn)的全部權(quán)限。
10、Web服務(wù)器及應(yīng)用服務(wù)器配置不當(dāng):對(duì)Web應(yīng)用來說,健壯的服務(wù)器是至關(guān)重要的。服務(wù)器的配置都較復(fù)雜,比如Apache服務(wù)器的配置文件完全是由命令和注釋組成,一個(gè)命令包括若千個(gè)參數(shù)。如果配置不當(dāng)對(duì)安全性影響最大。
?