你的前端加密真的“加密”了吗?

在我们等保应用系统测评中,有这样一个条款测评指标:当进行远程管理时, 应采取必要措施防止鉴别信息在网络传输过程中被窃听。测评实施:应核查是否采用加密等安全方式对

各位老铁们好,相信很多人对你的前端加密真的“加密”了吗?都不是特别的了解,因此呢,今天就来为大家分享下关于你的前端加密真的“加密”了吗?以及的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

评估实施:应验证系统远程管理是否采用加密等安全措施,防止身份信息在网络传输过程中被窃听。

而在《网络安全等级保护测评高风险判定指引》中,如果是互联网应用,就会被列为高危问题。也就是说,如果不符合要求,就必须进行修正。

简单来说,这个条款实际上是要求我们采取措施,保证应用系统认证数据在网络传输过程中无法被理解。

因此,使数据难以理解的最常见方法就是对其进行加密。一是使用加密协议进行通信,例如HTTPS;另一种是单独使用相应的密码算法对认证数据进行加密和传输。

我们不会在这里讨论使用HTTPS 协议的系统。我们主要关注使用HTTP协议的应用系统。他们是如何做到的?我们先看下面的例子:

1.使用编码

如下图所示,我们输入admin/admin,然后使用浏览器自带的F12查看网络传输时的识别数据内容。

可以看出,系统在网络通信中传输的认证数据的值为YWRtaW4:嘿嘿,那么有的小白同学可能会有疑问了。这已经改变了他原来的数据。我看不懂这个数据。这是如何判断文章是否一致呢?

你的前端加密真的“加密”了吗?

这时候有经验的高手一看,这明显是Base64编码,我可以快速给你解密。 (注:这里需要把:改成=,我猜如果后面跟=,我们可能无法判断=是赋值还是Base64编码的一部分,所以用:代替)

编码是将原始数据转换为特定格式或规则以方便数据存储、传输和处理的过程。通常,编码可以颠倒。

以Base64编码为例,它将二进制数据转换为可见的字符形式。通过解码操作,我们可以将Base64编码的数据恢复成原来的二进制形式。

通过前端JS,我们确实找到了Base64编码对应的对应参数。

因此,如果采用编码方式,则不能判定本文符合规定。这也是一个高风险问题,需要纠正。

2.使用哈希算法

我们还测试了另一个应用系统,在登录界面输入admin/admin。

发现此时传输的是字符串21232f297a57a5a743894a0e4a801fc3。这串字符对于网络安全从业者来说一定很熟悉。是admin的MD5值。

你的前端加密真的“加密”了吗?

检查前端JS确实使用MD5

MD5 是一种单向哈希函数,可将任意长度的数据转换为固定长度的摘要值。在密码传输中,通常会使用MD5算法对密码进行摘要后再传输。

然而,MD5算法存在一些安全问题。首先,虽然MD5算法是单向的,但它无法将摘要值恢复为原始数据。这意味着即使传输被拦截,攻击者也无法直接获取密码。然而,由于MD5摘要值是固定长度的,攻击者可以通过尝试大量的可能性并将其与预先计算的MD5值进行比较来进行穷举搜索并找到相应的密码。

另外,MD5算法还被发现存在碰撞漏洞,即两个不同的数据可以生成相同的MD5摘要值。通过该漏洞,攻击者可以找到与目标密码相同的MD5摘要值,从而绕过密码验证。

从上面我们也看到,通过彩虹表可以提取出原始数据,所以如果只用MD5值进行传输,是不能满足要求的。一般来说,我们可以添加随机数。 Salt是随机生成的字符串,添加到原始密码中,然后计算MD5摘要。

3.使用加密算法

接下来我们看一个使用加密算法进行传输的例子。

首先,我们捕获到目标y0HUmqPOaHjj5qB5MKYG6Q==提交的密码值

你的前端加密真的“加密”了吗?

乍一看,如果你不熟悉相关的密码算法,你会发现这串数字使用的是哪种算法并不明显,但它与上面两个有明显的不同。这里,我们首先需要通过前端JS找到对应的加密算法。我们简单说一下如何找到它:

根据常见的对称加密和非对称加密,我们可能会在所有文件中找到包含关键字key、Crypto、AES、DES、RSA、parse、encode、encrypt等关键字的内容。我们甚至可以直接搜索加密,也许开发者会给你提供一些相关的注释。

这里我们直接F12到调试器,输入相应的关键字进行搜索,找到AES关键字。

可以在AES字符串附近找到对应的key和iv值(已加密)

然后我们将key和iv填入相应的位置,然后将密文粘贴进去,就可以解密成功了。

那么这种情况是否可以视为对认证数据进行了加密呢?假设黑客拦截了您的登录数据包。这时候你的识别信息字段其实就类似‘y0HUmqPOaHjj5qB5MKYG6Q==’这样的字符串,但是对应的算法和密钥可以直接从前端获取到吧?与纯文本类似吗?

