掃描配置:證書(shū)與代理設(shè)置全流程)
如果你之前玩過(guò)主動(dòng)掃描器肯定遇到過(guò)這種場(chǎng)景目標(biāo)站點(diǎn)稍微有點(diǎn)防護(hù)線程一開(kāi)多就被封IP或者掃出來(lái)的報(bào)告里大半是404和低危信息真正有價(jià)值的漏洞反而被淹沒(méi)了。后來(lái)我轉(zhuǎn)向被動(dòng)掃描模式才找回了“邊瀏覽邊探測(cè)”的舒適節(jié)奏。在Windows上配置Xray被動(dòng)掃描環(huán)境說(shuō)白了就四件事下載正確版本、生成CA證書(shū)、把證書(shū)裝進(jìn)系統(tǒng)信任區(qū)、再把瀏覽器代理指到本地端口。每一步單看都不難但新手踩坑基本都集中在“我以為裝好了”和“瀏覽器其實(shí)沒(méi)認(rèn)”這些細(xì)節(jié)上。這篇就按實(shí)際操作順序走一遍全程針對(duì)Windows系統(tǒng)不說(shuō)多余的理論每一步都告訴你為什么這么做、哪里容易翻車。內(nèi)容適合剛接觸安全測(cè)試、準(zhǔn)備搭建第一套Xray被動(dòng)掃描環(huán)境的新手也適合之前只跑過(guò)主動(dòng)掃描、對(duì)代理模式不太熟的同行。1. 先搞懂被動(dòng)掃描為什么它比主動(dòng)掃描更省心1.1 被動(dòng)掃描的核心理念被動(dòng)掃描這名字聽(tīng)上去很玄實(shí)際拆開(kāi)就一句話掃描器不主動(dòng)發(fā)包而是當(dāng)一個(gè)“中間觀察者”。它把HTTP/HTTPS代理服務(wù)開(kāi)在本地你通過(guò)瀏覽器訪問(wèn)目標(biāo)站點(diǎn)時(shí)所有請(qǐng)求和響應(yīng)都會(huì)經(jīng)過(guò)這個(gè)代理Xray在流量里提取參數(shù)、分析響應(yīng)、匹配漏洞規(guī)則。這和主動(dòng)掃描是兩條完全不同的技術(shù)路線。主動(dòng)掃描像“全城巡檢”掃描器自己構(gòu)造各種Payload去探測(cè)每個(gè)入口效率高但噪音大被動(dòng)掃描像“在必經(jīng)路口裝攝像頭”你正常走一遍業(yè)務(wù)流程它就把看到的內(nèi)容挨個(gè)檢查一遍不額外制造請(qǐng)求。這個(gè)差異直接決定了兩種模式的適用場(chǎng)景。主動(dòng)掃描適合快速摸底但面對(duì)登錄后才能訪問(wèn)的功能模塊往往束手無(wú)策因?yàn)閽呙杵鳑](méi)有你的會(huì)話狀態(tài)。被動(dòng)掃描天然適合“你親自登錄后臺(tái)、操作功能、上傳文件”這類場(chǎng)景——只要瀏覽器能訪問(wèn)的流量它都能分析到且不會(huì)因?yàn)楦哳l發(fā)包觸發(fā)目標(biāo)的封禁機(jī)制。1.2 Xray在被動(dòng)模式下做了什么Xray啟動(dòng)被動(dòng)監(jiān)聽(tīng)后本身就是一個(gè)標(biāo)準(zhǔn)HTTP代理。你瀏覽器發(fā)的請(qǐng)求到達(dá)本地監(jiān)聽(tīng)端口Xray先做記錄再轉(zhuǎn)發(fā)給目標(biāo)服務(wù)器目標(biāo)服務(wù)器的響應(yīng)回來(lái)時(shí)Xray又會(huì)快速提取內(nèi)容特征和內(nèi)置的漏洞規(guī)則做匹配。它內(nèi)部大致有這幾個(gè)關(guān)鍵環(huán)節(jié)流量解析從HTTP請(qǐng)求里提取URL、參數(shù)名、參數(shù)值、Cookie、請(qǐng)求體重組出標(biāo)準(zhǔn)的請(qǐng)求樣本。規(guī)則匹配把請(qǐng)求樣本和內(nèi)置PoC規(guī)則逐一對(duì)比。比如某個(gè)參數(shù)帶上了疑似SQL注入的特征或者響應(yīng)里直接出現(xiàn)已知框架的指紋規(guī)則就會(huì)命中。漏洞檢測(cè)針對(duì)命中的規(guī)則Xray會(huì)再發(fā)少量精心構(gòu)造的驗(yàn)證請(qǐng)求確認(rèn)這不是誤報(bào)。這一步雖然會(huì)發(fā)包但數(shù)量遠(yuǎn)小于主動(dòng)掃描。報(bào)告輸出檢測(cè)結(jié)果會(huì)保存在內(nèi)存中掃描結(jié)束后統(tǒng)一輸出為HTML或JSON報(bào)告。很多新手容易誤解“被動(dòng)”兩個(gè)字以為Xray完全不出手。實(shí)際上它只是“跟隨”你的流量發(fā)現(xiàn)問(wèn)題后會(huì)做二次驗(yàn)證這個(gè)驗(yàn)證過(guò)程是主動(dòng)的。理解這個(gè)機(jī)制你就知道為什么證書(shū)和代理這兩個(gè)前置條件必須做扎實(shí)——流量傳不過(guò)來(lái)后面一切歸零。2. 開(kāi)工前的準(zhǔn)備下載文件與目錄規(guī)劃2.1 選擇正確的版本與平臺(tái)Xray官方發(fā)行包分成多個(gè)平臺(tái)目錄Windows系統(tǒng)要認(rèn)準(zhǔn)名稱里帶windows字樣的文件。常見(jiàn)的有兩類命名xray_windows_amd64.zip和xray_windows_386.zip分別對(duì)應(yīng)64位和32位系統(tǒng)。判斷自己系統(tǒng)的位數(shù)很簡(jiǎn)單桌面右鍵“此電腦”選“屬性”查看“系統(tǒng)類型”里是64位還是32位?,F(xiàn)在絕大多數(shù)新電腦都是64位直接選amd64版本幾乎不會(huì)錯(cuò)。注意不要下成Linux版或Mac版的壓縮包后綴名和文件名稱里的平臺(tái)標(biāo)識(shí)要看清楚這是新手最容易犯的初級(jí)錯(cuò)誤。下載完成后打開(kāi)壓縮包你應(yīng)該只看到三個(gè)關(guān)鍵文件主程序xray.exe、配置文件模板config.yaml和說(shuō)明文件LICENSE。如果壓縮包里連帶了一堆無(wú)關(guān)文檔說(shuō)明你可能下錯(cuò)了渠道建議立刻停手回到官方發(fā)布頁(yè)面重新獲取。2.2 目錄規(guī)劃與常見(jiàn)坑解壓目錄看似小事實(shí)際上后面證書(shū)生成、報(bào)告輸出都會(huì)產(chǎn)生文件目錄選得不好會(huì)非常難受。我個(gè)人的建議是在某個(gè)盤的根目錄下建一個(gè)純英文且無(wú)空格的文件夾比如C:\tools\xray或者D:\security\xray。為什么強(qiáng)調(diào)純英文無(wú)空格因?yàn)閄ray的命令行參數(shù)掃描邏輯、配置文件解析都是面向標(biāo)準(zhǔn)路徑設(shè)計(jì)的中文路徑和空格在某些Windows版本上會(huì)導(dǎo)致證書(shū)寫(xiě)入失敗、輸出路徑解析異常。我見(jiàn)過(guò)一位同事把Xray解壓到D:\安全工具\(yùn)xray 新版本\下結(jié)果gencert命令正常執(zhí)行但證書(shū)文件始終生成不到預(yù)期位置后來(lái)排查半天才發(fā)現(xiàn)是路徑分隔符和空格的問(wèn)題。另外解壓時(shí)建議右鍵壓縮包選擇“解壓到當(dāng)前文件夾”不要直接雙擊進(jìn)入壓縮包后把文件拖出來(lái)。某些壓縮軟件在拖拽模式下會(huì)改變文件的目錄層級(jí)導(dǎo)致xray.exe似乎解壓出來(lái)了但config.yaml被單獨(dú)丟到了別的目錄后面啟動(dòng)時(shí)程序找不到配置文件直接閃退。解壓完成后推薦先在xray.exe所在目錄下按住Shift并右鍵選擇“在此處打開(kāi)PowerShell窗口”或“在此處打開(kāi)命令窗口”這樣后續(xù)所有命令操作都在當(dāng)前目錄下執(zhí)行避免反復(fù)輸入絕對(duì)路徑。如果是有管理員權(quán)限的終端更建議用管理員模式打開(kāi)后面安裝證書(shū)到本地機(jī)器時(shí)會(huì)少很多權(quán)限提示。3. 生成CA證書(shū)是第一步也是翻車最多的第一步3.1 為什么要先搞證書(shū)打開(kāi)Xray被動(dòng)掃描的第一個(gè)攔路虎就是HTTPS流量。HTTP流量走代理轉(zhuǎn)發(fā)很直接但HTTPS在代理模式下會(huì)經(jīng)歷一個(gè)微妙的過(guò)程你讓瀏覽器把加密流量交給本地代理代理如果直接用明文轉(zhuǎn)發(fā)目標(biāo)服務(wù)器稍加校驗(yàn)就會(huì)斷開(kāi)連接而且你什么都看不見(jiàn)。Xray解決這個(gè)問(wèn)題的思路是“中間人代理解析”它自己生成一張CA證書(shū)讓這臺(tái)電腦里的所有瀏覽器信任它之后凡是經(jīng)過(guò)這個(gè)代理的HTTPS連接X(jué)ray都能在本地完成解密和分析再把流量加密轉(zhuǎn)發(fā)給真實(shí)的服務(wù)器。這個(gè)過(guò)程在瀏覽器看來(lái)就是訪問(wèn)用的證書(shū)是本地這個(gè)代理簽發(fā)的但瀏覽器信任了代理這個(gè)證書(shū)所以警告頁(yè)面不會(huì)出現(xiàn)。也就是說(shuō)證書(shū)的目的是讓瀏覽器“允許”中間人代理查看流量。理解了這一點(diǎn)你就明白為什么證書(shū)必須被你使用的瀏覽器信任也明白為什么偷懶跳過(guò)這一步會(huì)導(dǎo)致HTTPS站點(diǎn)完全掃不了。3.2 用命令行生成證書(shū)打開(kāi)上一節(jié)準(zhǔn)備好的PowerShell窗口確認(rèn)當(dāng)前路徑在xray.exe所在目錄直接執(zhí)行.\xray.exe gencert正常情況下命令執(zhí)行完會(huì)在當(dāng)前目錄生成兩個(gè)文件ca.crt證書(shū)文件和ca.key私鑰文件。ca.key非常敏感相當(dāng)于這組信任關(guān)系的總鑰匙別人拿到它就能解密你所有經(jīng)過(guò)該代理的HTTPS流量所以這個(gè)文件不要外傳也不要塞進(jìn)任何壓縮包。如果你執(zhí)行之后命令行沒(méi)有輸出任何提示或者提示“不是內(nèi)部或外部命令”通常是當(dāng)前目錄不對(duì)或者命令前漏了.\這個(gè)前綴。Windows下執(zhí)行當(dāng)前目錄的程序必須加.\這是“就地運(yùn)行”的固定語(yǔ)法和Linux直接敲文件名不一樣。生成完畢后先別急著雙擊證書(shū)因?yàn)樽C書(shū)生成只是第一步真正讓W(xué)indows信任它還要經(jīng)過(guò)下面的導(dǎo)入流程。很多人在這里犯的錯(cuò)誤是生成了證書(shū)就以為萬(wàn)事大吉結(jié)果瀏覽器一訪問(wèn)HTTPS站點(diǎn)照樣證書(shū)錯(cuò)誤原因就是證書(shū)根本沒(méi)進(jìn)系統(tǒng)信任區(qū)。提示如果你在生成證書(shū)前已經(jīng)啟動(dòng)過(guò)Xray建議先關(guān)閉所有Xray進(jìn)程再執(zhí)行g(shù)encert避免程序自己先加載舊證書(shū)文件導(dǎo)致新證書(shū)不生效。4. Windows系統(tǒng)證書(shū)安裝別裝錯(cuò)位置4.1 雙擊導(dǎo)入證書(shū)的完整步驟證書(shū)生成好后在文件管理器里找到ca.crt雙擊打開(kāi)就會(huì)進(jìn)入幾個(gè)步驟的證書(shū)導(dǎo)入向?qū)?。新手的第一個(gè)誤區(qū)是看到這個(gè)向?qū)Р恢肋x哪個(gè)選項(xiàng)或者一路默認(rèn)點(diǎn)到結(jié)束結(jié)果證書(shū)裝到了錯(cuò)誤的位置。具體操作步驟是這樣的雙擊ca.crt彈出證書(shū)信息窗口界面顯示“證書(shū)信息”以及證書(shū)的頒發(fā)者和有效期。點(diǎn)擊窗口下方的“安裝證書(shū)”按鈕進(jìn)入導(dǎo)入向?qū)нx擇“本地計(jì)算機(jī)”作為存儲(chǔ)位置。系統(tǒng)如果彈出UAC用戶賬戶控制提示點(diǎn)“是”允許繼續(xù)。進(jìn)入“證書(shū)存儲(chǔ)”界面選擇“將所有的證書(shū)都放入下列存儲(chǔ)”。點(diǎn)擊“瀏覽”在彈出來(lái)的列表中選擇“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”點(diǎn)擊確定?;氐綄?dǎo)入向?qū)c(diǎn)擊“下一步”再點(diǎn)“完成”等待系統(tǒng)提示導(dǎo)入成功。這個(gè)流程里有幾個(gè)關(guān)鍵點(diǎn)值得反復(fù)強(qiáng)調(diào)。第一存儲(chǔ)位置必須選擇“本地計(jì)算機(jī)”而不是“當(dāng)前用戶”因?yàn)橛行g覽器在啟動(dòng)時(shí)讀取的系統(tǒng)證書(shū)庫(kù)是機(jī)器級(jí)而非用戶級(jí)裝在“當(dāng)前用戶”下面可能出現(xiàn)“明明裝了瀏覽器還是報(bào)錯(cuò)”的情況。第二存儲(chǔ)區(qū)域必須是“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”不能選“個(gè)人”或“中間證書(shū)頒發(fā)機(jī)構(gòu)”否則瀏覽器不認(rèn)。第三導(dǎo)入過(guò)程中如果Windows提示“此根證書(shū)不受信任”通常是因?yàn)楫?dāng)前登錄的Windows賬號(hào)權(quán)限不夠重新用管理員身份執(zhí)行即可。4.2 本地機(jī)器還是當(dāng)前用戶很多人栽在這里說(shuō)個(gè)常見(jiàn)場(chǎng)景有個(gè)同學(xué)按教程裝完證書(shū)用Edge瀏覽器訪問(wèn)本地測(cè)試站點(diǎn)頁(yè)面照樣提示證書(shū)無(wú)效。我遠(yuǎn)程一看發(fā)現(xiàn)他把證書(shū)裝在了“當(dāng)前用戶”的“個(gè)人”存儲(chǔ)里瀏覽器雖然在證書(shū)列表里能看到這張證書(shū)但它不在“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”目錄里所以依然會(huì)視為不可信。為什么推薦“本地計(jì)算機(jī)”因?yàn)閃indows的“本地計(jì)算機(jī)”證書(shū)庫(kù)是全局的所有登錄這臺(tái)電腦的用戶都能讀取Chrome、Edge、IE都會(huì)從這里加載信任列表。而“當(dāng)前用戶”證書(shū)庫(kù)只對(duì)當(dāng)前登錄賬號(hào)生效如果你平時(shí)用普通賬號(hào)跑瀏覽器之后又用管理員賬號(hào)簽發(fā)證書(shū)新舊賬號(hào)的信任狀態(tài)就可能不一致造成“證書(shū)在但瀏覽器不認(rèn)”的詭異現(xiàn)象。如果你已經(jīng)裝錯(cuò)了位置也不需要把系統(tǒng)翻個(gè)底朝天。重新按上面步驟走一遍選擇“本地計(jì)算機(jī)”和“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”重新導(dǎo)入即可。Windows會(huì)檢測(cè)到同名證書(shū)已存在提示是否替換選擇“是”覆蓋舊版本。4.3 驗(yàn)證證書(shū)是否生效證書(shū)裝完別急著開(kāi)代理先花一分鐘驗(yàn)證。按WinR輸入mmc打開(kāi)管理控制臺(tái)點(diǎn)擊“文件”“添加/刪除管理單元”選擇“證書(shū)”點(diǎn)擊“添加”選擇“計(jì)算機(jī)賬戶”和“本地計(jì)算機(jī)”完成后展開(kāi)左側(cè)目錄樹(shù)找到“受信任的根證書(shū)頒發(fā)機(jī)構(gòu)”“證書(shū)”。在右側(cè)列表里如果能找到剛才導(dǎo)入的那張CA證書(shū)就說(shuō)明系統(tǒng)層面已經(jīng)信任了它。如果列表里找不到再檢查一遍導(dǎo)入步驟別急著往下走。這一步驗(yàn)證只需要30秒但能省掉后面排查證書(shū)錯(cuò)誤的大量時(shí)間。另外再提一個(gè)容易被忽略的細(xì)節(jié)證書(shū)導(dǎo)入后已經(jīng)打開(kāi)的瀏覽器可能不會(huì)立刻刷新信任狀態(tài)。Chrome和Edge通常需要完全關(guān)閉再重新打開(kāi)才能重新加載系統(tǒng)證書(shū)庫(kù)Firefox則有自己的獨(dú)立證書(shū)存儲(chǔ)機(jī)制要和系統(tǒng)證書(shū)做額外關(guān)聯(lián)。這就是為什么有些人裝完證書(shū)后第一次訪問(wèn)HTTPS仍然報(bào)錯(cuò)關(guān)掉瀏覽器重新打開(kāi)卻好了的原因。5. 瀏覽器代理設(shè)置讓流量主動(dòng)送到Xray手里5.1 Xray被動(dòng)監(jiān)聽(tīng)啟動(dòng)命令與參數(shù)證書(shū)裝好之后先把Xray被動(dòng)掃描功能跑起來(lái)。在PowerShell窗口里執(zhí)行.\xray.exe webscan --listen 127.0.0.1:7777 --html-output report.html這條命令的含義是Xray開(kāi)啟Web掃描被動(dòng)模式監(jiān)聽(tīng)本機(jī)7777端口所有經(jīng)過(guò)這個(gè)端口的HTTP/HTTPS流量都進(jìn)入掃描分析流程最終分析結(jié)果輸出到report.html文件。我個(gè)人實(shí)際使用中還會(huì)加幾個(gè)額外參數(shù)能讓上手階段更順手.\xray.exe webscan --listen 127.0.0.1:7777 --html-output report.html --url http://127.0.0.1/加--url參數(shù)是給Xray一個(gè)“起始站點(diǎn)”的概念讓它優(yōu)先把后續(xù)流量和這個(gè)站點(diǎn)關(guān)聯(lián)起來(lái)。這個(gè)參數(shù)不是必須的但能幫助Xray在分析時(shí)更快識(shí)別目標(biāo)站點(diǎn)范圍報(bào)告分類也更清晰。啟動(dòng)后PowerShell窗口會(huì)顯示Xray正在監(jiān)聽(tīng)7777端口等待流量進(jìn)入。注意這個(gè)終端窗口不要關(guān)閉最小化即可。如果你同時(shí)開(kāi)著多個(gè)安全軟件比如某些防火墻或WAF攔截軟件第一次啟動(dòng)時(shí)它們可能會(huì)彈窗詢問(wèn)是否允許Xray監(jiān)聽(tīng)端口記得選擇允許。5.2 設(shè)置Windows系統(tǒng)代理Chrome/EdgeXray監(jiān)聽(tīng)端口起來(lái)了現(xiàn)在要讓瀏覽器把流量轉(zhuǎn)發(fā)到127.0.0.1:7777。Windows下Chrome和Edge都默認(rèn)讀取系統(tǒng)代理設(shè)置所以只需要改一處地方。按WinI打開(kāi)Windows設(shè)置選擇“網(wǎng)絡(luò)和 Internet”點(diǎn)擊“代理”打開(kāi)“使用代理服務(wù)器”開(kāi)關(guān)。在“地址”欄填入127.0.0.1在“端口”欄填入7777點(diǎn)擊保存。系統(tǒng)會(huì)提示代理已生效。這里要注意“使用代理服務(wù)器”開(kāi)關(guān)打開(kāi)后你要區(qū)分HTTP和HTTPS是不是都用同一個(gè)代理地址和端口。Windows系統(tǒng)代理設(shè)置界面通常只有一個(gè)“地址”欄和“端口”欄沒(méi)有單獨(dú)的HTTP和HTTPS分開(kāi)填寫(xiě)項(xiàng)這意味著所有協(xié)議都會(huì)走這個(gè)代理。Xray本身就支持同時(shí)處理HTTP和HTTPS流量所以這樣設(shè)置沒(méi)有問(wèn)題。設(shè)置完成后打開(kāi)瀏覽器訪問(wèn)任意網(wǎng)站。如果證書(shū)和代理都配置正確頁(yè)面能正常打開(kāi)。如果出現(xiàn)“您的連接不是私密連接”之類的錯(cuò)誤提示大概率是證書(shū)沒(méi)裝到位回到第4章重新檢查。如果只是臨時(shí)使用被動(dòng)掃描測(cè)試結(jié)束后記得把“使用代理服務(wù)器”開(kāi)關(guān)關(guān)掉否則你會(huì)發(fā)現(xiàn)所有瀏覽器都慢吞吞的因?yàn)榱髁慷荚诶@行本地代理而Xray已經(jīng)退出了。5.3 Firefox獨(dú)立代理的差異Firefox是很多安全測(cè)試人員的主力瀏覽器但它的代理設(shè)置默認(rèn)不跟系統(tǒng)走。如果你用Firefox只改Windows系統(tǒng)代理是不夠的。打開(kāi)Firefox進(jìn)入設(shè)置頁(yè)面在搜索框輸入“代理”找到“網(wǎng)絡(luò)設(shè)置”區(qū)的“設(shè)置”按鈕點(diǎn)擊后選擇“手動(dòng)配置代理”。在“HTTP代理”和“HTTPS代理”兩個(gè)輸入框都填上127.0.0.1端口都填7777。注意“為所有協(xié)議使用相同代理”這個(gè)復(fù)選框建議勾選能減少一個(gè)選項(xiàng)遺漏點(diǎn)。還有一個(gè)關(guān)鍵點(diǎn)Firefox默認(rèn)自帶“對(duì)以下地址不使用代理”列表里面通常包含了localhost和127.0.0.1。如果你在Firefox里訪問(wèn)http://127.0.0.1靶場(chǎng)站代理默認(rèn)不生效流量會(huì)直連目標(biāo)Xray什么也看不到。要記住把127.0.0.1和localhost從“不使用代理”列表中移除或者直接用本機(jī)局域網(wǎng)IP比如http://192.168.x.x來(lái)訪問(wèn)測(cè)試站點(diǎn)繞開(kāi)這個(gè)默認(rèn)排除規(guī)則。Firefox的證書(shū)信任也是獨(dú)立的并不完全跟隨Windows系統(tǒng)證書(shū)庫(kù)。如果你在Firefox里訪問(wèn)HTTPS頁(yè)面仍然報(bào)證書(shū)錯(cuò)誤需要在Firefox“隱私與安全”最底部的“證書(shū)”區(qū)點(diǎn)擊“查看證書(shū)”在“證書(shū)頒發(fā)機(jī)構(gòu)”標(biāo)簽頁(yè)導(dǎo)入ca.crt并勾選“信任由此證書(shū)頒發(fā)機(jī)構(gòu)來(lái)標(biāo)識(shí)網(wǎng)站”。6. 真實(shí)跑一遍從訪問(wèn)目標(biāo)到看到報(bào)告6.1 準(zhǔn)備一個(gè)本地靶場(chǎng)在Windows上做驗(yàn)證最穩(wěn)妥的方式是先在本地跑一個(gè)靶場(chǎng)環(huán)境。常見(jiàn)選擇是開(kāi)源漏洞靶場(chǎng)項(xiàng)目它們會(huì)在本機(jī)啟動(dòng)Web服務(wù)默認(rèn)監(jiān)聽(tīng)某個(gè)端口。如果你身邊有現(xiàn)成的已授權(quán)測(cè)試站點(diǎn)也可以直接用但本地靶場(chǎng)在復(fù)現(xiàn)和排錯(cuò)上更可控。我建議新手在第一次配置時(shí)先用本地靶場(chǎng)完整跑通全流程確認(rèn)“證書(shū)-代理-報(bào)告”鏈路都沒(méi)有問(wèn)題再去測(cè)授權(quán)目標(biāo)站點(diǎn)。本地靶場(chǎng)的好處是沒(méi)人干擾你、不怕流量誤報(bào)而且你可以隨時(shí)看數(shù)據(jù)庫(kù)請(qǐng)求日志對(duì)比Xray分析是否準(zhǔn)確。啟動(dòng)本地靶場(chǎng)后要確認(rèn)它的訪問(wèn)地址是http://127.0.0.1還是帶有端口號(hào)的地址。因?yàn)镕irefox默認(rèn)排除本地地址用Chrome或Edge做首次驗(yàn)證會(huì)更省心。我當(dāng)時(shí)的做法是把瀏覽器設(shè)為“僅代理本地流量”配合靶場(chǎng)地址這樣外網(wǎng)流量不受影響又能穩(wěn)定捕獲本地目標(biāo)。6.2 抓包到報(bào)告的全過(guò)程環(huán)境準(zhǔn)備好后按順序操作一遍完整的流程確保Xray已經(jīng)啟動(dòng)監(jiān)聽(tīng)在127.0.0.1:7777。打開(kāi)Chrome瀏覽器讓它走系統(tǒng)代理先前已設(shè)置好。訪問(wèn)本地靶場(chǎng)的首頁(yè)隨便點(diǎn)幾個(gè)頁(yè)面鏈接填寫(xiě)一個(gè)簡(jiǎn)單的登錄表單模擬正常用戶操作。觀察Xray的PowerShell窗口你會(huì)發(fā)現(xiàn)日志開(kāi)始滾屏每條請(qǐng)求都被記錄包括URL、狀態(tài)碼、響應(yīng)大小。多訪問(wèn)幾個(gè)帶參數(shù)的頁(yè)面比如列表頁(yè)、搜索頁(yè)、詳情頁(yè)讓Xray有機(jī)會(huì)從不同參數(shù)里分析注入點(diǎn)。瀏覽大約5到10分鐘積累足夠的流量樣本。按CtrlC停止Xray進(jìn)程等待它處理剩余數(shù)據(jù)并生成report.html。停止后打開(kāi)report.html查看報(bào)告內(nèi)容。里面應(yīng)該能看到Xray分析的請(qǐng)求數(shù)量和發(fā)現(xiàn)的安全問(wèn)題。剛配置完環(huán)境時(shí)第一次報(bào)告可能只有幾個(gè)低危問(wèn)題這是正常的說(shuō)明掃描流程已經(jīng)打通了。如果發(fā)現(xiàn)報(bào)告里完全沒(méi)有任何請(qǐng)求記錄先別懷疑報(bào)告生成有問(wèn)題回頭檢查代理設(shè)置。最常見(jiàn)的原因是瀏覽器被策略工具強(qiáng)制接管了代理或者本地端口根本沒(méi)監(jiān)聽(tīng)起來(lái)。此時(shí)重新執(zhí)行啟動(dòng)命令觀察PowerShell窗口是否輸出監(jiān)聽(tīng)信息即可。7. 常見(jiàn)問(wèn)題與排查思路速查表7.1 證書(shū)錯(cuò)誤的幾種表現(xiàn)證書(shū)問(wèn)題是被動(dòng)掃描里出現(xiàn)頻率最高的一類故障匯總一下常見(jiàn)的幾種表現(xiàn)和對(duì)應(yīng)排查方向現(xiàn)象主要原因排查方向訪問(wèn)HTTPS站點(diǎn)提示“證書(shū)不受信任”證書(shū)未導(dǎo)入系統(tǒng)信任區(qū)或?qū)氲搅隋e(cuò)誤的證書(shū)存儲(chǔ)用mmc檢查受信任的根證書(shū)頒發(fā)機(jī)構(gòu)里是否存在ca.crt證書(shū)明明存在但瀏覽器仍報(bào)錯(cuò)瀏覽器自帶的獨(dú)立證書(shū)庫(kù)未導(dǎo)入Firefox最常見(jiàn)在Firefox證書(shū)管理里重新導(dǎo)入并勾選信任只掃到HTTP流量HTTPS全部失敗證書(shū)裝好但私鑰未被Xray正確識(shí)別確認(rèn)ca.crt和ca.key在同一目錄重新執(zhí)行g(shù)encert換一個(gè)賬號(hào)登錄Windows后證書(shū)失效證書(shū)裝在了“當(dāng)前用戶”而不是“本地計(jì)算機(jī)”重新導(dǎo)入到“本地計(jì)算機(jī)”存儲(chǔ)證書(shū)導(dǎo)入時(shí)提示“已存在但無(wú)法覆蓋”舊的同名證書(shū)殘留在證書(shū)管理器里手動(dòng)刪除舊證書(shū)再重新導(dǎo)入7.2 代理不生效的可能原因代理不生效的典型特征Xray日志完全靜默但瀏覽器能正常上網(wǎng)。這時(shí)最優(yōu)先排查的就是瀏覽器是否真的走了代理。有一個(gè)很快的驗(yàn)證方法啟動(dòng)Xray監(jiān)聽(tīng)后在瀏覽器地址欄訪問(wèn)http://127.0.0.1:7777如果代理鏈路正常通常頁(yè)面會(huì)顯示代理服務(wù)的相關(guān)信息或者至少不會(huì)立刻跳轉(zhuǎn)到什么也不顯示的頁(yè)面。如果這個(gè)地址都訪問(wèn)不通說(shuō)明代理沒(méi)生效。代理不生效的幾個(gè)高發(fā)原因?yàn)g覽器是Firefox且沒(méi)改自身代理設(shè)置只改了系統(tǒng)代理。系統(tǒng)代理保存了但沒(méi)點(diǎn)“保存”按鈕或者保存后沒(méi)關(guān)閉設(shè)置頁(yè)就直接關(guān)瀏覽器。某些安全軟件自帶“系統(tǒng)代理保護(hù)”功能會(huì)攔截或重置系統(tǒng)代理設(shè)置。瀏覽器插件如自動(dòng)切換代理的插件覆蓋了手動(dòng)代理設(shè)置。127.0.0.1被瀏覽器視為本地地址而默認(rèn)繞過(guò)代理。最后一條尤其容易踩中部分瀏覽器出于安全考慮會(huì)默認(rèn)跳過(guò)本地地址的代理。如果你訪問(wèn)的是本機(jī)靶場(chǎng)直接把代理地址改成局域網(wǎng)IP比如192.168.0.10:7777一般就能繞過(guò)這個(gè)限制。7.3 流量刷屏與誤報(bào)控制第一次跑被動(dòng)掃描時(shí)Xray日志往往瘋狂刷屏看著很爽其實(shí)里面混了大量和測(cè)試目標(biāo)無(wú)關(guān)的流量。比如瀏覽器在后臺(tái)自動(dòng)請(qǐng)求的更新接口、插件統(tǒng)計(jì)接口、網(wǎng)頁(yè)里的第三方字體和CDN資源。這些流量不僅占用掃描空間還可能造成誤報(bào)??刂屏髁康霓k法有幾個(gè)盡量只開(kāi)一個(gè)瀏覽器窗口關(guān)閉無(wú)關(guān)標(biāo)簽頁(yè)。瀏覽目標(biāo)站點(diǎn)時(shí)順手把不需要的瀏覽器插件臨時(shí)禁用。使用Xray的--url參數(shù)讓它重點(diǎn)關(guān)聯(lián)起始站點(diǎn)減少無(wú)關(guān)站點(diǎn)記錄。如果需要長(zhǎng)期抓某個(gè)站點(diǎn)可以考慮在系統(tǒng)代理的“不使用代理列表”中加入其他不關(guān)心的站點(diǎn)域名。誤報(bào)控制方面Xray的規(guī)則設(shè)計(jì)通常會(huì)在命中后做二次驗(yàn)證但有些場(chǎng)景仍然會(huì)產(chǎn)生誤報(bào)。比如一個(gè)搜索頁(yè)面把用戶輸入的搜索詞回顯到頁(yè)面上Xray可能會(huì)把它當(dāng)作反射型XSS的候選對(duì)象。這時(shí)候你需要在報(bào)告里查看具體的請(qǐng)求和響應(yīng)內(nèi)容判斷是真實(shí)漏洞還是業(yè)務(wù)功能本身就這樣設(shè)計(jì)。8. 實(shí)際使用中的一點(diǎn)個(gè)人體會(huì)配置這套環(huán)境的完整鏈路說(shuō)難不難但每一步都有它的“隱藏前提”。證書(shū)安裝在Windows上的信任級(jí)別、瀏覽器代理指向、本地地址繞過(guò)規(guī)則這幾件事單獨(dú)拎出來(lái)都是基礎(chǔ)操作組合在一起就變成了新手眼里最玄學(xué)的問(wèn)題。我到現(xiàn)在都記得第一次配Firefox時(shí)的經(jīng)歷系統(tǒng)代理設(shè)置好了Xray日志還在滾動(dòng)偏偏Firefox訪問(wèn)HTTPS站點(diǎn)就是報(bào)證書(shū)錯(cuò)誤折騰了半小時(shí)才意識(shí)到Firefox根本不用系統(tǒng)代理。所以給你個(gè)最實(shí)在的建議如果打算長(zhǎng)期用Xray做被動(dòng)掃描最好固定一個(gè)瀏覽器Chrome或Edge作為“掃描專用瀏覽器”單獨(dú)給它設(shè)置代理日常瀏覽用另一個(gè)瀏覽器互不干擾。這樣既不會(huì)讓日常流量污染掃描報(bào)告也能在出問(wèn)題時(shí)快速隔離排查方向?;厝シ乙郧暗墓P記配置環(huán)境最常見(jiàn)的時(shí)間損耗不是技術(shù)難點(diǎn)而是“設(shè)置完了沒(méi)重啟瀏覽器”或“系統(tǒng)代理開(kāi)了卻忘記保存”這些零碎的疏忽。能把這幾個(gè)長(zhǎng)期反復(fù)出現(xiàn)的坑提前踩掉你的被動(dòng)掃描環(huán)境基本就能穩(wěn)定跑起來(lái)了。