以我与“黑客”的一段遭遇简单谈ASP的安全性
我做了一个网站 www.zydn.net ,算是个人主页吧,虽不是以个人名义,但确实只有我一个人做这个事,我的站有一套后台系统,用ASP写成的,主机用的万网的,但昨天我一上网,发现我的调查被改了,我还以为是我自己输入错了。赶忙改回来,不过过一会儿看又被改啦,还改得更厉害:调查是,问我写的一个软件是否有用,我准备的答案是:很有用,有所帮助,完全没有用,
他给我改成了:很没用,有什么帮助?完全没用。
还有,我有一个字幕,说我的软件好,我自己当然说自己好啦,他竟给我搞成了
这是一堆杂草,不过网上需要有一些杂草的,还有一些人身攻击的话!!!
还改了我的一些栏目名,我气惨了。
因为我的网站用后台系统来控制的,所以我猜他是进入了后台。
我在站上的一个子目录中放了一个后台的演示程序,而ASP页面验证是否为合法的用户是用判断一个存有密码的SESSION是否为空来实现的,所以只要先进子目录进入演示用的后台,再输入网站后台的文件名就可能进入,于是我把演示的程序全删了,但我发现他仍在搞破坏!!
我早听说过用特殊的代码做密码,但我没试过,也没在意,更没有去想过要这样进别人的后台,我想他是不是用的这样的方法呢?所以连夜改程序,我想他一定会再来,就放了个检测IP的程序,和检查他输入的内容的程序,结果发现他竟是在密码中输入了一个 'or''=' 进的我的网站,我自己也试了一个,果然进得,
于是马上开工,让每一个页面验请密码都要与库中的密码比较,终于,他没能进来了!!!又完善了记录日志,记下了“攻击”类型,时间,IP,输入的字符,管理员进入的时间,IP等。在我的记录日志上,留下了那位朋友的丰功伟绩,他用 ' 用 'or'= 用 'or ·····,试图进我的站,前后搞了近一个小时。
但总调库又太慢,所以我又把库中的密码存到了一个文件名很古怪,扩展名为ASP的文件中,文件内容为:<% mimaint=***** %>插入到ASP页中,这样好象要快一点。我又仔细研究他们输入的特殊语句,竟然有想用SQL语句删除我的记录的,虽然这个语句并没能得逞,但我还是怕那位高手搞成功了,所以干脆又加了一个语句,发现凡是有单引号的,统统认为是非法密码。我还想看是不是总是同一个人,于是给每一个输错过密码的,或知道我后台文件名试图直接进入的浏览器都存了个cookies,编上号。。哈哈。。后来我自己看了都觉有趣,好啦,我就能做到这些啦,我知道,对一个真正的高手,这只是以纸包火,但致少可以使我的程序稍安全一些。如果有人攻击了服务器,搞到我的源代码,那肯定一切都是空话,(····呵呵。。。我才不怕呢,我正好找万网算帐。。。。还我几千大洋来!!!)
补充:asp教程,安全加密