首页 > 代码库 > XSS学习

XSS学习

XSS基础篇 介绍(内容写在PPT里了,博客园就不做太详细的备份)

这份草稿这样了吧,偷懒了。

1 XSS (Cross Site Script) 跨站脚本攻击,简称“CSS”?

No,CSS缩写已经被层叠样式表占用,所以在被称为“XSS”。

 

2 神马是跨站脚本攻击(XSS)?

指黑客通过“HTML注入”修改网页内容,骗取用户点击后触发恶意代码。

 

3 XSS的原理是神马?

利用浏览器对脚本的自动解析,运行注入的恶意代码。

简述XSS攻击的过程----------------例1,做个简单的小例子

a 用户点击带有恶意代码的URL

b 用户浏览器自动解析URL里面包含的恶意代码

 

4 XSS的类型

a 反射型(包括DOM Base XSS)  ----例2 DOM BASE XSS的例子

b 持久型 --------------------------------例3 laputa的一个BUG

两者的本质是一样的,区别在于脚本的储存地点,通常来说持久型的XSS更危险一些

 

5 小结

XSS的攻击交互过程:

a 用户请求了经过XSS处理的URL

b 浏览器自动解析了URL里面的恶意代码

6 抛出疑问

1 XSS 攻击的危害程度有多大? ----例4窃取cookie,登录用户帐号后获取用户信息

2 怎么骗取用户点击带有XSS的URL?

a 伪装

例如 标题吸引:恶意URL的标题一般都比较富有诱惑力

        编码转换:转成16进制编码格式--------------------------------例子5 编码转换成16进制的

b XSS攻击的请求范围包括POST吗?

请见下一章节

c 如何构建XSS攻击脚本?

d XSS的防御策略如何设计

e XSS的部分功防策略演示

f  用神马工具寻找XSS漏洞

网上有很多,建议用开源的。

 

XSS深入篇 脚本

1 XSS脚本构建

a 了解脚本语言

1 javascript 

2 flash

3 ...

b 了解主流的浏览器 ----------------------------------例6 IE8和FIREFOX 举例

1 不同浏览器对于脚本的支持程度

 

2 XSS的攻击范围包括POST请求

form表单方式----------------------例子7 DOM节点方式

XMLHTTPREQUEST方式---------------------例子8 AJAX方式

 

3 XSS构造技巧

1 利用字符编码

2 绕过长度限制

3 使用<base> 标签

4 window.name跨站攻击

5 不规范的脚本代码绕开过滤器

 

3 常见的能注入的HTML代码--P99例子

 

XSS防御篇

1 如何防御XSS?

a 高质量的代码(不现实,成本过高)

b 前台后台过滤一切可疑符号,PS-如果没有后台,那么也就没意义了(效果明显,但用户体验会变差,比如用户资料里面的文本输入不允许“” <>)

c 制定相对适合自身项目的策略(推荐)

1 HTTPONLY

微软在IE6时提出的一种策略,目前已经是一种标准,他规定禁止脚本语言访问带有httponly属性的cookie。

这样可以有效对关键cookie信息进行保护,------------例子 获取COOKIE的实例

2 选择性的禁用部分标签《IFRAME》《SCRIPT》《BASE》《FORM》需要严格禁用,可以允许部分安全标签

3 针对DOM BASE XSS特别防御

P103

 

 

参考资料

1 白帽子讲WEB安全

2 URL

3 URL

4 WEB黑客功防实例

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XSS学习