很多网站为了避免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绕过过滤之方法相关推荐

  1. xss绕过字符过滤_XSS绕过实战练习

    前言 写这篇博文起源来自于一次网络安全实验课,在实验虚拟环境里有一个xss挑战,估计是搬别人的xss挑战进来,我觉得挺有意思,就记录一下.有些关卡不能再虚拟环境实践,我在自己物理机上找到那个xss挑战 ...

  2. XSS短字符短域名绕过,XSS相关的知识

    XSS短字符域名绕过 先在phpstudy上搭建一个gamerycms的一个平台,文件可以在github上获得:https://github.com/bensonarts/GalleryCMS 搭建完 ...

  3. xss绕过字符过滤_XSS过滤器绕过总结

    XSS过滤器绕过总结 黑名单过滤器绕过 黑名单模式下的过滤器是最常见的.他们的目标是检测特定模式并防止恶意行为.这完全是"模式"的问题,它们越准确,就越可以拦截攻击. 1. 注入脚 ...

  4. 复现20字符短域名绕过以及xss相关知识点

    xss xss攻击 xss指黑客通过特殊的手段往网页中插入了恶意的 JavaScript 脚本,从而在用户浏览网页时,对用户浏览器发起 Cookie 资料窃取.会话劫持.钓鱼欺骗等各攻击. xss攻击 ...

  5. SQL注入一些过滤及绕过总结

    前言: 前几天做了几道SQL注入的题,一上去就遇到这样那样的过滤,弄得我很难受,所以这里写一篇关于过滤一些的总结. 1.过滤关键字 过滤关键字应该是最常见的过滤了,因为只要把关键字一过滤,你的注入语句 ...

  6. XSS注入原理以及一些绕过姿势

    介绍 XSS--跨站脚本攻击.通过这个攻击手段,攻击者可以将恶意的 JavaScript 代码插入存在 XSS 漏洞的 Web 页面中,当用户浏览带有恶意代码的页面时,这些恶意代码会被触发,从而达到攻 ...

  7. xss攻击解决方案php项目,php 过滤存储型XSS攻击,_PHP_ 少侠科技

    详细内容 最近做的项目被测试测出了存在存储型XSS,至此记录一下,问题出在了 input 框 :payload:"a" οnclick=alert(1)> 也做了一些XSS过 ...

  8. 关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法

    关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法 1985 T.于星期四, 07/03/2013 - 20:36提交 在android开发中,经常会碰到edittext ...

  9. XSS与字符编码的那些事儿

    目录 0x00:基本介绍 0x01:html实体编码 0x02:新增的实体编码 实体编码变异以及浏览器的某些工作原理! 0x03:javascript编码 0x04:base64编码 0x05:闲扯 ...

最新文章

  1. [转]后期-快速消除痘痘,完美修复MM肌肤
  2. Jrebel 热部署插件的使用和破解
  3. n!后面有多少个0(转载)
  4. Redis轻松实现秒杀系统
  5. 4k笔记本安装linux,Dell 4K Linux 笔记本 M3800 发售
  6. Linux常用命令笔记2---文件管理2
  7. 处理非window设置为window的Owner
  8. GOM引擎ItemShow代码在NPC对话框中显示装备图片及属性
  9. u盘dos启动盘制作工具 v9.36正式版
  10. 安卓psp模拟器联机教程_psp模拟器联机平台下载
  11. 三维旋转矩阵_三维重建中的旋转(Rotation)
  12. ensp ethernet端口配置ip问题
  13. APP产品经理必须要懂的30条原则——来自腾讯张小龙的演讲
  14. 福利彩票36选7模拟程序
  15. 星际争霸2 sc2replay录像回放python库sc2reader常用函数总结
  16. 抖音App四神算法分析
  17. 史上最强ASR非特定人声语音识别模块,完爆LD3320
  18. 语音识别之HTK入门(二)
  19. hdu 1074 状压dp
  20. 如何修复因卸载ccleaner导致的回收站损坏

热门文章

  1. 基因数据处理1之mapping_to_cram
  2. HTML网页设计——轮滑运动体育类人物介绍主题12页面毕业设计网页
  3. 互联网专利战场急先锋-高智发明,微软苹果等撑腰
  4. 立体视觉入门指南(6):对级约束与Fusiello法极线校正
  5. Python入门自学进阶-Web框架——8、认识Ajax,与Django交互,基于jQuery
  6. 删除 linux 回收站内容,Linux删除文件实现回收站功能
  7. 以华为公司为例的我国业务流程管理实践研究
  8. [整理] 如何学习插画,美术等
  9. 安了锐捷后电脑总是弹出交互式检测
  10. geotools中等值面的生成与OL3中的展示