例子:

不加密例子:


image-20210719153550042

加密例子:


image-20210719153812653

结论:前端账号密码需要加密。

论点一:https是否真的“安全”?

1、Https通信中间掺杂着许多代理(客户端代理、服务器代理等),而正是因为这些代理的出现,使得https也变得不那么安全。

通过代理就能监控https明文数据,从而能够获取到用户未加密的账号密码。

2、抓包原理(Fiddler、Charles、Wireshark等抓包工具)

抓包工具作为中间代理,通过对客户端伪装成服务端和对服务器伪装成客户端的方式,对骗客户端与服务端进行欺骗,从而打到截取明文数据的目的。


image-20210719190331688

其实抓包的原理本质上就是中间人攻击,但前提是用户客户端上安装抓包工具根证书并设置为信任。只要用户不设置证书信任,https还是非常安全的。只要在认证环节出了问题,https的安全性就会失效。

论点二:用户隐私保护

加密能保障用户隐私安全,防止内部人员窃密。

1、保护用户隐私。用户账号密码可能包含其个人身份信息,账号密码泄露会导致其身份隐私信息泄露;

2、防止内部窃密。请求经过服务端必然会留下请求日志或痕迹,任意内部开发人员都能够获取到用户账号密码,会对企业数据安全造成困扰;

3、防止撞库。用户明文账号密码被截获后,会被尝试于不同应用上,对整个互联网账号安全都带来影响。

论点三:提升逆向成本

提升逆向成本。

(1)通过自定义加密算法对账号密码进行加密,提升作弊者的协议伪造成本;

(2)通过在加密算法中加入时间戳或其他随机值,能够避免重放攻击;

(3)通过加入环境检测逻辑,检测当前用户运行环境是否正常。

总之通过对账号密码进行加密,我们能够提升逆向分析的难度。我们弄个在该加密串中加入很多有意义的标识,迫使作弊者必须分析。

当然加密和混淆是不可分割的,只加密不混淆,加密算法明文呈现,加密的效果就会大打则扣。

思考:Https情况下前端密码是否需要加密的更多相关文章

  1. Linux下MySQL在知道密码的情况下修改密码

    1.在知道原密码的情况下,进入MySQL: mysql -u root -p 2.进入 mysql数据库,然后通过语句修改密码: 我的MySQL版本是:mysql  Ver 14.14 Distrib ...

  2. Mysql8.0.17忘记密码情况下重置密码

    1.以管理员身份打开命令窗口cmd,输入命令: net stop mysql 2.开启跳过密码验证登录的mysql服务,输入命令 mysqld --console --skip-grant-table ...

  3. Linux在丢失的情况下重置密码

    1.开机菜单是 移动光标到第一行 --敲击e 2.找到UTF-8,加上空格rd.break,敲击ctrl+x 3.输入以下命令 mount -o remount,rw /sysroot chroot ...

  4. sqlmap在https情况下的一个错误

    对于https网站,使用sqlmap可能会出现如下错误.使用–force-ssl无效. https证书有问题 方法 本地建立proxy.php,内容为 <?php $url = "ht ...

  5. ios 在https情况下,使用webview加载url出错的解决方法 ios9 适配问题

    修改info.plist文件,添加App Transport Security Settings,然后在这个里面添加Allow Arbitrary Loads,改为yes 如下图:

  6. mysql-unsha1:在未知密码情况下,登录任意MYSQL数据库

    摘要 这个POC用于在不知道明文密码的情况下对启用了密码安全认证插件(默认开启插件:mysql_native_password)的MYSQL数据库进行登录. 前提条件为: 1.为了获取到已知用户的ha ...

  7. /etc/sudoers文件设置为允许用户在不输入该用户的密码的情况下使用所有命令

    设置用户666在不输入该用户的密码的情况下使用所有命令: /etc/sudoers ALL=(ALL) NOPASSWD:ALL # ALL=(ALL) ALL #sudo su - 时是需要输入66 ...

  8. sqlserver修改sa密码(在windows登陆没有权限的情况下)

    对于windows用户没有权限执行alter login sa enable的情况下,采用如下方法可以成功修改sa密码登陆. . 用Run as a administrator打开命令提示符里输入NE ...

  9. 仿联想商城laravel实战---3、前端页面搭建(什么情况下需要路由接参数)

    仿联想商城laravel实战---3.前端页面搭建(什么情况下需要路由接参数) 一.总结 一句话总结: 比如访问课程的时候,不同的课程(比如云知梦),比如访问不同的商品,比如访问不同的分类 //商品详 ...

  10. Oracle不知道用户密码情况下,如何在不更改密码的前提下解锁用户或者延期密码有效期

    1.问题描述: 生产环境,zabbix告警业务用户密码即将过期,但是如何不知道业务用户密码的情况下来解决该问题? 2.实验一: 1)创建新的用户test,并授予test resource角色和conn ...

随机推荐

  1. RT-Thread 中 minIni 组件包无法添加的解决方法

    事件 今天在 Env 下添加 minIni 包的时候出现了无法将其添加到工程的情况.借此机会来记录一下如何解决该类问题. 如果你想快速排错可以直接到 [2.minIni 组件出现的问题]查看. 一.准 ...

  2. CSP2023游击

    Day-1 上车了,玩了一路. 到酒店里,玩了一晚上. Day 1 爆O! Day 2 走了,玩了一路. AF0了, 哎不是,谁给我反对了 考完了,心情不是很好 分数就不说出来了吧,太低了怕你们笑话我 ...

  3. re1-100

    虽然关键的判断函数和"成功"的提示也在这里,但是具体对输入flag的操作却在后面 看到对数组bufParentRead[1]开始赋值"53fc275d81",b ...

  4. 深入理解RC4加密算法

    RC4(Rivest Cipher 4)是一种广泛应用的加密算法,由Ronald L. Rivest于1987年发明.它是一种流密码(stream cipher)算法,适用于对网络通信中的数据进行加密 ...

  5. 【Javaweb】implements Serializable是什么意思?反序列化是什么意思?

    为了保证数据传输的可靠 性,常常要implements Serializable,为什么? 对象本质上是虚无缥缈的,只是内存中的一个地址,如果想要让对象持久化,让对象在网络上传输,总不可能传送一个内存 ...

  6. Java中的try-catch

    try里面放入可以尝试的操作,而catch则是接受try里面的异常,从而进行的操作,其目的是为了不让程序因为异常而中断,具体的流程是 抛出异常是可以自己设置,这里是自己设置的异常类fg,catch括号 ...

  7. .NET Conf 2023 Chengdu - 成都站圆满结束!

    今年的.NET Conf 2023,中国区首次有两个会场举办Local Event,成都会场已于上周六12月9日圆满结束. 本次成都会场共计100+余名.NET开发者报名参与,共计10+名志愿者参与筹 ...

  8. ubuntu20.04安装goaccess实时对nginx日志进行分析

    ubuntu20.04安装goaccess实时对nginx日志进行分析 goaccess可以对nginx日志进行分析,生成实时动态页面,同时通过nginx反向代理来解决WebSocket数据传输问题. ...

  9. 浅谈 Socket.D 与响应式编程

    一.Socket.D 的主要特性 首先,Scoket.D 是高效一个二进制的网络通讯协议(官方我讲法是:基于事件和语义消息流的网络应用协议),能够满足很多场景下使用.其次,Scoket.D 是温和的响 ...

  10. pinia持久化存储插件-pinia-plugin-persistedstate

    pinia-plugin-persistedstate 丰富的功能可以使 Pinia Store 的持久化更易配置: 与 vuex-persistedstate 相似的 API 所有 Store 均可 ...