小迪抓包技术算法加密(6-9天)
抓包技术
https://blog.csdn.net/2301_81015455/article/details/147014382
算法加密入门(了解)
在实际测试中安全性高一些得采用得都是AES等高安全加密,遇到这种,放弃
你啥都不知道测个毛啊,所以直接run!!!
大部分解密时碰撞式解密,不是算法得逆向还原,类似你得明文一位一位加密最后拼接起来是不是想要得密文,若加密复杂,则就解不出来,我的理解就是逆向爆破解密,换句话来说密码越复杂,资源消耗越多,时间越久
识别算法编码方法:
1.看密文位数
2.看密文特征(数字,字母,大小写,符号等)
3.看密文存在得位置(数据库,web,操作系统等)
4.有些需要看到源码才能知道是什么加密
需要结合才能得出结果
存储密码加密 --应用对象
1.web-zzzcms&Dz
搭建网址更新换代加密:
普通md5–>md5.salt–>AES加密(密匙 偏移量 填充 模式等等)
2.系统-Linux/window
我们这边查看Linux输入 cat /etc/shadow
是NTML加密,解密后是kali
3.数据库
例如下面得就是SHA-256 加密
影响:安全后渗透测试(因为解不出来密码)
传输加密编码–发送回显
数据传输–编码&加密类型
1.某视频
一个视频的地址不可能是这样,看起来像base64,解密后us/311278976/630760349.shtml
2.某web站
https://www.inkomet.com/detail.php?id=MQ==
https://www.inkomet.com/detail.php?id=1
从上面看出MQ==是base64加密
为什么要了解,因为在安全测试会进行数据修改提交测试,数据要根据测试网站的传输格式对方才能接受,例如sql注入
3.博客登录
自己搭建博客网站登入后台的同时抓包
抓包后输入的账号密码是admin&123456,很明确的知道进行了算法加密,你要求明文,你就得知道密钥和密文,并且知道是什么算法才能求出明文(这里是MD5算法
)
4.app-斗地主
app则也是一样,大家抓包记得代理要一样,不然抓不到
影响:漏洞探针
数据传输格式–统一格式
大致意思是:在对应测试目标的同时要了解目标的传输格式,保证在测试数据传输格式与它一致,对方才会接受,常见格式有html xml json 常规格式 php等
这一类得演示跟创数加密编码结合一起演示,一个是加密类型一个是传输类型
影响:发送漏洞探针,回显(返回)数据分析
代码特性混淆–开发语言
1.源代码加密-PHP&混淆加密
在小p中准备一个1.php加密,在听过php加密将1.php加密后变为11.php,里面得内容是一样得,但是11.php加密后就看不懂
还有一种JS加密
所以若源代码加密,不知道怎么加密,解不开得,直接run
2.代码保护-EXE&JAR
通过Virbox Protector功能加密实现无法反编译
影响:代码审计,逆向破解
算法类型
单向散列加密–MD5
优点:存储方便,损耗低
缺点:存在暴力破解风险,也会存在散列冲突
方法:通过加盐值(salt)来提高安全性
常见:MD5 SHA MAC CRC
说他简单是因为所需加密得条件少
MD5
特点:
- 由数字
0-9
和字母a-f
组成字符串 - 固定16和32位
解密:密文即可,明文复杂可能解不出,采用得是碰撞解密
BASE64
特征:
- 大小写区分,通过数字和字母和等号的组合
- 密文尾部都会有2个等于号,明文很少没有
- 明文长密文也长,一般不会出现"/“和”+"在密文中
解密要求:跟MD5类似
对称加密–AES
优点:算法公开,计算量小,加密速度快,效率高
缺点:接受和发送方要商定好密钥,密钥双方都要保护好,但是,密钥也变成负担
常见:DES AES RC4
AES DES
特征:
- 与Base64类似,会出现“/”和“+”存在密文
解密需求:密文,偏移量,模式,密钥key,四个都要知道才能解得出,他是逆向算法解密
主要是密码和偏移量,其余可以挨个试
非对称加密–RSA
优点:安全性更高,加密和解密密钥各不同
缺点:加密解密花费时间,资源多,速度慢,只能对少量数据进行加密
常见:RSA RSA2 PKCS
RSA
特征:
- 与AES DES相似,但是更长
解密需求:密文,公钥或者私钥一个即可解密(算法加密代码网上都有),并且生成得每次密钥都是随机得但是都可以考密钥解,解密的前提是拿到对方的密钥才能解密,2个都有那就更好
案例1:知道公钥私钥解出密码
案例2:知道私钥解除密码
使用公钥加密
使用私钥进行解密
案例3:知道密文和私钥解除密码(前提对方使用你给的公钥加密的)一般用于签名和证书认证
总结:图片显示特征
算法加密解密了解结束开始实践
后端语言(必须得到源码 )
环境1:你进入到某数据库中找到密码,但是加密
思路:
- 先看密文特征,查看是什么类型加密
- 能解就解,解不出来就看源码,源码也没有就猜,猜不出来就放弃
在图中可以看出是MD5加密和salt,但是我们知道源码所以,写一个简易PHP脚本实现碰撞,只要修改password一个个碰撞看看能不能出来(这个是知道源码的情况下,本人觉得,在你不知道的情况下,这种方式不现实)
环境2:另外一个版本的密码加密
我们看不懂啊,那就看源码,然后上网查,从网上查到发现是php内置函数,也是单向散列密码,所以也是进行碰撞检测,网上有对应的解密方法
前端语言(JS,htmll等等)
在前端语言,跟后端不同,顾名思义它可以在开发者模式中看到源代码
环境:博客登入后台界面
在开发者模式中找到对应的算法加密,但是前端的JS中存在应用和内置的要仔细甄别,学了JS渗透,其实可以直接在前端搜索关键字进行查看加密
环境:墨者靶场
进入靶场,点击右下角的通告,得到页面
发现这一串有点像base64,但是经过测试发现不是
在这个目录下发现了一个压缩包和php,制胜的法宝
打开php进行代码审计,发现用的加密是AES并且也给了4大项,我们可以进行解密了,但是要注意他加密了2次,所以在解密之前我们要先base64解密一次(这个步骤我就省略)
得到密码后实现sql注入,但是要进行题目算法的加密才可以
最后就是注入
总结:在安全测试中
密文-有源码直接看源码分析加密算法(后端必须要有源码才能知道算法)
密文-没有源码–>猜识别–>看前端JS(看加密逻辑在不在前端,但是几率不大)
材料:
- 30余种加密编码类型的密文特征分析(建议收藏)-腾讯云开发者社区-腾讯云
- CTF中常见密码题解密网站总结_ctf解密网站-CSDN博客
- CTF密码学常见加密解密总结_wydfxjmgvswodododod-CSDN博客
- 对称加密与非对称加密在线网站