Web網絡安全漏洞分析DOM型XSS攻擊原理

DOM型XSS攻擊

DOM型XSS攻擊頁面實現的功能是在“輸入”框中輸入信息,單擊“替換”按鈕時,頁面會將“這裡會顯示輸入的內容”替換為輸入的信息,例如當輸入“11”的時候,頁面將“這裡會顯示輸入的內容”替換為“11”,如圖75和圖76所示。

圖75 HTML頁面

圖76 替換功能

當輸入<img src=1 οnerrοr=“alert(/xss/)”/>時,單擊“替換”按鈕,頁面彈出消息框,如圖77所示。

圖77 DOM XSS

從HTML源碼中可以看到,存在JS函數tihuan(),該函數的作用是通過DOM操作將元素id1(輸出位置)的內容修改為元素dom_input(輸入位置)的內容。

DOM型XSS代碼分析

DOM型XSS程序隻有HTML代碼,並不存在服務器端代碼,所以此程序並沒有與服務器端進行交互,代碼如下所示。

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <title>Test</title>
    <script type="text/javascript">
        function tihuan()
        {
            document.getElementById("id1").innerHTML = document.getElementById("dom_input").value;
        }
    </script>
</head>
<body>
    <center>
    <h6 id="id1">這裡會顯示輸入的內容</h6>
    <form action="" method="post">
        <input type="text" id="dom_input" value="輸入"><br />
        <input type="button" value="替換" onclick="tihuan()">
    </form>
    <hr>
    </center>
</body>
</html>

單擊“替換”按鈕時會執行JavaScript的tihuan()函數,而tihuan()函數是一個DOM操作,通過document.getElementByld的id1的節點,然後將節點id1的內容修改成id為dom_input中的值,即用戶輸入的值。當輸入<img src=1 οnerrοr=“alert(/xss/)”/>時,單擊“替換”按鈕,頁面彈出消息框,但由於是隱式輸出的,所以在查看源代碼時,看不到輸出的XSS代碼。

以上就是Web網絡安全漏洞分析DOM型XSS攻擊原理的詳細內容,更多關於Web網絡安全漏洞DOM型XSS攻擊的資料請關註WalkonNet其它相關文章!

推薦閱讀: