下班后,闲着没事,就到朋友的网站看了看。网站是经动易4.0修改美化的,几乎都是静态的htm文件。仔细看了看,网站比前几天多了个“博客中心”,点击进去后,页面挺美的。版权显示的是powered by OBlog ver2.22。先不管它,打开一个链接http://***/blog/index.asp?classid=3,习惯性的在后面加了个单引号,页面显示:
code:Microsoft VBScript 运行时错误 错误 '800a000d'
类型不匹配: 'clng'
/blog/index.asp,行11
看来SOL INJECTION是没择了。接着将http://***/blog/index.asp?classid=3换为http://***/blog%5cindex.asp?classid=3。哈哈,差点让偶晕倒,页面显示:
code:Microsoft JET Database Engine 错误 '80004005' 'D:\jh\web\guhuo\data\#mwfblog.asa'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 /blog/conn.asp,行14
居然把数据库给暴出来了。晚上宵夜有着落了(偷笑中……)。赶紧打开flashget,将它的数据库下载下来。仔细分析了一下Blog的页面和数据库。数据库中的管理员帐号和一般用户的密码都是经过MD5加密过的,只能爆破,麻烦。
发现Blog页面中有个用户“忘记密码”的链接,于是想是否能通过此功能修改管理员或用户的密码(后来发现通过此功能只能修改用户的密码)。打开后,随便填上数据库中的一个用户名“shmily”和密码修改提示答案“琴儿”,成功修改掉此用户的密码,如图1:
screen.width-333)this.width=screen.width-333" border=0 twffan="done"接着便是用此帐号登陆。成功登陆后,在用户管理里,发现有上传文件功能,可惜只允许上传jpg,gif,png等格式的文件(呵呵 ,可以给朋友上传些垃圾文件---贼笑中……)。不过此“忘记密码”功能的危害也很大,能对Blog中所有用户的密码进行更改,从而更改或破坏所有用户的数据。
想得到朋友网站的webshell,看来还真有点难。可是想着晚上的夜宵,没办法,只能暴破管理员的密码了,希望能通过后台管理来更改上传文件的类型。
很幸运,不到半小时就把管理员的MD5密码给破解出来了。看来朋友晚上不请偶吃夜宵都不行了。很容易就猜到了后台页面admin_login.asp,登陆后,找到修改上传文件类型的地方,添加asp类型文件,直接上传asp木马获得webshell。如图2:
screen.width-333)this.width=screen.width-333" border=0 twffan="done"接下来的事情差点让偶吐血,没想到修改上传文件类型后无论如何都不能上传asp文件,还是只允许上传jpg,gif,png等文件。
狂晕,苦恼中,想偷懒都不行。没办法,只能到官方网站_blank>www.oioj.net下载源程序来分析下。
在上传文件upload.asp中找到这样一句代码:
code:sAllowExt = Replace(UCase(sAllowExt), "ASP", "")
晕死了,怪不得通过后台修改上传文件类型来上传asp文件不行呢,原来都被这句代码给封杀了。
智者千虑,必有一失。程序虽然禁止了asp 文件的上传,却忘了禁止cer等文件。立刻在后台添加cer上传文件类型,再次用shmily的帐号登陆,上传一个cer木马。如图3:
screen.width-333)this.width=screen.width-333" border=0 twffan="done"哇哈哈,成功了,晚上有宵夜吃了。如图4:
screen.width-333)this.width=screen.width-333" border=0 twffan="done"得到了webshell,如何进一步拿下服务器就是读者朋友们各显身手的事情了。
后记: 本文没有什么新的技术可言,发现此漏洞也纯属偶然。请不要用于非法用途。事后笔者通过google搜索powered by OBlog,发现90%的站点都能暴库。更让笔者惊讶的时,居然官方的网站也能暴库。如图5:
screen.width-333)this.width=screen.width-333" border=0 twffan="done"笔者建议,在官方没出补丁前,增强数据库的安全性,以防下载。在upload.asp文件中将cer等文件也过滤掉。