LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

SQL注入"></title><script src 解决办法

admin
2011年1月30日 21:58 本文热度 3073

最近接收一个烂摊子,数据库都被sql注入过一两次了,到处都可以看到标题上那种东西,


看得小妹我想死,我是燥性子看着有火,在网站上看了n多防注入的方法,记录一下


一种是从数据库入手的,我这个烂摊子是用的sql server2000的,


---------------------------------------------------------------------------------------------------------


推荐用SQL SERVER 2005 ,其安全性及功能都更为强大


一是不要用SA权限


二是删除表的sys.all_colums和sys.all_objects的select权限


注意:这里SQL SERVER 2005 及 2000不一样,
 SQL SERVER 2005
这两个权限在相应数据库展开下视图=》视图表中

把pubilc的select权限去掉,在属性里取消掉SELECT权限
 SQL SERVER 2000
在2000里,名字不一样,位置也不是在视图里,而是直接在表中,如下

然后把pubilc的select权限去掉


三、凡是访问数据库的用户,不要用SA,新建一个即可,其服务器角色不用设置,


全为空,只需要设数据库映射即可,然后数据库映射只给db_ower、pubilc权限


-------------------------------------------------------------------------------------------------------------


二个是从代码上入手


尽可能全的过滤SQL敏感的语句,
先把数据库里面注入的代码用Replace()替换掉,
再在Global文件里里加入
protected void Application_BeginRequest(Object sender, EventArgs e)
{
//SQL防注入
string Sql_1 = "exec|insert+|select+|delete+|update+|count|chr|mid|master+|truncate|char|declare|drop+|drop+table|creat+|creat+table";
string Sql_2 = "exec+|insert|insert+|delete+|update+|count(|count+|chr+|+mid(|+mid+|+master+|truncate+|char+|+char(|declare+|drop+|creat+|drop+table|creat+table";
string[] sql_c = Sql_1.Split('|');
string[] sql_c1 = Sql_2.Split('|');

if (Request.QueryString != null)
{
foreach (string sl in sql_c)
{
if (Request.QueryString.ToString().ToLower().IndexOf(sl.Trim()) >= 0)
{
Response.Write("警告!你的IP已经被记录!不要使用敏感字符!");//
Response.Write(sl);
Response.Write(Request.QueryString.ToString());
Response.End();
break;
}
}
}

if (Request.Form.Count > 0)
{
string s1 = Request.ServerVariables["SERVER_NAME"].Trim();//服务器名称
if (Request.ServerVariables["HTTP_REFERER"] != null)
{
string s2 = Request.ServerVariables["HTTP_REFERER"].Trim();//http接收的名称
string s3 = "";
if (s1.Length > (s2.Length - 7))
{
s3 = s2.Substring(7);
}
else
{
s3 = s2.Substring(7, s1.Length);
}
if (s3 != s1)
{
Response.Write("警告!你的IP已经被记录!不要使用敏感字符!");//
Response.End();
}
}
}
}


------------------------------------------------------------------------------------------------------------------


三个是使用防注入的软件防火墙Safe3 IIS Firewall


http://hi.baidu.com/soueou/blog/item/796bb9068127887e03088178.html


该文章在 2011/1/30 21:58:58 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved