OWASP-Top2-(Cryptographic Failures 加密失败)

Cryptographic Failures 加密失败

以前称为敏感数据泄露,这是广泛的症状而不是根本原因。此处重新关注与密码学相关的漏洞,这些漏洞通常会导致敏感数据泄露或系统受损。

这类漏洞我目前理解的是采用的加密方式手段不是相对最安全的,比如可被彩虹表对应到的hash值等等

这是网上找到的

对于所有此类数据:

  • 是否有任何数据以明文形式传输?这涉及 HTTP、SMTP 和 FTP 等协议。外部互联网流量是危险的。验证所有内部流量,例如,负载平衡器、Web 服务器或后端系统之间的流量。

  • 默认情况下或在较旧的代码中是否使用任何旧的或弱的加密算法?

  • 是否正在使用默认加密密钥、生成或重复使用弱加密密钥,或者是否缺少适当的密钥管理或轮换?

  • 是否未强制执行加密,例如,是否缺少任何用户代理(浏览器)安全指令或标头?

  • 用户代理(例如,应用程序、邮件客户端)是否不验证收到的服务器证书是否有效?

举个栗子:

密码数据库使用未加盐或简单的哈希来存储每个人的密码。文件上传缺陷允许攻击者检索密码数据库。所有未加盐的哈希值都可以通过预先计算的哈希值彩虹表公开。

这里涉及到加盐salt,意思是说在密文前面或者后面随机生成的一串字符串,然后和密文拼接到一起进行hash加密,这样可以对抗彩虹表。

是不是salt+hash后就绝对安全呢?

当然不是,安全只是相对的:

使用简单或快速散列函数生成的散列可能会被 GPU 破解,即使它们被加盐。

比如MD5和SHA1

 

说到这里就再来加深一下md5和hash算法

MD5和Hash的区别
首先,MD5与hash都是单向加密的算法,可以把一些信息进行单向加密成固定长度的散列码。(hash算法即常说的散列算法)

其次,MD5也是hash算法的一种,常见的hash算法还有SHA1,SHA2等

MD5也被称为信息摘要算法,由于其算法复杂不够,容易被暴力破解的。

SHA1算法也存在和MD5一样的问题。

还有SHA2、SHA256、SHA512等,这些算法的复杂度相对要高,但是依然是可被破解的只是破解成本被增加了,但是一些常用的文本信息(比如密码)的散列码被一些专业厂端记录下来了,还是容易被破解的,怎么办呢?
加盐就是比较好的方法.

 

这里想起一个社工的手段,在一些咖啡厅餐厅开放一个免费容易连接的钓鱼wifi,通过wireshark这些进行监听(应该有更好的伪装手段)

整个连接到wifi的人都将被监听,小一些的可以信息泄露,大一点访问一些购物网站,如果cookie能被利用就能获取到更多的信息,

甚至csrf等...

 

目前就了解到这,要说更深入的这方面漏洞还有些抽象。。。

posted @ 2021-09-26 09:57  Erichas  阅读(774)  评论(0编辑  收藏  举报