2020国产成人精品视频,性做久久久久久久久,亚洲国产成人久久综合一区,亚洲影院天堂中文av色

分享

Web應(yīng)用進(jìn)行XSS漏洞測(cè)試

 liu_guoping 2015-09-22

Web應(yīng)用進(jìn)行XSS漏洞測(cè)試

發(fā)表于:2015-09-16來(lái)源:作者:火龍果軟件點(diǎn)擊數(shù):266 標(biāo)簽:軟件測(cè)試
對(duì) WEB 應(yīng)用進(jìn)行 XSS 漏洞測(cè)試,不能僅僅局限于在 WEB 頁(yè)面輸入 XSS 攻擊字段,然后提交。繞過(guò) JavaScript 的檢測(cè),輸入 XSS 腳本,通常被測(cè)試人員忽略。下圖為 XSS 惡意輸入繞過(guò) JavaScript 檢

  對(duì) WEB 應(yīng)用進(jìn)行 XSS 漏洞測(cè)試,不能僅僅局限于在 WEB 頁(yè)面輸入 XSS 攻擊字段,然后提交。繞過(guò) JavaScript 的檢測(cè),輸入 XSS 腳本,通常被測(cè)試人員忽略。下圖為 XSS 惡意輸入繞過(guò) JavaScript 檢測(cè)的攻擊路徑。

  常見(jiàn)的 XSS 輸入

  XSS 輸入通常包含 JavaScript 腳本,如彈出惡意警告框:<script>alert("XSS");</script>

  XSS 輸入也可能是 HTML 代碼段,譬如:

  網(wǎng)頁(yè)不停地刷新 <meta http-equiv="refresh" content="0;">

  嵌入其它網(wǎng)站的鏈接 <iframe src=http://xxxx width=250 height=250></iframe>

  XSS (Cross Site Scripting) Cheat Sheet 維護(hù)了一份常見(jiàn)的 XSS 攻擊腳本列表,可用來(lái)作為檢測(cè) WEB 應(yīng)用是否存在 XSS 漏洞的測(cè)試用例輸入。初次接觸 XSS 攻擊的開(kāi)發(fā)人員可能會(huì)對(duì)列表提供的一些 XSS 輸入不是很理解,本文第二部分將會(huì)針對(duì)不同代碼上下文的 XSS 輸入作進(jìn)一步的解釋。

  測(cè)試工具

  很多工具可以在瀏覽器發(fā)送 Get/Post 請(qǐng)求前將其截取,攻擊者可以修改請(qǐng)求中的數(shù)據(jù),從而繞過(guò) JavaScript 的檢驗(yàn)將惡意數(shù)據(jù)注入服務(wù)器。以下是一些常用的截取 HTTP 請(qǐng)求的工具列表。

