和黑客斗争的 6 天![通俗易懂]

和黑客斗争的 6 天![通俗易懂]互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找Sql注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都…

大家好,又见面了,我是你们的朋友全栈君。

和黑客斗争的 6 天![通俗易懂]

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。

有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都是各个黑客检测工具来扫描,当然更高级一点的入侵需要很多人工协助。

一般情况下,网站被黑客入侵都是因为开发人员平时没有安全意识导致的,厉害的黑客往往会对平台的业务和内部流程非常熟悉,很多漏洞是从逻辑上分析出来的

当然了,所有的黑客攻击行为都是有目的,99% 都是因为其中隐藏着暴利

比如2015-2017年,很多互联网金融公司遭遇黑客敲诈,最后都是打钱了事。

和黑客在线上斗争过很多年,积累了一些案例,互联网金融公司工作期间,分享过一系列黑客攻击的案例,查看案例文章可以在公号内回复:003

今天给大家分享的是,去年一家公司发生的事情。

1

一个客户反馈操作很慢引发的事件

第 1 天

2018年的某一天,客服接到个别用户反馈,公司某款 App 操作时某个界面响应很慢,客服将此问题反馈给了公司的相关技术人员。

技术人员接到这个反馈之后,在生产环境多次测试并没有复现这个问题,于是给客户反馈有可能是网络的问题,可以换个网络再试试。

第 2 天

客服接到更多用户反馈,手机操作某个功能时很慢,最长时间要等待超过 1 分钟。客服又将相关信息反馈到技术,并且将问题级别提高了一级

技术这边将问题上升到技术经理,开始排查问题原因,技术经理通过大量测试发现,这个缓慢现象在测试 10 次会复现 1 次

看来又是一个偶现的问题,偶现的 Bug 是最难处理的,技术经理带着研发人员在服务器调了一下前端业务日志,分析之后也没有找到具体的原因。

第 3 天

公司有一个核心代理商将此问题反馈到技术老总,老总安排技术总监来关注此问题。技术总监要求把访问路径的关键节点都打上日志,看看具体是哪部分操作慢了。

经过技术经理的排查,是在 App 操作某一个功能的时候出现偶发性的慢,但是这块的操作也有缓存作为支撑,缓存的使用率并不是很高。

既然问题是偶发并且后面的缓存使用率并不高,那么应该不是程序哪块出现 Bug 了,应该是其它方面的问题,遂要求排查是否是服务器问题。

先给大家画一下一张图,方便大家了解一下技术背景。

和黑客斗争的 6 天![通俗易懂]

前端用户使用手机操作某一个功能时,请求经过防火墙路由器分发到最前端的 Nginx,Nginx 又通过均衡负载分发到后面的五台业务服务器

业务操作的时候需要调用一组数据,这些数据会根据业务规则缓存到背后的缓存服务器集群中,用来缓解后端数据库的压力。

第 4 天

经过和运维人员配合调查发现,在分发的这 5 台业务服务器中,其中有 1  台服务器的压力比较大,凡是请求分发到这台服务器的时候就会出现慢的情况。

因为线上的服务器已经用了很多年,怀疑是不是服务器配置老化导致的问题,随后将压力比较大的服务器进行下线,无缝切换到新的服务器上。

过了半个小时后继续观察,又发现另外的一台服务器也出现负载压力大的问题。后面变了很多方案,比如减少到 3 台服务器来支撑,或者增加到 9 台服务器来支撑。

总是切换半个小时到两个小时的时候,其中的 1-2 台服务器的压力会突然上来,一直保持比较高的访问量,经过这些测试排除是服务器的问题

紧接着排除 Nginx 是不是分发的策略有问题,导致某个服务器分发的请求过多,试着变了几次 Nginx 的分发策略后,还是会复现出问题,排除 Ngingx 分发异常

第 5 天

技术人员继续跟踪,负载压力比较高的服务器线程 Down 出来和正常的服务器对比,发现在负载压力比较大的服务器上某个线程的调用数量异常的高

再继续跟踪这个线程,原来是某一个忘记密码的功能被频繁的调用,忘记密码应该是一个普通的接口,为什么会被这样高频率的调用呢?

