深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

以我与“黑客”的一段遭遇简单谈ASP的安全性


March 25,2004
我做了一个网站  www.zydn.net  ,算是个人主页吧,虽不是以个人名义,但确实只有我一个人做这个事,我的站有一套后台系统,用ASP写成的,主机用的万网的,但昨天我一上网,发现我的调查被改了,我还以为是我自己输入错了。赶忙改回来,不过过一会儿看又被改啦,还改得更厉害:调查是,问我写的一个软件是否有用,我准备的答案是:
很有用,有所帮助,完全没有用,
他给我改成了:很没用,有什么帮助?完全没用。
还有,我有一个字幕,说我的软件好,我自己当然说自己好啦,他竟给我搞成了
这是一堆杂草,不过网上需要有一些杂草的,还有一些人身攻击的话!!!
还改了我的一些栏目名,我气惨了。

因为我的网站用后台系统来控制的,所以我猜他是进入了后台。
我在站上的一个子目录中放了一个后台的演示程序,而ASP页面验证是否为合法的用户是用判断一个存有密码的SESSION是否为空来实现的,所以只要先进子目录进入演示用的后台,再输入网站后台的文件名就可能进入,于是我把演示的程序全删了,但我发现他仍在搞破坏!!

我早听说过用特殊的代码做密码,但我没试过,也没在意,更没有去想过要这样进别人的后台,我想他是不是用的这样的方法呢?所以连夜改程序,我想他一定会再来,就放了个检测IP的程序,和检查他输入的内容的程序,结果发现他竟是在密码中输入了一个  'or''='   进的我的网站,我自己也试了一个,果然进得,
于是马上开工,让每一个页面验请密码都要与库中的密码比较,终于,他没能进来了!!!又完善了记录日志,记下了“攻击”类型,时间,IP,输入的字符,管理员进入的时间,IP等。在我的记录日志上,留下了那位朋友的丰功伟绩,他用 '    用 'or'= 用  'or ·····,试图进我的站,前后搞了近一个小时。

但总调库又太慢,所以我又把库中的密码存到了一个文件名很古怪,扩展名为ASP的文件中,文件内容为:<% mimaint=***** %>插入到ASP页中,这样好象要快一点。我又仔细研究他们输入的特殊语句,竟然有想用SQL语句删除我的记录的,虽然这个语句并没能得逞,但我还是怕那位高手搞成功了,所以干脆又加了一个语句,发现凡是有单引号的,统统认为是非法密码。我还想看是不是总是同一个人,于是给每一个输错过密码的,或知道我后台文件名试图直接进入的浏览器都存了个cookies,编上号。。哈哈。。后来我自己看了都觉有趣,好啦,我就能做到这些啦,我知道,对一个真正的高手,这只是以纸包火,但致少可以使我的程序稍安全一些。如果有人攻击了服务器,搞到我的源代码,那肯定一切都是空话,(····呵呵。。。我才不怕呢,我正好找万网算帐。。。。还我几千大洋来!!!)

还望高手指教,同时感谢那几位“黑客”我在他们的帮助下学到不少东西,但大家千万不要去改我的站啊。。。进入了后台请给我发个EMAIL如何?阿余先谢啦

最后,还要做个宣传,请大家多多访问我的站,这是一个以介绍电脑技术为主的网站,这个网站最重要的是会为大家提供一套我自认为还可以的网站后台,(这个程序最大的好处是上网抄文章特快,手脚快一点的话,一小时搞一两百篇不成问题)数据库有ACCESS和SQL SERVER两种,另外还有我从学习ASP以来写的一些小东东,如论坛,留言,调查,超市等,阿余在 http://www.zydn.net 欢迎大家  
我再对这个系统的做一些说明:

数据库:有SQL和ACCESS两种版本(其实就是连接库的一个语句不一样啦),演示用的是ACCESS,因为我没有能用SQL的空间。
最大栏目级数:11级。
最小栏目级数:1级
每级新闻最多:不限
用户分级最多:9级
用户分级最少:1级
每栏目子栏目数最多:不限(不能有重名同级)
每栏目最少子栏目数:无
演示在www.Zydn.net/
请朋友们多多批评指教
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved