2007-09-06

著名黑客工具CC攻击的思路及防范方法

来源: 本站收集整理 作者: 评论 0 条
 

  蝴蝶:我们假设服务器处理Search只用了0.01S,也就是10毫秒(这个速度你可以去各个有开放时间显示的论坛看看),我们使用的线程也只有120,很多服务器的丢连接时间远比60S长,我们的使用线程远比120多,可以想象可怕了吧,而且客户机只要发送了断开,连接的保持是代理做的,而且当服务器收到SQL请求,肯定会进入队列,不论连接是否已经断开,而且服务器是并发的,不是顺序执行,这样使得更多的请求进入内存请求,对服务器负担更大.

  当然,CC也可以利用这里方法对FTP进行攻击,也可以实现TCP-FLOOD,这些都是经过测试有效的.

  防范方法

  说了攻击原理,大家肯定会问,那么怎么防御?使用硬件防火墙我不知道如何防范,除非你完全屏蔽页面访问,我的方法是通过页面的编写实现防御.

  1. 使用Cookie认证.这时候朋友说CC里面也答应Cookie,但是这里的Cookie是所有连接都使用的,所以启用IP Cookie认证就可以了.

  2. 利用Session.这个判定比Cookie更加方便,不光可以IP认证,还可以防刷新模式,在页面里判定刷新,是刷新就不让它访问,没有刷新符号给它刷新符号.给些示范代码吧,Session:

  程序代码:

〈%
if session(“refresh”)〈〉 1 then
Session(“refresh”)=session(“refresh”) 1
Response.redirect “index.asp”
End if
%〉

  这样用户第一次访问会使得Refresh=1,第二次访问,正常,第三次,不让他访问了,认为是刷新,可以加上一个时间参数,让多少时间答应访问,这样就限制了耗时间的页面的访问,对正常客户几乎没有什么影响.

  3. 通过代理发送的HTTP_X_FORWARDED_FOR变量来判定使用代理攻击机器的真实IP,这招完全可以找到发动攻击的人,当然,不是所有的代理服务器都发送,但是有很多代理都发送这个参数.具体代码:
程序代码:

〈%
Dim fsoObject
Dim tsObject
dim file
if Request.ServerVariables("HTTP_X_FORWARDED_FOR")="" then
response.write "无代理访问"
response.end
end if
Set fsoObject = Server.CreateObject("Scripting.FileSystemObject")
file = server.mappath("CCLog.txt")
if not fsoObject.fileexists(file) then
fsoObject.createtextfile file,true,false
end if
set tsObject = fsoObject.OpenTextFile(file,8)
tsObject.Writeline Request.ServerVariables("HTTP_X_FORWARDED_FOR")&"["&Request.ServerVariables("REMOTE_ADDR")&"]"&now()
Set fsoObject = Nothing
Set tsObject = Nothing
response.write "有代理访问"
%〉

  这样会生成CCLog.txt,它的记录格式是:真实IP [代理的IP] 时间,看看哪个真实IP出现的次数多,就知道是谁在攻击了.将这个代码做成Conn.asp文件,替代那些连接数据库的文件,这样所有的数据库请求就连接到这个文件上,然后马上就能发现攻击的人.

  4. 还有一个方法就是把需要对数据查询的语句做在Redirect后面,让对方必须先访问一个判定页面,然后Redirect过去.
共3页: 上一页 [1] 2 [3] 下一页

(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:Explorer命令任我用  
下一篇:删除Office Word文件列表
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号