1.首先我会检查一下服务器配置,重新配置一次服务器安全,可以参考
http://hi.baidu.com/zzxap/blog/item/18180000ff921516738b6564.html
2.其次,用麦咖啡自定义策略,即使网站程序有漏洞,别人也很难在文件上写入代码了。
参考自定义策略,有了这个策略,再烂的程序,你也无法写入我的文件
http://hi.baidu.com/zzxap/blog/item/efe093a7e0f2c190d04358ef.html
3.可以用网络超级巡警删除被注入的JS代码。
参考
http://blog.csdn.net/zzxap/archive/2010/04/07/5459065.aspx
4.如何批量删除数据库中被注入的代码?
在数据库查询分析器运行这段代码即可
SQL code
DECLARE
@fieldtype
sysname
SET
@fieldtype
=
'
varchar
'
--
删除处理
DECLARE
hCForEach
CURSOR
GLOBAL
FOR
SELECT
N
'
update
'
+
QUOTENAME
(o.name)
+
N
'
set
'
+
QUOTENAME
(c.name)
+
N
'
= replace(
'
+
QUOTENAME
(c.name)
+
'
,
''
<script_src=http://ucmal.com/0.js> </script>
''
,
''''
)
'
FROM
sysobjects o,syscolumns c,systypes t
WHERE
o.id
=
c.id
AND
OBJECTPROPERTY
(o.id,N
'
IsUserTable
'
)
=
1
AND
c.xusertype
=
t.xusertype
AND
t.name
=
@fieldtype
EXEC
sp_MSforeach_Worker
@command1
=
N
'
?
'
5.创建一个触发器,只要有 </script>就不给插入,对性能会有点影响
SQL code
create
trigger
tr_table_insertupdate
on
tablename
for
insert
,
update
as
if
exists
(
select
1
from
inserted
where
data
like
'
%</script>%
'
)
begin
RAISERROR
(
'
不能修改或者添加
'
,
16
,
1
);
ROLLBACK
TRANSACTION
end
go
6.最重要的还是程序的写法,用参数化SQL或存储过程
例如
C# code
protected
void
cmdok_Click(
object
sender, EventArgs e)
{
//
添加信息
StringBuilder sql
=
new
StringBuilder(
"
insert into m_phone ( pid,PhoneName,num,price,phonetype,onSellTime,color,weight,Video,Camera,phoneSize,phoneSystem,Memorysize,PhoneDesc,Standbytime,ScreenSize,Frequency,InputMethod,Soundrecord,gps,fm,mp3,email,Infrared,game,clock,Calendar,Calculator,Bluetooth)
"
);
sql.Append(
"
values (@pid,@TextPhoneName,@Textnum,@Textprice,@Dropphonetype2,@TextonSellTime,@Textcolor,@Textweight
"
);
.................
SqlParameter[] paras
=
{
new
SqlParameter(
"
@pid
"
, SqlDbType.Int,
4
) ,
new
SqlParameter(
"
@TextPhoneName
"
, SqlDbType.NVarChar,
50
) ,
new
SqlParameter(
"
@Textnum
"
, SqlDbType.Int,
4
) ,
new
SqlParameter(
"
@Textprice
"
, SqlDbType.Int,
4
) ,
new
SqlParameter(
"
@Dropphonetype2
"
, SqlDbType.VarChar,
20
) ,
new
SqlParameter(
"
@TextonSellTime
"
, SqlDbType.DateTime,
8
) ,
new
SqlParameter(
"
@Textcolor
"
, SqlDbType.VarChar,
20
) ,
new
SqlParameter(
"
@Textweight
"
, SqlDbType.NVarChar,
50
) ,
...........
};
string
[] stra
=
{Dropphonetype.SelectedValue,TextPhoneName.Text , Textnum.Text, Textprice.Text, Dropphonetype2.SelectedValue, TextonSellTime.Text, Textcolor.Text, Textweight.Text,
.............};
int
a
=
stra.Length;
int
j;
for
( j
=
0
; j
<
a; j
++
)
{
paras[j].Value
=
stra[j];
}
int
strpid
=
0
;
string
sqla
=
sql.ToString();
try
{
SqlHelper.ExcuteNonQurey(sqla, CommandType.Text, paras);
//
执行添加数据
strpid
=
Convert.ToInt32(SqlHelper.ExcuteSclare(sqla, CommandType.Text, paras));
//
获取刚才插入的id号
}
catch
(SqlException ex)
{
cmdreturn.Text
=
ex.Message.ToString();
}
cmdreturn.Text
=
strpid.ToString();
。。。。。。。。。
7.通过URL传递的参数要用加密解密
C# code
传输
string
szTmp
=
"
safdsfdsafdsfytrsd
"
;
szTmp
=
Server.UrlEncode(szTmp);
接收
STRING STRA
=
Server.UrlDecode(request.querystring(szTmp));
8.把要使用的参数处理一下单引号,再放到SQL里面
例如 string stra=aa.replace("'","''")
用参数化SQL可以不用处理单引号
指定参数类型和过滤掉单引号,就可以杜绝99.9%入侵了
另外说一句:网上那些被人奉如圣经的过滤 update insert 等关键字的程序是用处不大的 upupdatedate 过滤掉 update还是update
还会造成不必要的麻烦
分享到:
相关推荐
### 网站注入与防范的方法 #### 一、引言 随着互联网技术的发展与普及,网站安全问题日益凸显,其中“网站注入”是威胁网络安全的主要隐患之一。网站注入不仅可能导致用户数据泄露,还可能使整个网站乃至服务器遭受...
网站注入防范方法总结 介绍服务器配置 被入侵后的清理 防止文件被写入代码 数据库触发器设置 程序书写SQL参数化方法 加密解密传输
SQL注入攻击是网络安全领域中一个严重的问题,它发生在应用程序与数据库交互时,攻击者通过输入恶意的SQL代码,使得数据库执行非预期的操作,可能导致数据泄露、数据篡改甚至整个系统的瘫痪。这篇博客将深入探讨SQL...
此外,研究强调了本实验内容对研究SQL注入相关网络攻防技术的重要性,并指出后续研究将继续深入探讨SQL注入工具的实现方法以及针对非ASP类型的网站进行SQL注入原理与防范对策的研究。 对于数据库管理员和网站开发者...
总结来说,SQL注入攻击是一种严重的威胁,但通过理解其原理,实施有效的防御策略,并利用工具进行定期检测,我们可以显著降低被攻击的风险。在开发过程中,始终遵循安全编码的最佳实践,确保用户输入的安全性,是...
总结以上内容,SQL注入漏洞的分析与防范需要网站开发者从多个层面出发,包括但不限于代码安全的编写、系统防护措施的实施以及对相关人员的安全培训。通过这些综合性的措施,可以大幅提高网站的安全性,防止因SQL注入...
总结:随着WEB技术的普及,SQL注入成为了一种常见的攻击手段。了解SQL注入的原理、危害以及防范措施是每个WEB开发者和数据库管理员的必要技能。在设计和部署WEB应用时,必须采取适当的安全措施来保护用户数据和系统...
上述内容是根据提供的文件部分摘录信息总结的,涵盖了SQL注入攻击的原理、防范技术以及防范模型的构建等方面的知识。通过系统地学习和实践这些知识,可以有效地减少SQL注入攻击的风险,保障数据库的安全。
本文针对Oracle数据库的SQL注入攻击及其防范策略进行了深入的研究。文章首先分析了Web应用程序的基本运行机理以及SQL注入攻击的原理,接着通过实例详细介绍了Oracle数据库中SQL注入的过程,并在最后提出了一套综合性...
SQL注入防范不仅是技术层面的问题,更是安全意识的体现。开发者需要理解其工作原理,熟练掌握防御技巧,并在实际开发中贯彻执行。同时,定期的安全审计和漏洞扫描也是保持系统安全的重要环节。通过深入学习和实践本...
4. SQL注入防范方法: - 参数化查询:使用预编译的SQL语句,将用户输入作为参数传递,防止SQL代码直接拼接。 - 输入验证:严格检查用户输入,拒绝包含特殊字符或不符合预期格式的数据。 - 最小权限原则:数据库账户...
**二、SQL注入防范措施** 1. **参数化查询/预编译语句**:使用参数化查询可以确保用户输入被当作数据而不是SQL代码来处理。 2. **输入验证**:对用户输入进行严格的类型、长度、格式检查,拒绝不符合规则的输入。 ...
总结来说,本文详细介绍了SQL注入攻击在校园网中的实现原理、检测方法和防范措施。通过具体的检测手段和防范策略,可以帮助校园网络管理员更好地防御这类攻击,保障校园网络安全。在实施这些策略时,还要注意对检测...
在探讨SQL注入漏洞的检测与防范方面,本文深入地分析了SQL注入的成因、检测方法以及有效的防范措施。首先,SQL注入是随着Web应用的普及而日益成为一个严重的安全问题。SQL注入漏洞之所以成为企业业务系统中的高危...
- **实验目的**:本实验旨在通过搭建一个简单的Web应用程序,模拟SQL注入攻击的过程,并探讨相应的防御措施,帮助理解SQL注入攻击的基本原理及其防范策略。 #### 二、实验原理 - **SQL注入的概念**:SQL注入是一种...
四、SQL注入防范策略 1. **输入验证**:对用户输入进行严格的过滤和检查,确保只有预期的数据类型和格式才能被接受。 2. **参数化查询/预编译语句**:使用参数化查询能有效防止SQL注入,因为它们将用户输入和SQL...
本文将详细介绍如何在JSP开发过程中防范SQL注入攻击,包括SQL注入的基本原理、常见的防范策略及具体实现方法。 #### 二、SQL注入攻击原理 SQL注入攻击是指攻击者通过向Web应用程序提交恶意构造的SQL语句,使得这些...
### 浅析SQL注入式攻击与防范 #### 一、SQL注入式攻击概述 随着互联网技术的迅猛发展,网络安全问题日益凸显。其中,SQL注入式攻击作为一种常见的安全威胁,不仅频繁发生,而且对企业和个人造成了巨大的损失。SQL...
总结来说,该文档深入地探讨了网站安全中的SQL注入问题,对成因、常见攻击方式及预防方法进行了专业分析和指导。开发者通过遵循文中提到的防范措施,可以在很大程度上提高网站的安全性,防范SQL注入攻击,减少损失。...
根据提供的文件信息,我们...以上内容总结了文档中关于高校Web应用中SQL注入攻击与防范研究的核心知识点,涵盖了攻击原理、可能的危害以及防范措施等。这些知识点对于理解和提升Web应用的安全防护水平具有重要的价值。