xss绕过字符过滤_xss绕过过滤之方法
很多网站为了避免XSS的攻击,对用户的输入都采取了过滤,最常见的就是对<>转换成<以及>,经过转换以后<>虽然可在正确显示在页面上,但是已经不能构成代码语句了。这个貌似很彻底,因为一旦<>被转换掉,什么就会转换成“<script src=1.js></script>”,不能执行,因此,很多人认为只要用户的输入没有构成<>,就不能闭合前后的标签,其语句当然也不会有害。
但是,万事总有可能,只要有一定的条件,我们就可以构造经过编码后的语句来进行XSS。
1.转义字符
首先要认识一下“\”,这个不是斜杠么。对的,斜杠在JAVASCRIPT有着特殊的用途,它是转义的符号。例如,我们把我们XSS语句转换成16进制,这里是,我用在CHA88那里淘过来的脚本工具来转换,如图:(工具地址:http://tools88.com/safe/xss.php)
结果如下
\x3C\x73\x63\x72\x69\x70\x74\x3E\x61\x6C\x65\x72\x74\x28\x27\x70\x6F\x72\x75\x69\x6E\x27\x29\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E
这些就是经过编码后的字符,因为前面的斜杠缘故,所以后面的这些字符在JAVASCRIPT中都会被还原。
我们再来看一下测试用的index.asp
if request("text1")<> "" then
a=replace(replace(request("text1"),"",">")
end if
%>
a=""
document.write(a)
很简单的内容,接受用户的数据后过滤<>,再用JAVASCRIPT显示出来,直接输入XSS的测试语句看看,被转换掉了吧。再来输入经过16进制转换后的字符,这些字符都可以轻松的逃过过滤,完整进入代码中,经过JAVASCRIPT还原之后,正确解释出来,如图
而不但是十六进制可以,八进制同样奏效,转换后代码如下:
\74\163\143\162\151\160\164\76\141\154\145\162\164\50\47\160\157\162\165\151\156\47\51\74\57\163\143\162\151\160\164\76
二.UBB标签
UBB标签是目前广泛运用到论坛,留言簿,以及其他网站系统的一种编码标签,类似[img]url[/img]这样的,用户在中间输入地址后即可,在发表的时候系统会自动改成。这个URL就是用户输入的图片地址,XSS攻击中,可以利用这个特点来达到无需用户输入<>就能执行由用户所输入的代码,我们只要在输入网址的地方输入:
x"/**/οnerrοr="alert('poruin')
那么经过转换后就变成了
在JS中空格可以用/**/转换,如图:
三.JS还原函数
JS中的编码还原函数最常用的就是String.fromCharCode了,这个函数用于ascii码的还原,一般来说,这个函数都要配合EVAL来使用才有效果。
在跨站中,String.fromCharCode主要是使到一些已经被列入黑名单的关键字或语句安全通过检测,把关键字或语句转换成为ASCII码,然后再用String.fromCharCode还原,因为大多数的过滤系统都不会把String.fromCharCode加以过滤,例如关键字alert被过滤掉,那就可以这么利用:
执行效果如上图一样,没有关键字同样执行想要执行的代码。
文章到此大致结束了,要知道在XSS中可以利用绕过过滤的技术远不止这些,毕竟有防自然也会有攻,魔高一尺道高一丈,我写这文章时间很短,都是依靠我自己的理解来写的,有不正确的地方欢迎各位指出,也希望能和一些喜欢脚本安全或者是XSS的朋友一起讨论这方面的内容。
xss绕过字符过滤_xss绕过过滤之方法相关推荐
- xss绕过字符过滤_XSS绕过实战练习
前言 写这篇博文起源来自于一次网络安全实验课,在实验虚拟环境里有一个xss挑战,估计是搬别人的xss挑战进来,我觉得挺有意思,就记录一下.有些关卡不能再虚拟环境实践,我在自己物理机上找到那个xss挑战 ...
- XSS短字符短域名绕过,XSS相关的知识
XSS短字符域名绕过 先在phpstudy上搭建一个gamerycms的一个平台,文件可以在github上获得:https://github.com/bensonarts/GalleryCMS 搭建完 ...
- xss绕过字符过滤_XSS过滤器绕过总结
XSS过滤器绕过总结 黑名单过滤器绕过 黑名单模式下的过滤器是最常见的.他们的目标是检测特定模式并防止恶意行为.这完全是"模式"的问题,它们越准确,就越可以拦截攻击. 1. 注入脚 ...
- 复现20字符短域名绕过以及xss相关知识点
xss xss攻击 xss指黑客通过特殊的手段往网页中插入了恶意的 JavaScript 脚本,从而在用户浏览网页时,对用户浏览器发起 Cookie 资料窃取.会话劫持.钓鱼欺骗等各攻击. xss攻击 ...
- SQL注入一些过滤及绕过总结
前言: 前几天做了几道SQL注入的题,一上去就遇到这样那样的过滤,弄得我很难受,所以这里写一篇关于过滤一些的总结. 1.过滤关键字 过滤关键字应该是最常见的过滤了,因为只要把关键字一过滤,你的注入语句 ...
- XSS注入原理以及一些绕过姿势
介绍 XSS--跨站脚本攻击.通过这个攻击手段,攻击者可以将恶意的 JavaScript 代码插入存在 XSS 漏洞的 Web 页面中,当用户浏览带有恶意代码的页面时,这些恶意代码会被触发,从而达到攻 ...
- xss攻击解决方案php项目,php 过滤存储型XSS攻击,_PHP_ 少侠科技
详细内容 最近做的项目被测试测出了存在存储型XSS,至此记录一下,问题出在了 input 框 :payload:"a" οnclick=alert(1)> 也做了一些XSS过 ...
- 关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法
关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法 1985 T.于星期四, 07/03/2013 - 20:36提交 在android开发中,经常会碰到edittext ...
- XSS与字符编码的那些事儿
目录 0x00:基本介绍 0x01:html实体编码 0x02:新增的实体编码 实体编码变异以及浏览器的某些工作原理! 0x03:javascript编码 0x04:base64编码 0x05:闲扯 ...
最新文章
- [转]后期-快速消除痘痘,完美修复MM肌肤
- Jrebel 热部署插件的使用和破解
- n!后面有多少个0(转载)
- Redis轻松实现秒杀系统
- 4k笔记本安装linux,Dell 4K Linux 笔记本 M3800 发售
- Linux常用命令笔记2---文件管理2
- 处理非window设置为window的Owner
- GOM引擎ItemShow代码在NPC对话框中显示装备图片及属性
- u盘dos启动盘制作工具 v9.36正式版
- 安卓psp模拟器联机教程_psp模拟器联机平台下载
- 三维旋转矩阵_三维重建中的旋转(Rotation)
- ensp ethernet端口配置ip问题
- APP产品经理必须要懂的30条原则——来自腾讯张小龙的演讲
- 福利彩票36选7模拟程序
- 星际争霸2 sc2replay录像回放python库sc2reader常用函数总结
- 抖音App四神算法分析
- 史上最强ASR非特定人声语音识别模块,完爆LD3320
- 语音识别之HTK入门(二)
- hdu 1074 状压dp
- 如何修复因卸载ccleaner导致的回收站损坏
热门文章
- 基因数据处理1之mapping_to_cram
- HTML网页设计——轮滑运动体育类人物介绍主题12页面毕业设计网页
- 互联网专利战场急先锋-高智发明,微软苹果等撑腰
- 立体视觉入门指南(6):对级约束与Fusiello法极线校正
- Python入门自学进阶-Web框架——8、认识Ajax,与Django交互,基于jQuery
- 删除 linux 回收站内容,Linux删除文件实现回收站功能
- 以华为公司为例的我国业务流程管理实践研究
- [整理] 如何学习插画,美术等
- 安了锐捷后电脑总是弹出交互式检测
- geotools中等值面的生成与OL3中的展示