然后再继续跟踪是哪些 IP 在频繁的调用这些接口,不跟踪不知道,一跟踪吓一跳,把调用最频繁的 Top 100 IP 列出来查了一下,发现都是国外的 IP。

什么 巴黎、孟买、菲律宾、泰国,几乎所有的外国的IP都有,但是作为一家国内的第三方支付公司,怎么可能会出现国外的 IP 呢?

大家都知道在手机上填忘记密码的时候,绝大部分平台都是使用手机号作为其中的一个条件,如果你没有在这家平台注册,那么就会反馈手机号不存在。

这是一个非常常见的功能,但是对于黑客来讲,这个功能够暴利了

很多同行业的竞争者需要挖角其它公司客户,但是怎么知道这些平台的客户有哪些?

直接通过这个接口,暴力破解就可以了

是不是很黄很暴力!

因为公司处理的业务都是国内业务,所以只要直接在 Nginx 写脚本,把所有来自国外的 IP 都给屏蔽,可以暂时解决被国外 IP 攻击的问题。

上线后果然消停了,服务器也不过载了,App 访问也正常了。

第 6 天

可能黑客过了一晚上也反应过来了,又开始使用国内的服务器代理 IP 高频调用此接口,既然黑客使用了国内的 IP 地址,肯定不能把国内 IP 都封了吧。

不过在 Nginx 之后还有一个前置服务器,在前置服务器中加一个非常简单的过滤器:设置一个 IP 地址在某个时间段内(可配置)只能访问此接口 5 次,即可解决此问题。

然后再以用户为维度加限制,一个用户在某个时间段内(可配置)只能访问此接口 5 次。

上面这些手段都上完之后,一切都安静了,再也没有出现过服务过载或者用户反馈操作反应慢的问题了。

但是如果黑客有足够多的国内 IP 呢,为了防止出现这样的问题,我们再接着对产品进行升级,来防止黑客的这种可能性。

我们都知道现在很多 APP 页面,为了方便用户操作在忘记密码的时候没有图形验证码,或者有图形验证码却比较简单可以机器破解。

所以需要升级新一代的智能验证措施,现在很多创业公司都可以提供这种服务,这样就从各个维度防止了黑客通过暴力手段获取客户信息。

2

总结

其实据我所知,很多互联网公司到现在仍然存在这种漏洞,很容易让黑客通过暴力破解拿到用户注册的手机号,只要拿到了用户的手机号后面就可以采用各种营销策略。

这是目前很多公司,采用的一种竞争手段。

有的时候,产品的易用性和安全性其实是有冲突的,产品在设计的时候,其实就应该和技术多考虑风控的相关设计,不然在产品运营的后期容易出现问题。

一个大型互联网公司中风险点非常多服务器风险点、业务风险点都需要做提前考虑,同时公司必须配备相应的安全人员,对公司网站做常规安全巡检。

监控公司所有的访问接口频次,定期把公司里面所有的 IP 访问情况做成图表进行分析,看哪些是正常的请求,哪些是异常的访问。

定期排查统计分析访问的所有请求,可以提前发现很多问题。

开发人员和黑客斗争其实是一个长期的工作,任何一个访问量比较大的公司都会遇到类似的问题,遇到问题不要惊慌,仔细排查每一个细节,最终肯定会找到问题的答案。

在我的职场经历中,和黑客有过非常多交手的经历,现在回过头来看,这些经历才是我提升最快的最好养分

解决问题是程序员成长的第一动力,解决大问题是成为大牛的关键。程序员的一生,也就是不断解决问题的一生。

这样看来,我们要感谢职场上遇到的那些困难!

所有能爬过去的问题都成为了经历和谈资,只有那些越不过的 BUG 才能称之为问题。

声明:转载本公号原创文章,请于原文发布48小时后经授权转载,谢谢!

