|
Z-Blog是一套基于ASP平台的开放,高效,健壮,实用,美观的Blog发布程序,
使用人数众多,本身各方面的设计都很到位,唯独在安全方面,着实需要一些加强.
本文列出Zblog的一些软肋,并以图文的形式,对其一一进行完善,菜鸟撰文,欢迎挑错.
首先Zblog是采用Md5加密算法对敏感数据进行加密的,众所周知现如今破解Md5密码的方法有很多,
所以一旦Zblog出现漏洞,泄露敏感数据,那么后果不堪设想...
本人菜鸟,所以此文中不对Zblog的加密算法做任何修改,有兴趣的朋友可以自己研究完善.
这里我们假设已经得到某Zblog用户的管理员密码,根据普瑞斯特的了解,登陆后台以后,至少有3种方法轻松获得Webshell,
下面我们就针对这两种获取Webshell的方法,进行相关的修改,
最终所达到的目的是即使别人拿到了我们的管理员密码,也没有办法进一步提权对我们的博客造成影响和破坏.
首先要说的是Zblog后台的文件管理功能,这个功能对于入侵者来说是相当的方便,只需随意修改某个文件,
把内容替换成相应的网页后门,就可以达到获取网站Webshell的目的,对广大博主来说危害是相当的大的,
所以我们要做一些简单的修改,废除掉"文件管理"这个平时并不经常运用到的功能.
第一步我们用Dreamweaver打开网站根目录下的Cmd文件,找到大概第222行,
对其中Call SiteFileMng(),Call SiteFileEdt(),Call SiteFilePst(),Call SiteFileDel()这四个函数通过添加单引号'进行注释,
这样这几个函数就被会被咔嚓掉,失去原有的功能,添加单引号后函数会显示为浅灰色,如图1:
第二步用Dreamweaver打开FUNCTION目录下的c_system_base.asp文件,
找到第528-537行的位置,将下图红色框框中GetRights后面的值统统由1改为0,如图2:
接着我们将以上2个文件改后的代码覆盖到原文件里,然后我们回到后台,看下修改后的效果,此时我们点击"文件管理",会出现如下提示,如图3:
这样入侵者就没有办法通过"文件管理"功能来获取网站的Webshell了.
如果我们想修改的彻底一点,可以找到ADMIN目录下的admin_left.asp文件,
打开后删除以下代码:
<p class="button1"><a href="../cmd.asp?act=SiteFileMng" target="main"><%=ZC_MSG210%></a></p>
最终的效果是让"文件管理"这个功能的链接从后台彻底消失.
下面说下第二种Zblog后台拿Webshell的方法,
具体操作就是通过在后台"网站设置管理"中选择"全局设置"后在"允许上传文件的类型"处添加asp,php等可执行文件后缀,达到上传Webshell的目的,
如图4:
这里我们要做相应的修改,使"允许上传文件的类型"这项设置失效,不允许用户修改上传文件类型.
首先我们找到ADMIN目录下的edit_setting.asp文件,用Dreamweaver打开后找到以下代码:
Dim strZC_UPLOAD_FILETYPE
If LoadValueForSetting(tmpSng,True,"String","ZC_UPLOAD_FILETYPE",strZC_UPLOAD_FILETYPE) Then
strZC_UPLOAD_FILETYPE=TransferHTML(strZC_UPLOAD_FILETYPE,"[html-format]")
Response.Write "<tr><td style='width:32%'>" & SplitNameAndNote(ZC_MSG183) & "</td><td style=""width:68%""><p><input id=""edtZC_UPLOAD_FILETYPE"" name=""edtZC_UPLOAD_FILETYPE"" style=""width:95%"" type=""text"" value=""" & strZC_UPLOAD_FILETYPE & """ /></p></td></tr>"
End If
将代码替换为下列代码:
Dim strZC_UPLOAD_FILETYPE
If LoadValueForSetting(tmpSng,True,"String","ZC_UPLOAD_FILETYPE",strZC_UPLOAD_FILETYPE) Then
strZC_UPLOAD_FILETYPE=TransferHTML(strZC_UPLOAD_FILETYPE,"[html-format]")
Response.Write "<tr><td style='width:32%'>" & SplitNameAndNote(ZC_MSG183) & "</td><td style=""width:68%""><p><input id=""edtZC_UPLOAD_FILETYPE"" name=""edtZC_UPLOAD_FILETYPE"" style=""width:95%"" type=""text"" value=""" & strZC_UPLOAD_FILETYPE & """ readonly/></p></td></tr>"
End If
最终的效果是让此项设置变为只读,也就是说用户只能查看网站允许的上传类型,而不能进行任何修改.
第三种拿Webshell的方法,是在后台"链接管理"处修改相关内容,写入Webshell代码,保存后即可得到后门地址,
这一处软肋比较棘手,普瑞斯特提供给大家的方法,
就是对INCLUDE目录下的navbar.asp,link.asp,favorite.asp,misc.asp这几个文件设置只读权限,禁止修改,如图5:
这里我们需要有服务器或FTP权限才能对这几个文件进行设置,而且设置后会对网站的正常使用产生些许的不便,
要不要修改就看各位看官的意思了...
到这里我们基本上已经把Zblog里一些比较突出的安全隐患统统消除,
入侵者想通过后台拿到Webshell已经是一个难以完成的任务,当然不排除还有其他获取Webshell的方法,
普瑞斯特只是把自己所知道的一些安全隐患进行相应修补,并将修改方法分享给大家.
如果您感觉以上方法比较复杂或者懒于修改,也可以直接下载普瑞斯特修改后的Zblog文件,直接通过FTP上传覆盖到相应位置即可.
狂点我下载修改后的文件 |
本文地址: https://jiufei.net/bbs/thread-1385-1-1.html
|