由于技术能力有限,作者并不知道对称加密算法是否可以处理加密相关的敏感信息,使得攻击者无法通过前端JS直接查询对应的key值和iv金额。但从上述来看,这种设计肯定存在一定的安全问题。

用户评论

你的前端加密真的“加密”了吗?
陌離

作为一名开发人员,对于前端加密这件事一直比较谨慎,有时候加密技术本身就可能暴露敏感信息,你的文章让我意识到这个问题确实需要重视!

    有18位网友表示赞同!

你的前端加密真的“加密”了吗?
执笔画眉

说句实话前端加密效果有限的啊,黑客只要有心可以绕过,现在好多都是为了忽悠用户罢了,更应该加强后端和数据安全保障!

    有14位网友表示赞同!

你的前端加密真的“加密”了吗?
◆乱世梦红颜

我的项目也是使用前端加密,感觉还挺稳定的,但是需要不断学习新的技术,这样才能跟上时代发展的步伐吧! 期待你分享更多关于加密技术的实操经验!

    有16位网友表示赞同!

你的前端加密真的“加密”了吗?
夏以乔木

真的,前端加密?别跟我说是在糊弄我。用户的隐私安全可不是闹着玩的,加密这技术太容易被突破了,更靠谱的是提升后端安全性啊.

    有19位网友表示赞同!

你的前端加密真的“加密”了吗?
坏小子不坏

我觉得前端加密更像是为了降低黑客破解的难度,虽然效果可能有限,但也还是有一定的意义吧。毕竟,任何防范措施都是要尽可能提高的安全水平。

    有15位网友表示赞同!

你的前端加密真的“加密”了吗?
我怕疼别碰我伤口

这篇文章我受益匪浅!以前我一直以为前端加密就很安全了,其实还有这么多讲究?以后一定要仔细研究一下,避免踩坑!

    有5位网友表示赞同!

你的前端加密真的“加密”了吗?
珠穆郎马疯@

说个数据:目前很多前端加密技术在黑客的手里就像纸糊的一样。真正的防护需要从后端开始,加密只是辅助手段。

    有12位网友表示赞同!

你的前端加密真的“加密”了吗?
病房

我有个想法,前端加密可以用来保护一些非敏感信息,比如用户登录状态。毕竟,如果每次都重新输入密码很麻烦,对用户体验来说很不友好。

    有5位网友表示赞同!

你的前端加密真的“加密”了吗?
伤离别

这篇文章让我意识到,前端加密只是一个安全防护的一部分,不能依赖它来完全解决问题。我们需要多方位的防护措施才能有效保障用户隐私!

    有9位网友表示赞同!

你的前端加密真的“加密”了吗?
々爱被冰凝固ゝ

对于前端开发人员来说,了解一些基础的加密知识确实很重要,但更重要的是要关注后端安全,毕竟前端的代码很容易被入侵…

    有18位网友表示赞同!

你的前端加密真的“加密”了吗?
我一个人

我最近也在研究前端加密方面的技术,发现有很多种方法可以实现加密,但是每个方法都有优缺点。这篇文章对我有一定的启发,我会继续深化学习!

    有14位网友表示赞同!

你的前端加密真的“加密”了吗?
景忧丶枫涩帘淞幕雨

作者说的没错,前端加密不能替代后端安全性保障!我觉得未来更应该注重安全的全链条建设,从代码开发到数据库管理,各个环节都要重视安全防护!

    有8位网友表示赞同!

你的前端加密真的“加密”了吗?
各自安好ぃ

这篇文章提醒了我,作为一名程序员,不仅要关注技术能力,也要提升安全意识。毕竟,一个漏洞可能造成巨大的损失!

    有5位网友表示赞同!

你的前端加密真的“加密”了吗?
烬陌袅

前端加密确实是一个比较敏感的话题,因为它可能会被人误解为“绝对安全”。其实,任何安全的措施都存在局限性,需要权衡利弊并根据实际情况选择合适的方案!

    有8位网友表示赞同!

你的前端加密真的“加密”了吗?
一笑抵千言

我理解你文章里的观点,前端加密并非万能的,它只是安全性的一环。我们需要从多角度加强安全防护力度,才能真正保护用户隐私!

    有11位网友表示赞同!

你的前端加密真的“加密”了吗?
汐颜兮梦ヘ

这篇文章内容很扎实,作者分析了前端加密存在的局限性,并提出了合理的解决方案。我很欣赏这种敢于直面问题的态度! 希望能看到更多关于前端安全的文章!

    有15位网友表示赞同!

你的前端加密真的“加密”了吗?
墨城烟柳

作为一名用户,我更关注的是我的信息安全在哪里得到保障?希望开发者和平台可以提升整体的安全水平,而不是仅仅依赖前端加密!

    有15位网友表示赞同!

原创文章,作者:小su,如若转载,请注明出处:https://www.sudun.com/ask/141140.html

(0)
小su's avatar小su
上一篇 2024年9月19日 上午12:02
下一篇 2024年9月19日 上午12:05

相关推荐

发表回复

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