关于Web安全的一些知识总结
-
具备JavaScript开发能力
-
了解HTTP,Cookie,Ajax等基本常识
- 反射型
发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。
- 储存型
存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码。
- 编码
对用户输入的数据进行HTML Entity编码
-
过滤
- 移除用户上传的DOM属性,如onerror等
- 移除用户上传的Style节点,Script节点,Iframe节点等
-
校正
- 避免直接对HTML Entity解码
- 使用DOM Parse转换,校正不配对的DOM标签
通过构建Node服务和建立一个评论功能,实例演示XSS的攻击及预防
- 反转义,DOM Parse
- 过滤,校正
