◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
Name:密陀僧
Email:sunwindy[A]gmail.com
Email:sunwindy[A]gmail.com
[注意] Zblog的catalog.asp可被利用发起拒绝服务攻击
Post by 密陀僧, 2007-11-7, Views:我这个博客采用了zblog构架,数据库是自己由官方提供的access版本转成的mssql版本,没有做过查询优化,但比起access版本,执行效率已经高了许多。照理说,一个日志页面纯静态化的网站不可能占用系统资源达80%之多!为了更精确的找到存在问题的页面,我使用了一个小程序,这个程序是我在别处花了200大洋购买的,采用isapi技术嵌入iis,可以即时显示当前网站页面访问记录。通过这个软件,我们可以看到,catalog.asp这个文件执行效率特别低,在下图中可以看到这个页面经常发生假死情况。

大家注意一下202.105.139.74这个ip,在这个截图里,这个ip在不到1分钟内,造成了9次的页面假死,分析一下这是什么情况。
很明显,这是一次小规模的拒绝服务攻击,对方选择了catalog.asp这个页面做为入口。
catalog.asp源代码的内容部分的写法
If ArtList.ExportByMixed(Request.QueryString("page"),Request.QueryString("cate"),Request.QueryString("auth"),Request.QueryString("date"),Request.QueryString("tags"),ZC_DISPLAY_MODE_ALL) Then
ArtList.Build
Response.Write ArtList.html
End If
不得不说,zblog的代码写的非常优秀,优秀到堪称经典,但对于这种前台经常会用到的,且频繁查询数据库的,执行时间超过500ms的程序,zblog忘记了一件很关键的事--对同一用户一定时间内请求该页面的限制。
事实上,拒绝服务攻击一旦形成足够的势力,不是软件所能抵御的了的,但现在的情况是:人家一个IP就让我的服务器差点当掉。
这是什么样的一种境界……
于是赶紧放下手头的事,给catalog.asp加上一段代码
Dim ClientIP
ClientIP=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If ClientIP="" Or Isnull(ClientIP) Then ClientIP=Request.ServerVariables("REMOTE_ADDR")
If Session("ClientIP")=ClientIP And DateDiff("s",Session("ClientTime"),Now())<10 Then
response.write "请不要持续刷新本页面"
response.end
End If
Session("ClientIP")=ClientIP
Session("ClientTime")=Now()
上传后服务器压力大减,再在iis中将这个ip拒绝,OK,搞定。
所以从今天开始,打开我的catalog.asp页的时候10秒内不要频繁刷新哦,否则可能被我当成恶意访客挡在网站大门之外。
10分钟后的新发现
202.105.139.74这个ip据查询属于广东省深圳市 迅雷网络技术公司
汗流浃背:难道是迅雷的蜘蛛!!!
不管怎样,catalog.asp这个低效的多用途的页面应该加上一段禁止重复请求的代码。
附上这个神奇的IP的相关:

分类:技术 | 评论:6 | 引用:0 | 点击这里获取该日志的TrackBack引用地址
或许你还对下面的文章感兴趣
- 介绍一个好东西Totoro,zblog的评论审核插件 (2007-8-10 17:19:11)
- zblog由access转sql server修改笔记 (2007-2-5 18:24:24)
- zblog紧跟潮流,升级到1.7版 (2007-2-4 22:41:1)
- 把blog升级到sql版 (2006-11-30 21:7:58)
- zblog的版权声明 (2006-11-13 12:52:25)
- zblog原来是这样关闭文章评论的 (2006-10-12 17:47:33)
- zblog 1.6最终版之预览版试用 (2006-8-1 0:59:24)
- 给zblog加上运行代码功能 (2006-7-24 15:36:30)
- zblog艰难升到1.6 Beta Build 60420 (2006-5-17 15:23:17)
Comments
- 1.xueshan
- http://www.baixueshan.cn
- 汗汗汗,一看到你写服务器方面的东西就得快点学习了,我也是自己的服务器感觉有时候也会出现这样的情况。马上去修改我的博客!密陀僧 于 2007-11-7 13:39:43 回复一起学一起学

- 2007-11-7 13:39:43 回复
- 2.fangzi
- http://www.918x.cn
- 晕 和尚。。你以后多教教我。。我网站程序会点但是不精
我学好了请你喝酒
叫上贱人 一起玩PP去~~`密陀僧 于 2007-11-7 13:38:47 回复喝酒啊
偶只喝白酒啊
喔哈哈哈 - 2007-11-7 13:38:47 回复
- 3.一剑
- http://www.onehappy.net/blog
- 和尚,象我们这些小BLOG会不会也遇到这样的问题捏?密陀僧 于 2007-11-7 13:38:15 回复呵呵,最好也加上。
- 2007-11-7 13:38:15 回复
- 4.J.wei
- http://www.xylxydt.com
- 狂汗,不可思议
- 2007-11-7 10:49:02 回复
- 5.birder
- http://www.zfnn.com
- 真强啊,佩服不已,整个处理过程也值得学习
- 2007-11-14 10:43:38 回复
- 6.行者
- http://www.rmbhuilv.com
- 通过学习,我已经修改过了。谢谢
- 2009-3-6 14:39:15 回复
