某通用型学校网站系统SQL注入影响大量学校网站下载

来源:黑吧安全网 浏览:1258次 时间:2014-04-28
做网站找雨过天晴工作室

某通用型学校网站系统SQL注入影响大量学校网站

首先是从沈阳航空职业技术学院搜到的信息:

 

http://www.syhzy.cn/

于是按照关键字搜了一下:

 

技术支持:校无忧科技



看了用户量不小啊

下载了源码看了下:Xiao5u_School_v2.1.zip

看到这个文件/admin/check.asp:

 

if request("action")="login" then
Username=trim(request("admin_name"))
Password=trim(request("admin_pass"))
end if
If Instr(Username,"or")<>0 or Instr(Password,"or")<>0 or Instr(Username,"and")<>0 or Instr(Password,"and")<>0Then
response.write "<br><br><br><br><font size=2><center>没事别搞人家后台,谢谢!<br>否则一切后果自负!<br>校无忧-Www.Xiao5u.Com</font>"
else
set rs=server.createobject("adodb.recordset")
sql="select * from admin where Username='"&Username&"' and Password='"&md5(Password)&"'"
rs.open sql,conn,1,3



从代码中看出,虽然他做了一点点的处理,但是基本上跟没处理一样,只是判断用户名和密码中是否有or和and关键字,那我们不是用大写或者大小写混合不就绕过了。

本地环境测试了下,成功绕过后台登陆,后台登陆地址/admin/login.asp

登陆后台后,在网站信息处,可以拿shell,文件/admin/siteconfig.asp:

 

sub SaveConfig()
If ObjInstalled=false Then
FoundErr=true
ErrMsg=ErrMsg & "<br><li>你的服务器不支持 FSO(Scripting.FileSystemObject)! </li>"
exit sub
end if
dim fso,hf
set fso=Server.CreateObject("Scripting.FileSystemObject")
set hf=fso.CreateTextFile(Server.mappath("../inc/config.asp"),true)
hf.write "<" & "%" & vbcrlf
hf.write "Const SiteName=" & chr(34) & trim(request("SiteName")) & chr(34) & " '网站名称" & vbcrlf
hf.write "Const keywords=" & chr(34) & trim(request("keywords")) & chr(34) & " '关键字" & vbcrlf
hf.write "Const description=" & chr(34) & trim(request("description")) & chr(34) & " '描述" & vbcrlf
hf.write "Const Copyright=" & chr(34) & InPutStr(trim(request("Copyright"))) & chr(34) & " '版权信息" & vbcrlf
hf.write "%" & ">"
hf.close
set hf=nothing
set fso=nothing
end sub



这里没有任何过滤,直接将接收到的配置信息写入了配置文件/inc/config.asp中。

来看看配置文件/inc/config.asp内容;

成功写入一句话密码,入侵检测拿到webshell

来两个案例证明吧:

有拿上述网站shell,没有破坏数据。

影响挺大,拿shell,拿站都可以批量的,请cncert国家互联网应急中心及时处理吧。

修复方案:

加强过滤。