javascript事件解碼引起的問題

來源:互聯網
上載者:User

 在javascript 事件中,當參數是經過編碼的值,javascript 會將期解碼進行執行,如下代碼。

<a href=# onmousemove="&#97;&#108;&#101;&#114;&#116;&#40;&#47;&#119;&#111;&#121;&#105;&#103;&#117;&#105;&#47;&#41;">xxx</a>

另外,由於 javascript 支援 函數參數可以是 函數特性,如下代碼:

<script>x( alert(1) );</script>

利用兩種特性,就可以引發如下的安全問題:

<a href="#" onmousemove="xxx(&#39;+alert(1)+&#39;,44);return false;">woyigui</a>

當 javascript 代碼經過編碼帶入頁面,可以利用事件執行時解碼的特性對單引號進行閉合,然後利用 函數參數 可以是 函數的特性進行代碼。該方法不能直接用於 《script》內,比如如下代碼是不能執行的:

<script>
xxx(&#39;+alert(1)+&#39;);
</script>

由於如上問題,在特定應用環境中,處理與解決 DOM 型XSS 的時候,將更具有挑戰。解決方案就是在解碼後,再次使用 符號對其處理,但是考慮到特殊應用可能有所影響。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.