加解密对抗历程随笔

admin 2024年6月20日17:02:15评论14 views字数 1205阅读4分1秒阅读模式

出差上班缓一缓,把加解密的对抗历程给简单写了,没有写的特别详细,也懒的排盘了。里面也提到了几种方法,这些网上大佬都写过,搜索下就好了。

之前国家密码局公布了sm2 sm3 sm4 商用密码改造,做不做→必须做到。

V1:对称加密固定密钥

其实没公布之前金融行业是AES大部分都是ECB模式固定密钥格式进行改造,这种F12无论是任何资产都能把密钥给调试出来。

V2:AES的CBC模式

开始是iv、key都固定。后来是iv固定,Key不固定。这种因为是前端随机key,并不是其他固定key,可能觉得不知如何下手,但是这种也容易过。

1.只要是把随机key固定就行了

2。每次都找到key,然后进行加解密,这种方式不够优雅。

后来用到了对数据加上签名进行唯一性、不可重复性校验

V3:加密+签名(sign)

签名通常是 md5(数据+路径+时间戳),sha256(数据+路径+时间戳),这种来实现。但是这种也有痛点,就是签名算法找到以后数据也能被破解,对于系统有waf也是爽到飞起了,犹如无人之境。

V4:混淆(加密+签名(sing))

再后来通过混淆,大部分都是OB混淆,开启了混淆模式,这样极大增强了找到加密算法,签名算法的难度,导致很多人都卡在了这里。但是也有一些逆向大佬能够快速的从OB混淆中,找到了其中的算法。

V5:增强版本(后端给前端传输一个一次性随机key+对称加密)

RSA算法随机生成一个密钥,这个密钥是用来对数据进行加密的。每次密钥都是随机的,这样就保证了无法对数据进行加解密了。但是依然有方法,就是在控制台强硬调试,在数据都是明文的时候,对数据进行控制调试,这样可以避免了。如果没有混淆,这个方法虽然不够优雅,但是还算是可以解决问题。如果有混淆了,极大的拖延了调试时间。

V6:混淆((后端给前端传输一个一次性随机key+对称加密+签名))

再到现在关键代码混淆,服务器通过RSA算法给前端一个随机的AES密钥,让密钥对数据进行加密,同时对数据有签名校验,对关键代码有混淆。把Web方面的渗透拉到了一个新的难度层次。

最后还有一个禁止调试Js,打开F12会禁止在F12中调试Js,控制台中出现debugger字样。这个在上面每一个过程都碰到过。。

总结:

从V1-V6每个过程加解密对抗都是越来越复杂,攻击的难度直线上升。只能是慢慢学习,不断对抗加解密。其实还有一个相对核心的技术,rpc技术,这个不展开细讲,有兴趣的可以搜索下。

针对Web的限制就是比较多,针对APP的限制相对就没那么多。APP可以直接hook加解密函数的地方,只要寻找到加解密函数的地方,就可以无缝去找这些事情了。

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者及本公众号不为此承担任何责任

欢迎关注公众号“呼啦啦安全”,原创技术文章第一时间推送。

原文始发于微信公众号(呼啦啦安全):加解密对抗历程随笔

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年6月20日17:02:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   加解密对抗历程随笔https://cn-sec.com/archives/2866920.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息