网页抓取 加密html(密码在服务器被别人盗走的原因是什么?怎么破?)

优采云 发布时间: 2021-10-27 20:19

  网页抓取 加密html(密码在服务器被别人盗走的原因是什么?怎么破?)

  很有趣的问题。

  问题相当模糊——“有意义吗?” 暂时我们认为“有意义”=“密码不会泄露”。

  看到很多人是从密码学的角度来解释这个问题的,我就从工程的角度来谈谈吧。泄漏的方法有很多种。在这里,我们将讨论每种方法以及更实用的处理方法。假设系统架构是典型的CS/BS架构。

  密码被前端其他人盗取。比如在网页的cookie中,名著的密码存放在localstorage等地方,就是XSS。或者应用程序将密码存储在沙盒文件系统中,但不幸的是应用程序已被篡改,或手机已完全root。解决的办法是前端根本不要保存密码,而是保存到后端;或使用http only cookie技术不允许前端代码接触密码数据;或者确保前端有某种类似于iOS的keychain机制来做存储。

  密码输入被盗。用户通过 UI 控件输入密码,攻击者在将其传输到服务器之前将其窃取。这时候就需要前端加密了。但我们特别注意。如果由于各种原因传输不能使用SSL,或者代理有SSL的私钥(比如大型企业内部代理用户监控员工行为),那么客户端加密就很重要了。很重要。

  密码在传输过程中被他人盗取。对此大家有一个共识,去SSL(对于http是https)。如果ssl由于某种原因在某个特定领域更胜一筹,就需要做一个大致相当于SSL的简化方案。这种传输本质上是加密和解密同时进行,同时保证密钥本身在传输过程中不会泄露。

  另外,https的一个额外用途是将证书和域名结合起来,域名由DNS控制。这三个一起可以避免网络钓鱼攻击(但还是有办法的,见下文)。

  密码被其他人从服务器上窃取了。密码存储在数据库中,然后拖入数据库中。响应是为了防止内部网络受到损害。但是没有人可以玩这张套餐票。因此,最好不要存储原创明文密码,甚至是可以轻松反转回明文的密码哈希。常用的技术是为每个密码添加不同的盐。

  *敏*感*词*真钓鱼。如果在浏览器中直接输入url输入某个网站,其实是很不靠谱的。钓鱼网站很容易让自己看起来很真实网站(包括域名),申请证书也相对容易,不需要任何审核。因此,请尝试从搜索引擎和其他地方输入。这些入口确保您输入的内容确实是您想要输入的网站。在移动端,这个入口一般是由应用商店保证的。应用商店保证提供给您的应用是正版的、未经篡改的、不是李鬼的应用。(如果你经常使用盗版应用做一些与金钱有关的事情)。

  社会工程学。冒名顶替者打电话给想要突破的人并要求输入密码。有了修辞,总有一些人会被欺骗。除了教育之外,没有更好的方法可以避免随时泄露密码。或许一些硬件,比如U盘,可以部分解决这个问题。

  可见,安全是一个整体,整个系统的任何漏洞都会造成问题。此外,安全性分为多个级别。比如工具服务的安全性可以稍微低一些,所以做前两个可以解决大部分问题。金融服务必须无所不能。

  在上述系统下,我们可以看出“前端加密”的重要性与能否使用安全传输有很大关系。如果可以使用https,前端加密的作用就是用户在前端输入密码,然后在https传输之前输入一个加密。如果能经常更换密钥,而且加密是单向的,即使能被人看到,也是“有意义的”,但从全局来看意义不大。简单的说,性价比不高。但是如果不能使用安全传输,前端加密实际上起到了安全传输的作用。

  一个比较好的进行前端加密的方式是,用户一输入密码,就用公钥加密,然后用于传输,然后服务器用私钥解密,然后就是储存在盐中。如上,这其实是在模仿ssl。

  另一种方式是在前端对用户密码进行hash,然后传输到后端给hash加盐。但是hash使用的算法比较容易破解,比如MD5、SHA1等。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线