公司的商城网站刚上线运营不到一个星期,网站就被攻击了,导致公司网站的短信通道被人恶意刷了几万条短信,损失较大,同时服务器也遭受到了前所未有的攻击。CPU监控看到网站在被盗刷短信验证码的时候,CPU一直保持在%95,网站甚至有些时候都无法打开。
网站被攻击后我登录了阿里云进去看了下,受到了很多阿里云提示的安全提醒,阿里云竟然没有给我拦截,我打电话咨询阿里云,阿里云竟然说我没有购买他们的云防火墙,阿里云客服还一再的推销让我们公司购买他们的云防火墙来防止短信验证码攻击,本身我也是做技术出身的,还是懂一些代码以及安全方面的,公司领导立即开会研究这个问题该如何解决,任命我带头负责处理此次的安全问题。
首先关于网站短信验证码被盗刷,从多个层面去分析漏洞产生的原因,基础带宽线路层,服务器层,网站层,三个方面去分析解决问题。
基础带宽应用层是:像DDOS,CC,带宽流量的攻击属于基础带宽,如果网站遭受到攻击,网站打不开,打开无法显示一般都是基础带宽应用层受到了攻击,防御办法也是通过高防服务器的硬防来防止攻击,但是也会造成误封,多层流量清洗防止攻击。
服务器层面,服务器被攻击的话,一般也会造成短信验证码盗刷,攻击者入侵服务器,并在服务器里直接与短信验证码平台通信发送数据,多频率的发送,修改数据库,都会造成短信验证码的盗刷。
网站层,经过多年的技术开发与安全接触,短信验证码被盗刷,都是网站存在漏洞导致的,尤其写的代码并没有对请求的次数,以及请求的函数,请求IP,进行安全过滤,这次公司商城网站被盗刷短信很大一部分原因是代码上的漏洞,代码开发有问题,先从代码入手查看问题,检查了所有关于获取短信验证码调用的代码,在一个会员找回密码功能这里,我们发现了问题,代码里竟然没有对请求的次数,频率,IP,进行限制,导致攻击者利用该页面功能,POST伪造函数多次请求找回密码页面,导致短信被刷,瞬时间服务器都会遭受压力,CPU达到百分之95.针对这个漏洞,我们对代码漏洞进行了修复,限制请求次数,频率,手机号码唯一性判断,IP判断验证等等的安全策略来阻止短信验证码被盗刷。
至此短信被盗刷的问题得以解决,网站代码的开发环节真的很重要,在网站上线之前一定要对网站的安全进行测试,许多程序员在开发代码的时候只顾功能并不会考虑到安全问题,甚至有些程序员的安全意识很薄弱,导致代码出现sql注入漏洞,XSS跨站漏洞,数据库漏洞,等等问题,如果不懂如何修复网站漏洞,也可以找专业的网站安全公司来处理,国内也就Sinesafe和绿盟、启明星辰等安全公司比较专业.