作者简介纯洁的微笑,一个有故事的程序员(????详细了解曾在互联网金融,第三方支付公司工作,现为一名自由职业者,和你一起用技术的角度去看这个世界。我的微信号puresmilea,欢迎大家找我聊天,记录你我的故事。

 

< END >

最近又赶上跳槽的高峰期(招聘旺季),好多读者都问我要有没有最新面试题,找华为朋友整理一份内部资料《第6版:互联网大厂面试题》并分类  PDF,累计 926 页!

整个资料包,包括 Spring、Spring Boot/Cloud、Dubbo、JVM、集合、多线程、JPA、MyBatis、MySQL、大数据、Nginx、Git、Docker、GitHub、Servlet、JavaWeb、IDEA、Redis、算法、面试题等几乎覆盖了 Java 基础和阿里巴巴等大厂面试题等、等技术栈!

 

图片

据说已经有小伙伴通过这套资料,成功的入职了蚂蚁金服、字节跳动等大厂

图片

而且,这些资料不是扫描版的,里面的文字都可以直接复制,非常便于我们学习:

图片

 

如果你想获得完整PDF可以通过以下方式获得

面试大全怎么获取:

1. 关注下方公众号

2. 在下方公众号后台回复 【555 即可。

和黑客斗争的 6 天![通俗易懂]

?长按上方二维码 2 秒
回复「555」即可获取资料

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132250.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月11日 上午7:36
下一篇 2022年6月11日 上午7:46


相关推荐

  • Cursor汉化

    Cursor汉化

    2026年3月16日
    2
  • Torchvision transforms 总结

    Torchvision transforms 总结一.torchvision.transformsTransfoms是很常用的图片变换方式,可以通过compose将各个变换串联起来**1.classtorchvision.transforms.Compose(transforms)**这个类将多个变换方式结合在一起参数:各个变换的实例对象举例:transforms.Compose([ transforms.Center…

    2022年6月24日
    48
  • SSL数字证书是什么?

    SSL数字证书是什么?SSL 数字证书是什么 现在是一个网络发达的时代 网站也开始变得非常的普遍 很多人在创业或者是其他事情中都会用到网站 但是很多朋友可能对于网站中的一些安全证书不太了解 SSL 数字证书就是其中的一种 所以接下来 小编就会介绍一下什么是 SSL 证书 一起来了解一下吧 什么是 SSL 数字证书呢 SSL 证书是一种数字证书 类似于驾驶证 护照等的电子副本 因为是配置在服务器上的 所以也称为 SSL 服务器证书 这个证书是遵守 SSL 协议 由受信任的数字证书颁发机构 CA 在确认验证服务器身份之后颁发给这个服务器的

    2026年3月18日
    1
  • googlenet优点_googlenet提出的inception结构优势

    googlenet优点_googlenet提出的inception结构优势googlenet是2014年imagenet的冠军,同年还有VGG。因此在说googlenet之前,先回顾下VGG。之前介绍过fasterRCNN,fasterRCNN底层的模型官方支持了VGG和ZF,同样在K80下,ZF大概是8fps的速度,而VGG大概是3fps,这无疑就说明了VGG有些重。再给个直观的感受,通常我们VGG的fasterRCNN模型大概是400M左右,而goog…

    2022年8月14日
    9
  • 在arcgis中线转面,原来的属性如何还原的问题

    在arcgis中线转面,原来的属性如何还原的问题在 CAD 与 Arcgis 这两块软件中 经常涉及到数据之间的转换 常见的就是 dwg 的线文件转换成 arcgis 的面文件 arcgis 加载 dwg 文件后 还不能直接编辑 需要把 dwg 的线文件导出去再加载进来 建议使用 arcgis 的同仁 一定要养成使用数据库的习惯 不要 shp 来 shp 去 否则一天下来 光是命名 就叫人头疼 还有考虑存放的问题 简直让人抓狂 这么一天下来 铁定头脑发热 昏昏沉沉 这是血泪的教训 转面的过程就是 工具箱 数据管理工具 要素 要素转面是否需要属性 把勾打上 其它不用管 然后确定 转好

    2026年3月17日
    2
  • 支持向量回归-SVR

    支持向量回归-SVR对于一般的回归问题,给定训练样本D={(x1,y1),(x2,y2),…,(xn,yn)},yi€R,我们希望学习到一个f(x)使得,其与y尽可能的接近,w,b是待确定的参数。在这个模型中,只有当发f(x)与y完全相同时,损失才为零,而支持向量回归假设我们能容忍的f(x)与之间最多有ε的偏差,当且仅当f(x)与y的差别绝对值大于ε时,才计算损失,此时相当于以f(x)为中心,构建一个宽度为2ε的

    2022年6月5日
    26

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号