Paros proxy (http://www.)
Fiddler (http://www./fiddler)
Burp proxy (http://www./proxy/)
TamperIE (http://www./dl/TamperIESetup.exe)

  筆者曾經(jīng)使用 TamperIE 對(duì) WEB 應(yīng)用進(jìn)行安全性測(cè)試。TamperIE 小巧易用,能夠截取 IE 瀏覽器發(fā)送的 Get/Post 請(qǐng)求,甚至能繞過(guò) SSL 加密。不過(guò) TamperIE + IE7 工作不穩(wěn)定。IE7 提供了對(duì) IPV6 的支持,如果你并不計(jì)劃測(cè)試你的 Web 應(yīng)用對(duì) IPV6 的支持,建議還是使用 TamperIE + IE6 的組合。

  如圖2所示: TamperIE 繞過(guò)客戶端瀏覽器 JavaScript 的校驗(yàn),在 POST 請(qǐng)求提交時(shí)將其截取,用戶可以任意修改表單輸入項(xiàng) name 和 message 的值,譬如將 message 的值修改為 "<script>alert(“XSS hole!!”);</script>",然后點(diǎn)擊 ”Send altered data” 按鈕,將修改后的惡意數(shù)據(jù)發(fā)送給 Web 服務(wù)器。

  圖 2. 使用 TamperIE 截取 Post 請(qǐng)求

  在輸出端對(duì)動(dòng)態(tài)內(nèi)容進(jìn)行編碼

  對(duì)一個(gè) Web 應(yīng)用而言,其動(dòng)態(tài)內(nèi)容可能來(lái)源于用戶輸入、后臺(tái)數(shù)據(jù)庫(kù)、硬件狀態(tài)改變或是網(wǎng)絡(luò)信息等。動(dòng)態(tài)內(nèi)容特別是來(lái)自用戶輸入的動(dòng)態(tài)內(nèi)容很有可能包含惡意數(shù)據(jù),從而影響網(wǎng)頁(yè)的正常顯示或是執(zhí)行惡意腳本。將動(dòng)態(tài)內(nèi)容安全地顯示在瀏覽器端與動(dòng)態(tài)內(nèi)容所處的上下文背景有關(guān),譬如動(dòng)態(tài)內(nèi)容處在 HTML 正文、表單元素的屬性、或是 JavaScript 代碼段中。對(duì)于一個(gè)基于 PHP 語(yǔ)言的 Web 應(yīng)用,當(dāng)執(zhí)行"echo"、"print"、"printf"、"<?=" 等語(yǔ)句時(shí)表示正在處理動(dòng)態(tài)內(nèi)容。本節(jié)將首先介紹 PHP 提供的庫(kù)函數(shù) htmlspecialchars()的用法,此函數(shù)能將 5 個(gè) HTML 特殊字符轉(zhuǎn)化為可在網(wǎng)頁(yè)顯示的 HTML 實(shí)體編碼;然后將介紹一些常見(jiàn)背景下的 XSS 攻擊輸入,以及如何在輸出端對(duì)動(dòng)態(tài)內(nèi)容進(jìn)行轉(zhuǎn)義、編碼從而避免 XSS 攻擊。

  使用 PHP 的 htmlspecialchars() 顯示 HTML 特殊字符

  從上文列舉的 XSS 惡意輸入可以看到,這些輸入中包含了一些特殊的 HTML 字符如 "<"、">"。當(dāng)傳送到客戶端瀏覽器顯示時(shí),瀏覽器會(huì)解釋執(zhí)行這些 HTML 或JavaScript 代碼而不是直接顯示這些字符串。< > & “ 等字符在HTML語(yǔ)言中有特殊含義,對(duì)于用戶輸入的特殊字符,如何直接顯示在網(wǎng)頁(yè)中而不是被瀏覽器當(dāng)作特殊字符進(jìn)行解析?

  HTML字符實(shí)體由 & 符號(hào)、實(shí)體名字或者 # 加上實(shí)體編號(hào)、分號(hào)三部分組成。以下為 HTML 中一些特殊字符的編碼。有的字符實(shí)體只有實(shí)體編號(hào),沒(méi)有對(duì)應(yīng)的實(shí)體名字,譬如單引號(hào)。

  PHP 提供了htmlspecialchars()函數(shù)可以將 HTML 特殊字符轉(zhuǎn)化成在網(wǎng)頁(yè)上顯示的字符實(shí)體編碼。這樣即使用戶輸入了各種 HTML 標(biāo)記,在讀回到瀏覽器時(shí),會(huì)直接顯示這些 HTML 標(biāo)記,而不是解釋執(zhí)行。htmlspecialchars()函數(shù)可以將以下五種 HTML 特殊字符轉(zhuǎn)成字符實(shí)體編碼:

原文轉(zhuǎn)自:http://www./Test/201407161.asp

社交賬號(hào)登錄:

  • 還沒(méi)有評(píng)論,沙發(fā)等你來(lái)?yè)?/li>

領(lǐng)測(cè)軟件測(cè)試網(wǎng)正在使用多說(shuō)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多