码迷,mamicode.com
首页 > Web开发 > 详细

Web信息安全实践_4.1 XSS防御

时间:2020-01-27 15:25:37      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:table   ack   span   tran   users   tom   theme   tab   判断   

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防御

标签:table   ack   span   tran   users   tom   theme   tab   判断   

原文地址:https://www.cnblogs.com/tianjiazhen/p/12235883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!