方法一:
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"; ?> |
请根据上面的方法进行,网站跨站攻击漏洞的修复!如果不修复,可能会引起网页被修改,网站被入侵,数据被盗!
方法二:
网站通用代码补丁(补丁请在本页最后下载),可以有效防护XSS,sql注射,代码执行,文件包含等多种高危漏洞。
详细使用方法:
步骤一:将waf.php(asp网站就是waf.asp)传到要网站的根目录
步骤二:在页面中加入防护,有两种做法,根据情况二选一即可:
a、在所需要防护的页面加入代码就可以做到页面防注入、跨站
| require_once('waf.php'); |
以上代码加到网页代码中<?php的下一行就可以了
如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config.inc.php,来调用本代码。常用php系统添加文件
一些常用建站程序的公用文件:
PHPCMS V9 是phpcms/base.php
PHPWIND8.7是data/sql_config.php
DEDECMS5.7 是data/common.inc.php
DiscuzX2 是config/config_global.php
Wordpress 是wp-config.php
Metinfo 是include/head.php
如果是ASP网站只用在页面的最顶端加上代码:
<!--#include_once file="/waf.asp"-->
或
<!--#include file="/waf.asp"-->
include_once的区别是:全站只加载一次相同的文件不反复加载
最简单的方法是加在数据库配置文件的最顶端,很多数据库配置文件是conn.asp,请根据你的实际情况来加代码!
b、使用独立服务器或VPS、云主机的用户,可以配置PHP.INI文件,自动给所有网站进行防护
在php.ini中找到 auto_prepent_file并修改为:
| Automatically add files before or after any PHP document. auto_prepend_file = waf.php路径; |
