He 的个人资料Syrinx照片日志列表更多 工具 帮助

日志


    10月19日

    ccproxy"拒绝服务"问题

    已经是好几年前的事情了,从版本6.0我就提醒过作者这问题,不过到现在版本还是有这问题.现时很多做游戏代理的都是使用ccproxy,要拒绝服务它,比想象的要简单得多.
     
    现在先说下ccproxy的编程模型.ccproxy使用的是多线程的阻塞模型,使用一个线程处理一个新用户的.受限于系统的虚拟资源,win 32下在足够虚拟资源的情况下,一个进程最多只能创建2028个线程,也就是说,ccproxy最多只能接受2028个连接,写到这里,大家应该对如何攻击令它拒绝服务有个大概了解.
     
    ccproxy处理新连接流程:
    1.接收连接等,等待客户端发送第一次协商数据
    2.收到协商数据后,新建一个线程处理这个新连接
    3.第二步密码协商,以及代理模型协商等都在线程中处理.
     
    攻击模式:
    1.创建大量连接,连接到ccproxy代理端口
    2.每个连接发送"\0x05\0x01\0x02"到代理
    3.如果允许验证,代理会返回"\0x05\0x02"
    4.程序什么都不做,等超时断开,断开后继续上面第一步.
     
    由于大量连接令ccproxy达到创建新线程的极限,当达到这极限后,所有新的连接都会被拒绝(包括所有正常用户的连接),这就造成了"拒绝服务".
     
    由于编程模型本身的限制,这种攻击模式一直都会有效(不只是ccproxy,还有其它使用同类型的编程模型都受这样的攻击).这种攻击最可怕的是一般的家庭ADSL用户也可以实现.
     

    评论

    请稍候...
    很抱歉,您输入的评论太长。请缩短您的评论。
    您没有输入任何内容,请重试。
    很抱歉,我们当前无法添加您的评论。请稍后重试。
    若要添加评论,需要您的家长授予您相应权限。请求权限
    您的家长禁用了评论功能。
    很抱歉,我们当前无法删除您的评论。请稍后重试。
    您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
    因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
    完成下面的安全检查,您提供评论的过程才能完成。
    您在安全检查中键入的字符必须与图片或音频中的字符一致。

    若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


    还没有 Windows Live ID 吗?请注册

    引用通告

    此日志的引用通告 URL 是:
    http://supersyrinx.spaces.live.com/blog/cns!46A123F5781A435A!155.trak
    引用此项的网络日志