Web信息安全实践_4.1 XSS防御
Posted tianjiazhen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web信息安全实践_4.1 XSS防御相关的知识,希望对你有一定的参考价值。
XSS 存在的三个条件
- 网站应用程序必须接受用户的输入信息
- 用户的输入会被网站用来创建动态内容
- 用户的输入验证不充分
- 输入过滤,输出转义:检查用户输入含有攻击信息,尽可能过滤攻击信息;如果不能判断哪些是攻击信息,那么要使得显示的时候不能发送攻击
输入过滤
使用黑名单,从用户的输入中删除 <script>
- 缺点:很难保证完全;限制了用户展示代码
<scr<script>ipt> //若仅过滤一个script,其他不检查
some<<b>script>alert(‘hello‘)<</b>/script //在标签中加标签,防止被过滤
// 伪协议javascript <img src=javascript:alert(‘Hello‘)> <table background="javascript:alert(‘Hello’)”>
// 伪协议JavaScript <img src=javascript:alert(‘Hello‘)> <table background="javascript:alert(‘Hello’)”>
// 伪协议JavaScript <img src=javascript:alert(‘Hello‘)> <table background="javascript:alert(‘Hello’)”>
// 编码绕过防御措施 %3cscript%3ealert(document.cookie) %3cscript%3e
输出转义
// www.myzoo.com/users.php $profile = htmlspecialchars($profile); //htmlspecialchars:把特殊字符(如< /)特殊编码,经过特殊编码后script不会被识别成脚本语言,但显示时仍以字符原样显示
XSS 防御: httponly cookie
微软提出,保护cookie策略
? 大多数浏览器都支持 httponly cookie
? 仅在传输 HTTP (或 HTTPS )请求时才使用 httpOnly 会话cookie
? 防止通过 XSS 窃取会话 cookie
以上是关于Web信息安全实践_4.1 XSS防御的主要内容,如果未能解决你的问题,请参考以下文章