Board logo

标题: zblog最新漏洞及修复方法 [打印本页]

作者: 柔肠寸断    时间: 2011-1-3 02:32     标题: zblog最新漏洞及修复方法

测试版本:Z-blog 1.8

测试站点:http://blog.rainbowsoft.org

漏洞文件:cmd.asp

http://blog.rainbowsoft.org/cmd.asp?act=gettburl&id=10"><iframe%20src=http://www.3ast.com.cn></iframe>

漏洞解析:在cmd.asp中,程序对gettburl提交的id参数做如下处理:

      Call GetRealUrlofTrackBackUrl((Request.QueryString("id")))


其中GetRealUrlofTrackBackUrl是引用日志TrackBack地址的函数,他的函数处理如下:

'plugin node
For Each sAction_Plugin_TrackBackUrlGet_Begin in Action_Plugin_TrackBackUrlGet_Begin
  If Not IsEmpty(sAction_Plugin_TrackBackUrlGet_Begin) Then Call Execute(sAction_Plugin_TrackBackUrlGet_Begin)
  If bAction_Plugin_TrackBackUrlGet_Begin=True Then Exit Function
Next

在做如上判断后对gettburl的id参数进行输出,在输出时候对id这个参数过滤不严,导致了跨站漏洞的产生,黑客可以利用这个漏洞盗取管理员的cookies以及添加管理员等,甚至直接getshell。

修补方法:

在博客根目录找到cmd.asp文件,找到

Call System_Initialize()

      然后在上面添加

function checksql_c(text)
if IsNumeric(text)=false then
response.Redirect("default.asp")
response.End()
end if
end function

找到

GetRealUrlofTrackBackUrl

将 Call GetRealUrlofTrackBackUrl(Request.QueryString("id")) ,改为Call GetRealUrlofTrackBackUrl(checksql_c(Request.QueryString("id")))

至此漏洞修补完毕

为方便朋友们修改,兰州seo提供修改后完整版cmd.asp下载,下载后直接传到更目录覆盖即可。

下载地址:zblog漏洞修补文件件







推荐阅读:说说这几天发现的一个zblog漏洞

昨天兰州seo的博客被入侵了,所幸发现的很及时,黑客只来得及留了一句话木马,没造成重大的损失,所以由此产生下文。

      发现被入侵后,首先利用自己上传的ASP大马,扫描了一下网站有没有黑客留下的后门,然后在空间后台那里取消了整个网站的写权限,为了防止黑客再次入侵。

      这写步骤过后就的分析自己网站是怎么被入侵的,把当天的日志下载下来后,看着1000K的IIS日志头很大,也没有头绪。思前想后,最终确定为黑客是由跨站漏洞而入侵成功的。

      其实昨天晚上在登陆后台是就有点不正常,登陆后台不是后台首页,而是“操作成功”这四个字,当时就很疑惑,只不过没当回事,在后来的回忆中结合当时的情况,最终确定被入侵是由跨站漏洞所致,并且在随后的分析中也发现了zblog确实存在跨站漏洞。

漏洞具体文件在上文,危害很大,一当黑客诱惑管理员点击某连接后,可以直接添加管理员、写webshell以及盗取cookies,已经通知zblog官方。




欢迎光临 【3.A.S.T】网络安全爱好者 (http://3ast.com./) Powered by Discuz! 7.2