宿迁波仔博客

XSS跨站脚本攻击漏洞修复方法

漏洞类型:跨站脚本攻击(XSS)

1.跨站脚本攻击就是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行,从而达到恶意用户的特殊目的(一般用来盗取浏览器cookie)。

2.跨站脚本攻击漏洞,英文名称Cross Site Scripting,简称CSS又叫XSS。它指的是恶意攻击者向Web页面中插入一段恶意代码,当用户浏览该页面时,嵌入到Web页面中的恶意代码就会被执行,从而达到恶意攻击者的特殊目的。

xss跨站脚本攻击

危害:

1.恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。

2.比如有一天你打开一个网站,突然弹出一个窗口 提示叫你登陆 你以为是这个网站让你登陆 当你输入账户密码以后你的所有操作都被黑客记录了,还有小白问“盗取浏览器cookie有什么用” 黑客盗取你的浏览器cookies以后 可以利用你的cookie登陆你在特定网站或者论坛的账户。

3.网站常见的存在跨站的地方多半都在留言本,搜索,评论。这些地方, 特别是有留言和评论的地方要注意,你网站这两个地方存在跨站,黑客可以直接在这两个地方提交跨站攻击脚本,你登陆后台查看留言和评论以后就被攻击了。

解决方案:

避免XSS的方法之一主要是将用户所提供的内容输入输出进行过滤,许多语言都有提供对HTML的过滤:

可以利用下面这些函数对出现xss漏洞的参数进行过滤:

PHP的htmlentities()或是htmlspecialchars()。
Python的cgi.escape()。
ASP的Server.HTMLEncode()。
ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library
Java的xssprotect(Open Source Library)。
Node.js的node-validator。
 

ASP漏洞代码示例:

<%

Dim param

Set param=Request.QueryString(“dd”)

response.write param

%>

修复范例:

<%

Dim param

Set param=Request.QueryString(“dd”)

response.write Server.HTMLEnCode(param)

%>

PHP漏洞代码示例:

<?php

$aa=$_GET['dd'];

echo $aa.”123″;

?>

修复范例:

<?php

$aa=$_GET['dd'];

echo htmlspecialchars($aa).”123″;

?>
2014-09-18 | 发布:宿迁波仔博客 | 分类:经验心得 | 评论:9

留言列表:

  • 小污师 发布于 2016-05-10 14:05:28  回复
  • 具体是在什么文件进行修改呢?
  • 中山婚纱摄影 发布于 2015-06-21 11:45:29  回复
  • 很支持
  • 中山婚纱摄影 发布于 2015-06-21 11:44:32  回复
  • 一直以来支持
  • 恒泽堂 发布于 2015-06-04 14:28:39  回复
  • 111111
  • 精选鸡尾酒网 发布于 2015-04-26 17:06:03  回复
  • 怎么修改啊,一头雾水。
  • 小乐丫中文网 发布于 2015-04-11 21:17:18  回复
  • 有时间我想测试一下
  • 赢在大学励志网 发布于 2014-12-11 10:09:53  回复
  • 这个方法不错,学习一下
  • 香港虚拟主机 发布于 2014-09-19 11:52:59  回复
  • 唉,现在的黑客要在网站上挂东西方法很多,防护措施必须做好才行
  • 小猫 发布于 2014-09-19 08:14:29  回复
  • 识别,过滤是程序员必备的安全知识

发表留言: