滲透攻防安全防范之攻破WEB網(wǎng)站登錄頁(yè)面
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
登錄框是一個(gè)典型的Web應(yīng)用程序的組件,允許用戶輸入憑據(jù)以進(jìn)行身份驗(yàn)證,通過(guò)檢查登錄框的安全性,識(shí)別應(yīng)用程序中的安全漏洞和弱點(diǎn)。在進(jìn)行登錄框的滲透測(cè)試時(shí),需要綜合使用多種方法和工具,以確保測(cè)試的全面性和準(zhǔn)確性,及時(shí)發(fā)現(xiàn)并修復(fù)應(yīng)用程序中的漏洞,提高應(yīng)用程序的安全性和可靠性。在HVV或滲透測(cè)試時(shí)遇到站點(diǎn)只有一個(gè)登錄接口的情況下,如何獲取權(quán)限并進(jìn)一步滲透?下面根據(jù)本人實(shí)戰(zhàn)經(jīng)驗(yàn),分享常用的網(wǎng)站登錄框滲透攻防方法: 一、攻擊方式 1、登錄框的輸入驗(yàn)證漏洞 登錄輸入框中的用戶名和密碼可能存在輸入驗(yàn)證機(jī)制有效性安全漏洞,通過(guò)登錄頁(yè)面的源代碼查看到客戶端驗(yàn)證邏輯,若存在繞過(guò)漏洞,嘗試輸入包含特殊字符或注入代碼的數(shù)據(jù),以在進(jìn)行滲透測(cè)試時(shí),還需要對(duì)登錄框進(jìn)行敏感信息泄露測(cè)試。在登錄框中,往往需要輸入用戶名和密碼,因此我們可以通過(guò)嘗試使用一些常見(jiàn)的用戶名和密碼來(lái)測(cè)試是否存在默認(rèn)憑證。如果存在默認(rèn)憑證,就可以使用這些默認(rèn)憑證進(jìn)行未經(jīng)授權(quán)的訪問(wèn)。此外,還可以嘗試使用一些常見(jiàn)的SQL注入、XSS(跨站腳本攻擊)等方式來(lái)檢測(cè)是否存在安全漏洞。 2、密碼猜測(cè)和弱口令攻擊 密碼猜測(cè)和弱口令攻擊是利用弱密碼對(duì)登錄框進(jìn)行攻擊,這時(shí)候最常用的方法就是暴力破解和猜解登錄口令。在滲透測(cè)試中,我們可以使用常見(jiàn)的密碼字典進(jìn)行密碼猜測(cè),并觀察是否存在弱口令。若登錄窗口對(duì)密碼的復(fù)雜性缺少驗(yàn)證機(jī)制,則導(dǎo)致無(wú)法抵御基于密碼猜測(cè)的攻擊,可以嘗試使用弱密碼來(lái)登錄系統(tǒng),通過(guò)密碼猜測(cè)手段,嘗試使用常見(jiàn)的用戶名和密碼進(jìn)行測(cè)試,例如“admin”和“password”等。如果密碼以明文形式存儲(chǔ)在數(shù)據(jù)庫(kù)中,則可以進(jìn)一步通過(guò)入侵?jǐn)?shù)據(jù)庫(kù)來(lái)獲取密碼,如通過(guò)構(gòu)造惡意的SQL語(yǔ)句來(lái)繞過(guò)登錄認(rèn)證、獲取管理員權(quán)限、獲取數(shù)據(jù)庫(kù)中的敏感信息等。 3、未正確配置安全協(xié)議 如果Web應(yīng)用程序未正確配置安全協(xié)議(例如HTTPS),可以利用中間人攻擊或會(huì)話劫持技術(shù)來(lái)獲取憑據(jù)或篡改數(shù)據(jù)。同時(shí)對(duì)于存在會(huì)話固定漏洞的系統(tǒng),通過(guò)使用CSRF、會(huì)話劫持等攻擊手段來(lái)獲取已驗(yàn)證的會(huì)話,這些漏洞可以在不知道密碼的情況下訪問(wèn)受保護(hù)的重要數(shù)據(jù)。 4、社會(huì)工程學(xué)攻擊 此外還可以通過(guò)社會(huì)工程學(xué)的方法對(duì)登錄框進(jìn)行測(cè)試。例如釣魚攻擊、密碼猜測(cè)、弱口令攻擊等。釣魚攻擊是指利用虛假的登錄頁(yè)面欺騙用戶輸入用戶名和密碼,從而獲取用戶的登錄憑證。在釣魚攻擊中,攻擊者可以通過(guò)偽造的登錄頁(yè)面欺騙用戶輸入賬號(hào)密碼。為了防止釣魚攻擊,用戶可以注意登錄頁(yè)面的URL和SSL證書,避免輸入敏感信息。在滲透測(cè)試中,可以嘗試使用偽造的登錄頁(yè)面對(duì)用戶進(jìn)行測(cè)試,觀察用戶是否會(huì)受到欺騙。 二、測(cè)試工具 在進(jìn)行滲透攻防時(shí),我們還可以嘗試使用一些工具來(lái)輔助測(cè)試。 1、Burp Suite Burp Suite是一款強(qiáng)大、實(shí)用的Web應(yīng)用程序滲透測(cè)試工具,包含了代理、掃描、爬蟲、攔截器等多種模塊,可以幫助我們檢測(cè)并利用網(wǎng)站的漏洞,可以用于攔截和修改HTTP請(qǐng)求和響應(yīng)。使用Burp Suite可以快速識(shí)別應(yīng)用程序的漏洞,例如未經(jīng)身份驗(yàn)證的訪問(wèn)、會(huì)話劫持、跨站點(diǎn)腳本等。 2、Sqlmap Sqlmap是一款自動(dòng)化SQL注入工具,可以幫助我們快速地檢測(cè)出網(wǎng)站是否存在SQL注入漏洞,并且自動(dòng)化地進(jìn)行利用。 3、Nmap Nmap(Network Mapper),諸神之眼,掃描之王,主機(jī)掃描工具,網(wǎng)絡(luò)掃描和嗅探工具包,圖形化界面是zenmap,分布式框架為Dnamp,最早是Linux下的網(wǎng)絡(luò)掃描和嗅探工具包。 4、Dirsearch Dirsearch是一個(gè)python開(kāi)發(fā)的目錄掃描工具,目的是掃描網(wǎng)站的敏感文件和目錄從而找到突破口。 5、XSStrike XSStrike是一款自動(dòng)化XSS測(cè)試工具,可以快速地檢測(cè)出網(wǎng)站是否存在XSS漏洞,并且自動(dòng)化地進(jìn)行利用。 6、Hydra Hydra是一款密碼破解工具,可以幫助我們快速地破解管理員的密碼。 三、實(shí)戰(zhàn)演練 通過(guò)使用上述工具進(jìn)行測(cè)試時(shí),需要注意的是漏洞掃描器也存在誤報(bào)和漏報(bào)的情況,因此掃描結(jié)果應(yīng)該進(jìn)行進(jìn)一步的驗(yàn)證和分析。在對(duì)登錄框進(jìn)行漏洞掃描時(shí),可以先手動(dòng)構(gòu)造一些常見(jiàn)的攻擊載荷進(jìn)行測(cè)試,例如SQL注入攻擊載荷、XSS攻擊載荷等,看看是否存在漏洞。同時(shí)還可以結(jié)合Burp Suite等工具進(jìn)行數(shù)據(jù)包攔截和修改,觀察是否存在安全漏洞。如果存在安全漏洞,需要及時(shí)修復(fù)并進(jìn)行重新測(cè)試。 1、SQL注入 如果網(wǎng)站存在SQL注入漏洞,可以嘗試萬(wàn)能密碼,常見(jiàn)的萬(wàn)能密碼有:‘or’=‘or’ ‘or 1=1/* admin’ or 1=1/*。同時(shí)可以借助Sqlmap工具,會(huì)自動(dòng)化地進(jìn)行利用,獲取敏感信息??梢允褂胹qlmap進(jìn)行SQL注入檢測(cè):sqlmap -u "http://example.com/login.php" --data "username=admin&password=1234" --method POST --level 5 --risk 3。其中,-u指定需要測(cè)試的URL,–data指定POST請(qǐng)求的數(shù)據(jù),–level指定測(cè)試等級(jí)(1-5),–risk指定風(fēng)險(xiǎn)等級(jí)(1-3)。 2、XSS攻擊 如果網(wǎng)站存在XSS漏洞,XSStrike會(huì)自動(dòng)化地進(jìn)行利用,彈出彈窗等。使用XSStrike進(jìn)行XSS測(cè)試,命令如下:python3 XSStrike.py -u "http://example.com/login.php" --data "username=<script>alert(1)</script>&password=1234" --method POST 其中,-u指定需要測(cè)試的URL,–data指定POST請(qǐng)求的數(shù)據(jù),–method指定請(qǐng)求方法(GET或POST)。 3、CSRF攻擊 在滲透測(cè)試與攻防實(shí)戰(zhàn)過(guò)程中,我們還需要進(jìn)行常規(guī)漏洞掃描,例如使用漏洞掃描器對(duì)登錄框進(jìn)行掃描。常見(jiàn)的漏洞掃描器有OpenVAS、Nessus、Burp Suite等。這些掃描器能夠自動(dòng)化檢測(cè)Web應(yīng)用程序中的漏洞,例如SQL注入、跨站點(diǎn)腳本(XSS)和文件包含等漏洞。
對(duì)于網(wǎng)站登錄系統(tǒng)頁(yè)面要求輸入手機(jī)號(hào),接收手機(jī)短信并校驗(yàn)短信驗(yàn)證碼是否正確進(jìn)行登錄的系統(tǒng),突破的主要思路有:
6、目錄掃描 推薦使用dirsearch,可能會(huì)發(fā)現(xiàn)網(wǎng)站備份文件、后臺(tái)地址等等。通過(guò)掃描系統(tǒng)目錄,目錄遍歷,google hacking找到未授權(quán)訪問(wèn)的登陸頁(yè)面,直接進(jìn)入到系統(tǒng)內(nèi)部。 此功能點(diǎn)可能存在的漏洞有任意用戶密碼重置、短信/郵件轟炸、驗(yàn)證碼爆破、驗(yàn)證碼繞過(guò)、驗(yàn)證碼回顯、sql注入,邏輯漏洞較多。 利用任意用戶注冊(cè)漏洞等。 Struts2漏洞、cms漏洞、log4j、中間件漏洞……Shiro/log4j/fastjson 反序列化:這三個(gè)反序列化漏洞影響實(shí)在是太廣了。 Nmap全端口掃描:nmap -sS -A -p 1-65535 ip,掃到ssh、ftp、telnet、數(shù)據(jù)庫(kù)等等端口可以嘗試進(jìn)一步利用 F12找一下JS文件,重點(diǎn)查看js中的測(cè)試賬號(hào)、API接口。 任意密碼重置,任意賬號(hào)注冊(cè),短信(郵件)轟炸等。
13、暴力破解 大部分情況下,系統(tǒng)登錄頁(yè)面都不存在xss,目錄遍歷,SQL注入等漏洞,這時(shí)候最常用的方法就是暴破和猜解登錄口令,密碼猜解最關(guān)鍵的就是字典要高效準(zhǔn)確。
四、防護(hù)措施與建議 如果系統(tǒng)存在弱口令,需要管理員及時(shí)修改密碼策略和強(qiáng)制密碼復(fù)雜度,采用字母、數(shù)字和符號(hào)的組合,長(zhǎng)度要達(dá)到一定的要求,使用更強(qiáng)的密碼來(lái)保護(hù)賬戶,從而增強(qiáng)系統(tǒng)的安全性。 對(duì)網(wǎng)站數(shù)據(jù)進(jìn)行加密,可以有效提高頁(yè)面的安全性,應(yīng)當(dāng)采用成熟的可靠的加密技術(shù)和方案。 系統(tǒng)在登錄時(shí)未能正確地管理會(huì)話,建議實(shí)現(xiàn)適當(dāng)?shù)臅?huì)話管理措施,如定期更換會(huì)話令牌。 網(wǎng)站使用的SQL查詢未能正確地過(guò)濾用戶提供的輸入,建議實(shí)現(xiàn)適當(dāng)?shù)妮斎腧?yàn)證和過(guò)濾來(lái)防止SQL注入攻擊。 系統(tǒng)在某些情況下未能正確地驗(yàn)證來(lái)自外部站點(diǎn)的請(qǐng)求,建議實(shí)現(xiàn)適當(dāng)?shù)腃SRF保護(hù)措施。 在頁(yè)面的運(yùn)行過(guò)程中,應(yīng)定期備份數(shù)據(jù),以避免頁(yè)面數(shù)據(jù)的丟失。在數(shù)據(jù)丟失時(shí),還應(yīng)有相應(yīng)的數(shù)據(jù)恢復(fù)方案。 定期進(jìn)行網(wǎng)站安全檢查,在發(fā)現(xiàn)問(wèn)題時(shí),及時(shí)進(jìn)行處理,以避免安全問(wèn)題的擴(kuò)散。 五、總結(jié) 總的來(lái)說(shuō),對(duì)登錄框進(jìn)行滲透測(cè)試需要綜合考慮多種攻擊方法和漏洞類型,并對(duì)掃描結(jié)果進(jìn)行進(jìn)一步的驗(yàn)證和分析。同時(shí)需要及時(shí)修復(fù)發(fā)現(xiàn)的漏洞和弱點(diǎn)。 測(cè)試目標(biāo)確定后,需要了解目標(biāo)網(wǎng)站的架構(gòu)和技術(shù),例如服務(wù)器的操作系統(tǒng)和版本、Web服務(wù)器的類型和版本、數(shù)據(jù)庫(kù)的類型和版本等。這些信息有助于測(cè)試人員選擇合適的測(cè)試方法和工具,從而更有效地進(jìn)行測(cè)試。 測(cè)試策略包括黑盒測(cè)試和白盒測(cè)試。黑盒測(cè)試是指沒(méi)有任何關(guān)于目標(biāo)系統(tǒng)的內(nèi)部結(jié)構(gòu)和工作原理的信息,測(cè)試人員只能通過(guò)對(duì)外部界面的測(cè)試來(lái)判斷系統(tǒng)是否存在安全漏洞。白盒測(cè)試是指測(cè)試人員具有關(guān)于目標(biāo)系統(tǒng)的內(nèi)部結(jié)構(gòu)和工作原理的信息,可以通過(guò)代碼審計(jì)等方法來(lái)發(fā)現(xiàn)系統(tǒng)中的漏洞。 該文章在 2023/10/30 10:57:21 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |