基础
算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护
安全测试 :
- 网站方面,会进行数据增删改提交进行测试 (数据格式的正确性) 。
简要说明:
密码传输加密:
- MD5 SHA1 NTLM AES DES RC4
- MD5值是32或16位位由数字”0-9”和字母”a-f”所组成的字符串
- SHA1这种加密的密文特征跟MD5差不多,只不过位数是40
- NTLM这种加密是Windows的哈希密码,标准通讯安全协议
- AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似
应用场景:各类应用密文,自定义算法,代码分析,CTF安全比赛等
传输数据加密:
- BASE64 URL HEX ASCII
- BASE64值是由数字”0-9”和字母”a-f”所组成的字符串,大小写敏感,结尾通常有符号=
- URL编码是由数字”0-9”和字母”a-f”所组成的字符串,大小写敏感,通常以%数字字母间隔
- HEX编码是计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F,组成
- ASCII编码是将128个字符进行进制数来表示,常见ASCII码表大小规则:0
9<AZ<a~z
传输数据-编码型&加密型等
例:
数据编码解码 :
- 服务端与客户端编码解码一致性
- 数据发送前,对数据进行了编码;服务器接收到数据时,对数据进行解码后在进行下一步操作。
- 测试时,需要对Payload进行对应的加密或者编码进行提交
- 在测试时,必须对Payload(攻击语句)传输的数据进行对应的编码,服务器才能接受攻击测试,否则服务器将无法接受测试语句,语句无效。
加密类型:base64,md5
影响:漏洞探针
应用:很多,而且可以给自己开发的代码加版权+加密等。
传输格式-常规&JSON&XML等
格式类型:json,xml,常规……
数组格式:? 列表格式:带键值对
admin=xxxx&&passwd=xxxx =>加密或者不加密的横排格式
{ btnPost:"xxxx"; username:"xxxx"; passwd:"xxxxx"; savedate:1; }
不能修改网站自身的加密于与格式。
|
例:
影响:发送漏洞探针,回显数据分析
密码存储-Web&系统&三方应用
例:
- ZZZCMS&Dz
- Win&Linux
- MSSQL&MYSQL
ZZZCMS使用MD5加密: php支持5.0 username: admin password: 123456 password-md5加密:e10adc3949ba59abbe56e057f20f883e 型如:md5(123456)=密文
Dz3.2(老牌博客网站) php支持5.4 username: admin password: 123456 password-md5加密: 型如:md5(md5(123456).salt)=密文 md5加密: 3510300a3be24daf27ff9afdfe3323cd:34fdbf ==>可以直接丢到下面的md5解密网站解密。 被加密的文本:3510300a3be24daf27ff9afdfe3323cd 密钥:34fdbf 密文和密钥被分开放置,例如不同的列。
Dz3.5(最新一版)--复杂加密 username: admin password: 123456 加密密码的方式更加复杂。 6df04a92f53ca7cefee3b546a4e27b06
加密算法破解:需要满足一定的条件才能破解=>有的算法需要的参数不是1个 md5:不可逆向的算法。
加密算法(常见网站的,数据库的,操作系统的),自定义算法
$解密的方式 -- 碰撞解密(大部分的解密方式) -> 简单式密码可以通过碰撞式解密解出。 -> 复杂密码可能性太多,无法碰撞解出。 -- 不是算法的逆向的换原解密
部分加密类型: aes, des (密钥 偏移量 填充 模式等……)
|
网站和操作系统都有各自的加密方式,无法解出的是过渡复杂的。
md5加解密网站 ~~ 其他加密网站
影响 :安全后渗透测试
代码混淆-源代码加密&逆向保护
例:
影响:代码审计,逆向破解
https://indialms.in/wfp_login.php?r_id=1 base64编码 username=YWRtaW4= https://indialms.in/wfp_login.php?r_id=MQ== 112123
|
数据在传输的时候进行编码 为什么要了解?
对方服务器可能会在接受的时候进行解码在带入
如果我们还是按照原有思路 不对自己的Payload进行同样编码的话 传入过去的东西就是不认识的东西 测试无效
正确 :测试的话也要进行payload同样的加密或编码进行提交
安全测试漏洞时候 通常都会进行数据的修改增加提交测试
以数据的正确格式发送 接受才行
登录的数据包: admin 123456
MD5加密
username=admin&password=123456 username=admin&password=e10adc3949ba59abbe56e057f20f883e
|
如果现在我要进行密码的破解爆破
字典文件: 帐号什么都不用更改 去替换username=值即可 密码需要进行密码算法 保证和password=值同等加密才行
https://tv.sohu.com/v/dXMvMzg1MjM2NzE5LzQyNzUyODUzOC5zaHRtbA==.html
开发:数组 列表
btnPost=%E7%99%BB%E5%BD%95&username=admin and &password=e10adc3949ba59abbe56e057f20f883e&savedate=1
{ btnPost:"%E7%99%BB%E5%BD%95"; username:"admin"; password:"e10adc3949ba59abbe56e057f20f883e and"; savedate:1; }
json xml 常规 x=123
x=123 { x:123 }
zzzcms admin /123456 密文利用md5加密 md5(123456)=密文 dz3.2 admin /123456 md5(md5(123456).salt)=密文
dz3.5 admin / 123456 aes des(密匙 偏移量 填充 模式等) $2y$10$OtsSmawENczg1BLcQCEn5OdLqJC9GLiDrClwEUooNnn8b609DfJc.
|
- 常见加密编码进制等算法解析
- MD5,SHA,ASC,进制,时间戳,URL,BASE64,Unescape,AES,DES等
- 常见加密编码形式算法解析
- 直接加密,带salt,带密码,带偏移,带位数,带模式,带干扰,自定义组合等
- 常见解密解码方式(针对)
- 枚举,自定义逆向算法,可逆向
- 常见加密解码算法的特性
- 长度位数,字符规律,代码分析,搜索获取等
本课意义
1.了解加密编码进制在安全测试中的存在
2.掌握常见的加密解密编码解码进制互转的操作
3.了解常见的加密解密编码解密进制互转的影响
识别算法编码方法
1、看密文位数
2、看密文的特征(数字,字母,大小写,符号等)
3、看当前密文存在的地方(Web,数据库,操作系统等应用)
拓展补充参考资料
传输数据编码
BASE64 URL HEX ASCII BASE64:值是由数字"0-9"和字母"a-f"所组成的字符串,大小写敏感,结尾通常有符号= URL编码:由数字"0-9"和字母"a-f"所组成的字符串,大小写敏感,通常以%数字字母间隔 HEX编码:计算机中数据的一种表示方法,将数据进行十六进制转换,它由0-9,A-F,组成 ASCII编码:将128个字符进行进制数来表示,常见ASCII码表大小规则:0~9<A~Z<a~z
|
传输数据加密
同密码存储加密
传输数据格式
常规字符串 JSON XML等
密码存储加密
MD5 SHA1 NTLM AES DES RC4 MD5值是32或16位位由数字"0-9"和字母"a-f"所组成的字符串 SHA1这种加密的密文特征跟MD5差不多,只不过位数是40 NTLM这种加密是Windows的哈希密码,标准通讯安全协议 AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似
|
代码混淆
JS前端代码加密:★★★★ JS颜文字 jother JSFUCK 颜文字特征:一堆颜文字构成的js代码,在F12中可直接解密执行 jother特征:只用! + ( ) [ ] { }这八个字符就能完成对任意字符串的编码。也可在F12中解密执行 JSFUCK特征:与jother很像,只是少了{ }
|
后端代码混淆
PHP .NET JAVA PHP:乱码,头部有信息 .NET:DLL封装代码文件,加保护 JAVA:JAR&CLASS文件,,加保护 举例:加密平台 Zend ILSpy IDEA 应用场景:版权代码加密,开发特性,CTF比赛等
特定应用-数据库密文加密: MYSQL MSSQL Oracle Redis等
数据显示编码: UTF-8 GBK2312等
|
部分资源:
https://www.cmd5.com http://tmxk.org/jother http://www.jsfuck.com http://www.hiencode.com http://tool.chacuo.net/cryptaes https://utf-8.jp/public/aaencode.html https://github.com/guyoung/CaptfEncoder
|
加密解密相关资料
1.30余种加密编码类型的密文特征分析(建议收藏)
2.CTF中常见密码题解密网站总结(建议收藏)
3.CTF密码学常见加密解密总结(建议收藏)
黑盒白盒
黑盒:看不到源代码
白盒:看得到源代码