网管程序员论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1935|回复: 0

Server.HTMLEncode用法,解决360网站安全检测跨站脚本攻击漏洞

[复制链接]
发表于 2014-9-1 21:19:51 | 显示全部楼层 |阅读模式
漏洞类型:跨站脚本攻击(XSS)

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

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

危害:

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。

方案二:使用开源的漏洞修复插件。( 需要站长懂得编程并且能够修改服务器代码 )




Server.HTMLEncode

HTMLEncode

一.HTMLEncode 方法对指定的字符串应用 HTML 编码。
语法Server.HTMLEncode( string ) 参数string 指定要编码的字符串。

示例脚本
<%= Server.HTMLEncode("The paragraph tag: <P>") %>输出
The paragraph tag: <P>

注意 以上输出将被 Web 浏览器显示为
The paragraph tag: <P>如果查看一下源文件或以文本方式打开一个 Web 页,您就可以看到已编码的 HTML

二.相关例子解析:
rs("content")=Server.Htmlencode(Request("content")) :
rs("content")的意思是说,rs是一个recordset对象,content是数据库表中的一个字段;recordset对象可以操作数据库表的每一条记录,以及其中的每个字段.

Server.Htmlencode的作用:是把某些代码转换成html格式的.

Request("content")是指:返回的上个页面里有一个名字为content的元素的值;它可能是表单里的某个文本框,也有可能是个querystring型的东西
但是从名字和习惯来判断,它是一个表单的多行文本框,因为它是放置内容用的.

整体意思是它把上个递交页面传来的文本框里的值,放在数据库中现在打开的记录中的content字段中.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|最新更新|网管程序员社区 鄂ICP备11008024号-3

GMT+8, 2019-11-22 18:59 , Processed in 0.109200 second(s), 24 queries .

Powered by 网管论坛

© 2001-2018 www.027safe.com Inc.

快速回复 返回顶部 返回列表