防轰炸姬大业已在新版XChat完成(可能)

北京时间2022年12月29日下午5时,小张在他的服务器上启动了他自制的简易轰炸姬(代理池使用Proxy-Master),目标指向新版XChat,经过几轮测试以后,他欢呼道:“啊!我成功了!成功了!!!”

他的这一句,标志着HC系列聊天室的噩梦“轰炸姬”,被他在一定程度上缓解了!
本次测试使用轰炸姬经典代理池Proxy-Master,新版XChat设置了三重防御措施。经过5次测试,基本上没有轰炸姬成功加入XChat。
简单介绍一下新版XChat的这三重防御措施:

第一步:过滤国外IP

首先,小张使用ip2region本地数据库+node-ip2region编写只允许中国IP访问聊天室的功能。
这可以在一定程度上阻止轰炸姬,因为大部分代理是国外的。
轰炸姬会收到以下数据:

1
{"cmd":"warn","text":"抱歉,目前服务器不允许非中国用户访问。如果您是中国用户,请关闭VPN和代理后再访问,谢谢合作。\nSorry, non Chinese users are not allowed to access this server at present. If you are a Chinese user, please close VPN and proxy before visiting. Thank you for your cooperation.","time":1672309218017}

第二步:屏蔽代理IP

当然,也有一大部分代理IP是国内的,它们是ip2region的漏网之鱼。
针对这些IP,小张在网上花了一段时间找到了IP2Proxy LITE提供的代理数据库文件,随后他又使用官方提供的ip2proxy-nodejs库,为新版XChat编写了屏蔽代理IP功能。

这说明了什么?这说明这个数据库很NB!可以检测出大部分国内代理IP!
——小张

第三步:使用自建的数据库

当然,第二步是不能保证没有漏网之鱼的。
于是这一步就需要对聊天室下狠手了,小张给新版XChat添加了一个叫做blockme的命令,用于让轰炸姬告诉服务器:“我是轰炸姬,请把我当前的IP地址添加到你自建的数据库里。”。然后再编写屏蔽自建的数据库里的IP的代码。
更新完服务器以后,小张给他的轰炸姬添加了这个功能:一旦成功加入聊天室,就执行blockme命令。
经过几轮的“自杀”以后,就出现了这一幕:

新版XChat聊天室内,几个人正在聊天,突然小张宣布他即将启动轰炸姬。然而过了几分钟以后,聊天室内依然风平浪静。大家都以为小张在逗他们玩儿,但事实上,轰炸姬已经在门外恭候多时了,只是服务器不肯开门儿。不一会儿小张就在聊天室里欢呼道:“啊!我成功了!成功了!!!”

下面是小张的几句话:

其实我并没有成功解除轰炸姬危机,这只是在一定程度上缓解,因为如果攻击者更换了一个代理池,那么这些防御措施就可能不会拦截那些新的代理。尽管IP2Proxy LITE很NB,但是总会有几个漏网之鱼。但是在大多数情况下,我们并不知道攻击者使用了哪个代理池,因此第三步不太可能实现。在实际使用中,前两步防御轰炸姬的成功率取决于数据库的更新日期以及攻击者所使用的代理库是否隐蔽。

但是令人遗憾的是,由于小张对开源代码的失望,加上一些黑粉的打击,他并不打算提供源代码,他只能说到这里。