例子:

不加密例子:


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. Vite4+Typescript+Vue3+Pinia 从零搭建(3) - vite配置

    项目代码同步至码云 weiz-vue3-template 关于vite的详细配置可查看 vite官方文档,本文简单介绍vite的常用配置. 初始内容 项目初建后,vite.config.ts 的默认内 ...

  2. 生成伪随机数 rand;srand函数

    1 相关内容来自鱼c论坛https://fishc.com.cn/forum.php?mod=viewthread&tid=84363&extra=page%3D1%26filter% ...

  3. 实例讲解C++连接各种数据库,包含SQL Server、MySQL、Oracle、ACCESS、SQLite 和 PostgreSQL、MongoDB 数据库

    C++ 是一种通用的编程语言,可以使用不同的库和驱动程序来连接各种数据库.以下是一些示例代码,演示如何使用 C++ 连接 SQL Server.MySQL.Oracle.ACCESS.SQLite 和 ...

  4. Vue06-Pinia

    Pinia Pinia是西班牙语piña(西班牙语中的"菠萝")单词的形似. 它是一个状态管理的库,用于跨组件.页面进行状态共享(这点和Vuex.Redux一样),同时兼容Vue2 ...

  5. 神经网络入门篇:详解搭建神经网络块(Building blocks of deep neural networks)

    搭建神经网络块 这是一个层数较少的神经网络,选择其中一层(方框部分),从这一层的计算着手.在第\(l\)层有参数\(W^{[l]}\)和\(b^{[l]}\),正向传播里有输入的激活函数,输入是前一层 ...

  6. Fast ORM 读写分离功能使用方式

    Fast Framework 作者 Mr-zhong 代码改变世界.... 一.前言 Fast Framework 基于NET6.0 封装的轻量级 ORM 框架 支持多种数据库 SqlServer O ...

  7. [ABC235G] Gardens

    Problem Statement Takahashi has $A$ apple seedlings, $B$ banana seedlings, and $C$ cherry seedlings. ...

  8. Android Studio 学习-第三章 Activity 第一组

    事先申明:所有android 类型的学习记录全部基于<第一行代码 Android>第三版,在此感谢郭霖老师的书籍帮助. 1.手动创建Activity 在Project类型目录中寻找到 项目 ...

  9. 华企盾DSC造成svn、git连接不上常见处理方法

    1.检查svn服务器是否正在运行 2.检查个人模式连接不上服务器网络加密了客户端未加密(查看客户端日志进程是否为legal:1网络访问设置是否正常,试试只加密服务器IP及端口的方式),个人模式可以连接 ...

  10. 华企盾DSC防泄密软件造成VS启动报目录错误

    解决方法:找到安装路径下的Privateregistry.bin文件解密即可