海外邮件中继,海外退信中继,美国高速VPS,不限流量VPN,邮局维护和管理,邮件网关,EMOS邮件中继,POSTFIX邮件中继,Winwebmail邮件中继,Winmail邮件中继,DBMail邮件中继,JDMail邮件中继,Exchange邮件中继,MDaemon邮件中继 淘宝店:http://shantan.taobao.com 云邮科技官网:www.yunrelay.com
【字体设置:大 中 小】
由于L-BLOG有些页面过滤不严谨,导致了博客存在跨站攻击的漏洞,黑客朋友们通过SCRIPT语句写入程序中,即可获取管理员的COOKIES,这样是很危险了,他们通过COOKIES的去骗方式,将普通的用户提权到管理员,这样,整个网站就归他所有了.
下面,兄弟给大家分析一下漏洞所在:
漏洞的起因我们可以看看commond.asp的代码,代码如下:
Dim memName,memPassword,memStatus
memName=CheckStr(Request.Cookies(CookieName)("memName"))
memPassword=CheckStr(Request.Cookies(CookieName)("memPassword"))
memStatus=CheckStr(Request.Cookies(CookieName)("memStatus"))
看memStatus是从Cookies里读出来的。
L-BLOG登陆的时候
普通用户给Request.Cookies(CookieName)("memStatus")赋了Member
超级管理员给Request.Cookies(CookieName)("memStatus")赋了SupAdmin
而前台的权限判断是根据memStatus的值,而memStatus的值,是从Request.Cookies(CookieName)("memStatus")里读出来的,所以我们将memStatus=Member改成memStatus=SupAdmin这样就获得了L-BLOG的前台的管理员权限了。
然后借助桂林老兵等软件就可以进行网站的SQL注入攻击了.既然存在那么大的漏洞,那么我们就要修复它,免费辛苦的努力全被破坏了,下面是修复的过程:
COOKIE的修复方法的原理就是将admin用户组手工删除,只给指定用户用户管理权限。
步骤:(指定用户指的是blog的管理员帐号
第一library.asp文件里,
找到Sub MemberCenter ’’用户中心 下面。
将IF memStatus="SupAdmin" 改成 memName=指定用户(比如:memName="admin")
然后将后面的 ElseIF memStatus="Admin" Then
Response.Write("<a href=""blogpost.asp""><img src=""images/icon_newblog.gif""/
align=""absmiddle"" border=""0""> "&S_Post_New&"</a><br>") 删除;
第二blogpost.asp,blogedit.asp文件里,
开头<%IF memStatus<>"Admin" AND memStatus<>"SupAdmin" Then%>
改成<%IF memName<>指定用户 Then%>
第三attachment.asp文件,
将<%IF memStatus="SupAdmin" OR memStatus="Admin" Then改成
<%IF memName=指定用户 Then
第四admincp.asp文件
将<%IF memStatus<>"SupAdmin" Then%>改成
<%IF memName<>指定用户 Then %>
我想大概的意思你一定明白了,
就是将memStatus="SupAdmin" 或者 memStatus="Admin" 用 memName=指定用户 就可以了,
如果有多人用的话,就改成memName=指定用户1 or memName=指定用户2 即可.
注意:
如果是<>关系的话,多用户用and连接
如果是=关系的话,多用户用or连接
这样子BLOG程序的COOKIE漏洞就已经可以避免了,而上传以及跨站式脚本攻击的漏洞官方网站以及提供了补丁下载,我在这里就不再一一解释了!
这样,即使他人通过提权的方式,把自己变成管理员的身份,也一样无法进入后台进行管理,也无法发表博文,无法修改博客,管理评论等等.相关的页面大家都可以这样进行修改.
发表评论 - 不要忘了输入验证码哦!