从监控异常发现网络安全

前言

  最近在前端异常监控系统中,发现一些异常信息,从中做了一些分析,得到一些体会,因此作文。

发现异常

  某天早上打开监控系统发现,当天凌晨1点过测试环境有2个前端上报的异常,报错的原因都是由于没有获取到 url 中的参数,比如正常的地址应该是 www.xx.com?a=1&b=2, 但是实际访问的是 www.xx.com%3Fa%3D1%26b%3D2。 很明显路径被 encode 了,导致程序没有拿到参数。

  2个异常的访问路径是不一样的,并且以上2个地址  decode 之后再访问,能够正常打开页面,参数全部都是正确的。 这些访问的 url 是我们在做跳转的时候,入口配置的,我们的逻辑中不会 encode,这个地方非常让人疑惑,为什么会出现这样的请求,猜测很可能是人为修改了再访问的。 后来把参数获取出来,去查询一些信息,发现这条请求是都来自于我们的测试同学的账户,但是私下询问过,1点过同事根本什么都没有做。 也排除了有其他人用他手机访问的情况。 再对参数里的信息做查询,发现这2个参数对应的数据是在2个多月前,我们项目测试阶段的数据,这就更奇怪了,2个月前的版本我们已经没有再测试了,同事也很久没有访问过这几个入口。 是不是有人在刷我们的页面,但为什么几个参数都是如此精确,都是正确的。 

  一定有其他人在访问。因为各方面情况看起来都很不正常:

    1. 凌晨1点过访问的

    2. 访问路径被 encode 了

    3. 数据是测试同事的,他自己却没有访问过。

    4. 访问的地址的数据都是2个月前生成的,如果有三方黑客获取到了访问记录之后,延迟到最近批量访问也符合行为逻辑

  再看看上报的其他异常信息,更奇怪了,浏览器的版本无从得知,User-Agent 只有 Go-http-client/1.1 , 怎么看都像是爬虫脚本在做请求。 说到爬虫,爬虫一般会针对已知的接口进行数据拉取,以获取他人的信息; 又或者不停的遍历不同的路径,查找可访问的路由(隐藏的后门),路径遍历很容易发现,如果有日志的话,就能看到很多 404, 大量的访问一些奇怪的路径。 那我们遇到的,是前期通过某种方式拦截到我们的网页请求,收集起来,到一定时间再去访问,这种方式叫做:重放攻击

  我们在服务器又查询了 IP 等一些相关的信息,发现有几个 IP 时不时的在做这样的访问攻击,而且也看得出对方很谨慎,没有同时做大批量的请求。 又发现了更多的异常行为,首先比如一个 www.x.com/page 的页面路径,它使用 post 方法去请求了一次。 

  所有的异常数据,被访问的路径都是测试环境的地址,使用的 http,而我们的正式环境使用的 https,对方似乎并没有能力获取到 https 的请求。 通过查询这几个 IP 在正式环境访问,又发现了一条记录,而刚好这条记录的访问地址没有 https(因为有时候,我们的开发自己可能会手动把 https 改成 http 去访问。  到目前的结论是黑客方的监听是和我们的项目环境没有关系的,只是因为我们正式环境使用了 https 他才没有获取到。

  最初以为只是一个同事的手机被监听了,但是因为又出现了另一个同事的请求,所以觉得爬虫在路由器层拦截的概率更大,而且刚好这两个同事有一个用的是安卓,有一个用的是苹果,所以看起来所有的设备都有命中的可能。 但是如果是公司路由器的问题,那为什么目前为止就只发现了两个同事的访问被爬取了,这些网页其他同事也都访问过,而且频率也不低。 对方的策略具体是什么,到底在哪里拦截的,我有点束手无策了。 而后询问过另一个同事后,得知对方大概是在20多天前访问的,爬虫访问的记录全部集中在这几天。 种种迹象表明确实是前期收集了一段时间,这两天才开始出来集中访问的。

  前面通过查询 IP,发现爬虫的服务器都在国内,但是对方也可能隐藏掉了真实 IP 。 如果对方的行为对公司造成了伤害,也许可以进一步去查对方服务器归属人。 但是因为从对方访问量和攻击程序来说,对我们几乎没有伤害。 甚至能感觉到对方不是定向要攻击我们。 看起来更像是对方的程序游离在互联网上,收集到了什么,就干点什么的意思。

安全问题

  再来说说安全性问题,我们常常在访问 url 的时候,带上一些参数,比如在 app 中,内嵌一些 h5h5 的参数中需要带上一些识别身份的 token。 如果说、我们没有使用 https,黑客在中间层监听了我们的请求,就能获取到我们的数据,甚至对方万一得到了 token,还能获取更多我们的隐私信息。 这就给重放攻击提供了安全漏洞。

  那么防御重放攻击,有什么办法呢? 常用的办法有两种

  (1)加随机数保障只被使用一次,但是需要额外空间存储历史使用过的值;

  (2)加时间戳,不用额外保存信息,但是需要同步时间,但同步时间并不能达到各种情况下的准确。 总之大概方向就是需要一个参数,来判断是否失效。

为什么 https 保障安全

  网上文章很多,这里就不做一一解释了,简单说两点,https 利用非对称加密和对称加密、保障数据安全;利用数字证书做双向身份校验、保障不被钓鱼。

抓包工具为什么能抓取 https

  以前知道抓包工具通过一定配置就能抓取到 https 请求,这样一想,那 https 是不是就不安全啊,抓包工具都能拦截到。 首先我们需要先了解它的原理,才能做下一步分析。 

  抓包工具抓取 https 的原理是利用抓包工具做中间代理人,和客户端建立信任连接以后,再代客户端去向服务端发送和接受请求,达到中间商的效果,这样抓包工具既能看到数据,客户端也能正常使用。

以下是抓包工具抓取 https 的流程(拷贝的他人的总结,也不知道最初是谁写的,因为网上太多同样的了,作者勿怪,无法署名
  1. 客户端向服务器发起HTTPS请求

  2. Charles拦截客户端的请求,伪装成客户端向服务器进行请求

  3. 服务器向“客户端”(实际上是Charles)返回服务器的CA证书

  4. Charles拦截服务器的响应,获取服务器证书公钥,然后自己制作一张证书,将服务器证书替换后发送给客户端。(这一步,Charles拿到了服务器证书的公钥)

  5. 客户端接收到“服务器”(实际上是Charles)的证书后,生成一个对称密钥,用Charles的公钥加密,发送给“服务器”(Charles)

  6. Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。(这一步,Charles拿到了对称密钥)

  7. 服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应

  8. Charles拦截服务器的响应,替换成自己的证书后发送给客户端

  9. 至此,连接建立,Charles拿到了 服务器证书的公钥 和 客户端与服务器协商的对称密钥,之后就可以解密或者修改加密的报文了

  所以前提是客户端需要选择信任并安装 Charles 的证书,否则抓包工具也无法拦截 https,在互联网上大部分恶意脚本程序,想要抓取用户数据,也大都是和抓包工具一样的工作原理,所以 https 还是比较安全的。

未使用 https ?

  记得以前公司还没使用 https 的时候,可能大家都经历过恶心的流量劫持,我们自己在线上环境使用都挺正常的,时不时其他地区的同事会告诉我们说,页面上漂浮了一个按钮,点开就跑到其他地方去了。 甚至说有些注入的代码有问题,导致我们的界面也出现了问题,当时各种研究后,最后的办法就是上 https, 到现在就再也不用担心这个问题了。 现在一些浏览器访问非 https 的页面,都会提示不安全,平时也看得到一些他人的网站都还是没用 https,进去就会报警告。 也如我们发现的重放攻击,这些安全问题确实存在于网络中,甚至无人能避免,所以没用 https 的站点,还是快点升级吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/493591.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Qt Creator 4.11.1 教程》

《Qt Creator 4.11.1 教程》 一、Qt Creator 4.11.1 概述(一)简介(二)界面构成 二、常用设置指南(一)环境设置(二)文本编辑器设置(三)构建和运行设置 三、构建…

LeetCode 热题 100_K 个一组翻转链表(31_25_困难_C++)(四指针法)

LeetCode 热题 100_K 个一组翻转链表(31_25) 题目描述:输入输出样例:题解:解题思路:思路一(四指针法): 代码实现代码实现(思路一(四指针法&#x…

探索 Python编程 调试案例:计算小程序中修复偶数的bug

在 学习Python 编程的过程里,会遇到各种各样的bug。而修复bug调试代码就像是一场充满挑战的侦探游戏。每一个隐藏的 bug 都是谜题,等待开发者去揭开真相,让程序可以顺利运行。今天,让我们通过一个实际案例,深入探索 Py…

harmony UI组件学习(1)

Image 图片组件 string格式,通常用来加载网络图片,需要申请网络访问权限:ohos.permission.INTERNET Image(https://xxx.png) PixelMap格式,可以加载像素图,常用在图片编辑中 Image(pixelMapobject) Resource格式,加…

TCL发布万象分区,再造Mini LED技术天花板

作者 |辰纹 来源 | 洞见新研社 现实世界中,光通过悬浮在大气中的冰晶折射,呈现出环形、弧形、柱形或亮点的扩散,从而产生光晕,雨后的彩虹是我们经常能看到的光晕现象。 然而,当光晕出现在电视中,那就不是…

(14)D-FINE网络,爆锤yolo系列

yolo过时了?传统的yolo算法在小目标检测方面总是不行,最新算法DEIM爆锤yolo,已经替yolo解决。 一、创新点 ​ 这个算法名为DEIM,全称是DETR with Improved Matching for Fast Convergence,其主要创新点在于提出了一…

日本充电桩标准--CHAdeMO介绍

一、日本充电桩标准 1、充电桩认证体系 日本是新能源汽车主要推动者之一,其实相比纯电动车来说,在日本混动或者插电混动更受到民众的欢迎,油耗低经济实用比纯电动车更方便,连服务类的出租车和警车也大多都采用混动车型。在日本充…

HDR视频技术之十:MPEG 及 VCEG 的 HDR 编码优化

与传统标准动态范围( SDR)视频相比,高动态范围( HDR)视频由于比特深度的增加提供了更加丰富的亮区细节和暗区细节。最新的显示技术通过清晰地再现 HDR 视频内容使得为用户提供身临其境的观看体验成为可能。面对目前日益…

web实验三

web实验三 三四个小时左右吧&#xff0c;做成功了学到新东西了&#xff0c;还是挺有趣的&#xff0c;好玩。还有些功能没做完&#xff0c;暂时这样了&#xff0c;要交了。 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF…

VUE3+django接口自动化部署平台部署说明文档(使用说明,需要私信)

网址连接&#xff1a;http://118.25.110.213:5200/#/login 账号/密码&#xff1a;renxiaoyong 1、VUE3部署本地。 1.1本地安装部署node.js 1.2安装vue脚手架 npm install -g vue/cli # 或者 yarn global add vue/cli1.3创建本地项目 vue create my-vue-project1.4安装依赖和插…

C++ 智能指针(高频面试题)

本篇文章来介绍一下C高频面试题 智能指针。 1.智能指针高频问题&#xff1a; 接下来我会为大家一 一解读&#xff1a; 2.智能指针的由来&#xff1a; 在实际开发中 遇到的困境&#xff1a; 3.智能指针的核心是采用RAII思想来自动化管理指针指向的动态资源的释放&#xff08;…

Leetcode Hot 100 【二叉树】104. 二叉树的最大深度

104. 二叉树的最大深度 已解答 简单 相关标签 相关企业 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3…

Connecting to Oracle 11g Database in Python

# encoding: utf-8 # 版权所有 2024 涂聚文有限公司 # 许可信息查看&#xff1a;言語成了邀功盡責的功臣&#xff0c;還需要行爲每日來值班嗎 # 描述&#xff1a;python -m pip install oracledb # python -m pip install cx_Oracle --upgrade # pip install cx_Oracle # Autho…

UE5喷涂功能

许多FPS/TPS 游戏都有喷涂、涂鸦功能 其实原理很简单&#xff0c;就是利用了延迟贴花实现的 我们从网上随便找一张图 创建一个材质&#xff0c;材质域选择延迟贴花 混合模式选择半透明&#xff0c;自发光强度可以看感觉调整 材质做好之后编译保存&#xff0c;新建一个Actor…

PCL点云库入门——PCL库中点云数据拓扑关系之K-D树(KDtree)

1、点云的拓扑邻域 在三维空间数据处理的领域中&#xff0c;点云的邻域概念显得尤为关键&#xff0c;它不仅链接了点云数据之间的拓扑结构&#xff0c;而且在构建点云间的拓扑关系时起到了桥梁的作用。这种关系的建立&#xff0c;使得我们能够以一种高效、迅速的方式管理庞大的…

【bodgeito】攻防实战记录

也许有一天我们再相逢&#xff0c;睁开眼睛看清楚&#xff0c;我才是英雄。 进入网站整体浏览网页 点击页面评分进入关卡 一般搭建之后这里都是红色的&#xff0c;黄色是代表接近&#xff0c;绿色代表过关 首先来到搜索处本着见框就插的原则 构造payload输入 <script>…

【1.排序】

排序 笔记记录 1.排序的基本概念1.1 排序的定义 2. 插入排序2.1 直接插入排序2.2 折半插入排序2.3 希尔排序 3. 交换排序3.1 冒泡排序3.2 快速排序 4. 选择排序4.1 简单选择排序4.2 堆排序 5. 归并排序、基数排序和计数排序5.1 归并排序4.2 基数排序4.3 计数排序 6. 各种内部排…

杂七杂八的网络安全知识

一、信息安全概述 1.信息与信息安全 信息与信息技术 信息奠基人&#xff1a;香农&#xff1a;信息是用来消除随机不确定性的东西 信息的定义&#xff1a;信息是有意义的数据&#xff0c;是一种要适当保护的资产。数据经过加工处理之后&#xff0c;就成为信息。而信息需要经…

Loki 微服务模式组件介绍

目录 一、简介 二、架构图 三、组件介绍 Distributor&#xff08;分发器&#xff09; Ingester&#xff08;存储器&#xff09; Querier&#xff08;查询器&#xff09; Query Frontend&#xff08;查询前端&#xff09; Index Gateway&#xff08;索引网关&#xff09…

基于LabVIEW的USRP信道测量开发

随着无线通信技术的不断发展&#xff0c;基于软件无线电的设备&#xff08;如USRP&#xff09;在信道测量、无线通信测试等领域扮演着重要角色。通过LabVIEW与USRP的结合&#xff0c;开发者可以实现信号生成、接收及信道估计等功能。尽管LabVIEW提供了丰富的信号处理工具和图形…