首页 > 代码库 > linux服务器沦陷为它人发送短信的工具

linux服务器沦陷为它人发送短信的工具

linux服务器沦陷为它人发送短信工具的原因:


 

    今天上班产品经理说:公司的短信验证码剩余使用量为0技术分享,头一天我进行检查的时候还剩1万多条。震惊!震惊!震惊!


   

查找过程:

  一:于是查看与我们第三方短信运营商进行沟通,查看相应的情况,具体如图:

    技术分享

    当时的短信条数已经为0,我们继续查看下一条:

    技术分享

    这个已经可以简单的发现问题了:

    

    1.号码为空,发送状态为空。可能存在人为的绕过代码中的验证


    2.发送时间(日期)是接连不断的发送。代表着代码中的验证10s,30s,60s这些验证被人为的跳过了。


    3.短信运营商没有对号码进行过滤,审查。只要我们进行提交,短信运营商就进行发送,发送了就收费。



  二:查看2017.05.04 00:00后端日志的情况,具体如图:

   技术分享


   基本上日志上的内容都是这样的情况。遇到此种问题需要与开发进行沟通,协助开发解决此事。

   

   这个日志是后端的日志,我们还有前端的一个访问日志,大概都是从registerGetPhoneCode当中访问来的。我们来通过grep和awk查看一下、命令如下:


cat www.log|grep registerGetPhoneCode|awk ‘{print $1}‘ |sort|uniq -c |sort -nr |head -n 40


   如图:

   技术分享

   

   命令详解:查看日志文件,首先使用grep对registerGetPhoneCode进行过滤,再通过awk倒序排序,去重,只显示行数之后取文件的第一列进行输出(被我马赛克是IP,想了想还是不暴露为好)。


   很显然,由此可以看见在凌晨时它人对服务器别有用心。

  

  三:解决办法:

   1.将这些IP全部添加到防火墙中。。。


     可使用shell脚本添加到防火墙中,可以挨个IP进行手动敲入。。。

 

   2. 此处开发传来消息,代码中:前端‘代码没有对手机号进行过滤,导致可以随意拼接参数’。找到后端的发送网址,进行发送短信。

     

     紧急开发代码,对手机号进行限制。增加相应的图形验证码。


     开发也在加班加点的解决此事。。。




总结:

    

    1.事情大概是5.4凌晨发生的,从凌晨到上班这段时间我们都没有发出报警,及时的通知相关人员,因此我们需要建立监控和报警体系。现在的开源监控框架不少,例如zabbix。


    2.代码质量需要提升,公共方法需要写入相关说明文档。


    3.建立相关安全组,减少暴露公网的端口。

   

    

     


本文出自 “程小白” 博客,谢绝转载!

linux服务器沦陷为它人发送短信的工具