XSS学习-初出茅庐

XSS: 又叫跨站攻击,根据攻击类型分为以下三类:


1. 反射型 XSS -服务端没有把用户的输入数据进行标签过滤,直接在页面上输出。可能存在恶意代码的链接,诱导其他人点击进而实施攻击;

2. 存储型 XSS - 常见于博客系统中,黑客将含有恶意代码的数据直接写入 文章 、评论中 存储在服务器数据库中,所有浏览这个文章,查看这个的用户都会在浏览器上插入带有恶意攻击代码。

3. 基于DOM的 XSS跨站脚本攻击-通过修改DOM节点数据信息而形成的XSS攻击。


XSS在线竞赛平台:http://xss-quiz.int21h.jp

解题思路:

http://blog.csdn.net/yd0str/article/details/17297971


XSS防范:

1. 利用HttpOnly ,HttpOnly是在set-cookie时进行标记,这样的标记 使得浏览器将禁止页面的JavaScript访问这类Cookie,解决了黑客利用脚本盗用cookie会话行为;  引用于PHP源码文档中的说明:

* @param httponly bool[optional] <p>

* When true the cookie will be made accessible only through the HTTP

* protocol. This means that the cookie won't be accessible by

* scripting languages, such as JavaScript. This setting can effectively

* help to reduce identity theft through XSS attacks (although it is

* not supported by all browsers). Added in PHP 5.2.0.

* true or false

示例展示图片如下:  

图一: 开启了HttpOnly 后,没用从JavaScript中读到cookie信息

wKioL1M38jyjchA_AAKoQZqf3Bs557.jpg

wKioL1M38jyiFZYmAAKYpbyV0zc123.jpg


2. 完善的输入输出检查

防范基于反射型XSS 和 存储型XSS:

 必要的输入检查,对帐号密码信息等输入数据的合法性检查。比如:只允许下划线,字母,数字等数据规范,不允许不合规范的数据输入。

  必要的输出检查,对取出来的信息进行HTML编码处理,将可能存在导致XSS跨站脚本攻击的恶意字符进行编码,对某些可能造成XSS攻击的字符进行过滤。

防范基于DOM的XSS:

 依然把用户要展现出来的信息进行编码处理,输入的数据进行合法检测。


小结:初步了解XSS,慢慢学习ing!!




本文出自 “丑小鸭的天空” 博客,谢绝转载!

你可能感兴趣的:(浏览器,服务器,cookie,PHP源码)