首页 | 心情日记 | 建站心得 | 编程技术 | 大盘分析 | 股市信息 | 学习园地 | 电脑技巧 | 物流外贸 | 另类其它 | 站长推荐 | 给我留言 | 相册

用户登陆
用户:
密码:
 
不保存保存一天
保存一月保存一年

站点日历
73 2024 - 4 48
 123456
78910111213
14151617181920
21222324252627
282930


站点统计

最新评论

日志搜索

 标题   内容


博客的标签功能顺利完成了! 防SQL注入代码的巧妙使用
未知 L-BLOG的跨站漏洞介绍及修复方法   [ 日期:2010-01-03 17:04:44 ]   [ 来自:本站原创 ]

海外邮件中继,海外退信中继,美国高速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漏洞就已经可以避免了,而上传以及跨站式脚本攻击的漏洞官方网站以及提供了补丁下载,我在这里就不再一一解释了! 

这样,即使他人通过提权的方式,把自己变成管理员的身份,也一样无法进入后台进行管理,也无法发表博文,无法修改博客,管理评论等等.相关的页面大家都可以这样进行修改.

暂时没有评论
   发表评论 - 不要忘了输入验证码哦!
作者: 用户:  密码:  我要注册 验证码: 
为防止广告注册机程序,验证码不会自动显示,请点击此处显示或者(刷新)验证码!
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
确定发布?
最多可以输入200个字,目前你已经输入了0个字;你今日还可以发表10条评论!
 
   

CopyRight © 2008-2010 广东金融学院030904班 All Rights Reserved
Powered by www.030904.com