自动翻译网站软件,网络营销的主要方式,做配单ic去什么网站好,seo搜索优化公司排名加密算法 一、前言知识1、加密解密2、MD5#xff08;最常见#xff09;3、SHA4、进制5、时间戳6、URL编码7、base64编码8、unescape编码9、AES加密10、DES#xff08;类似于base64#xff09; 二、常见加密形式算法解析三、演示案例1、某 CTF 比赛题目解析2、某 CMS 密码加… 加密算法 一、前言知识1、加密解密2、MD5最常见3、SHA4、进制5、时间戳6、URL编码7、base64编码8、unescape编码9、AES加密10、DES类似于base64 二、常见加密形式算法解析三、演示案例1、某 CTF 比赛题目解析2、某 CMS 密码加密解密3、某 URL 加密地址的漏洞测试4、某实际应用 URL 地址参数加密 四、涉及资源 一、前言知识 前言:在渗透测试中常见的密码等敏感信息会采用加密处理其中作为安全测试人员必须要了解常见的加密方式才能为后续的安全测试做好准备本次课程将讲解各种加密编码等知识便于后期的学习和发展。 1、加密解密
加密软件 解密软件
https://www.cmd5.com/ #常见加密编码等算法解析
MD5SHAASC进制时间戳URLBASE64UnescapeAESDES等#常见加密形式算法解析
直接加密带salt带密码带偏移带位数带模式带干扰自定义组合等#常见解密方式针对)
枚举自定义逆向算法可逆向#了解常规加密算法的特性
长度位数字符规律代码分析搜索获取等
2、MD5最常见
#含义
MD5信息摘要算法英语MD5 Message-Digest Algorithm一种被广泛使用的密码散列函数可以产生出一个128位16字节的散列值hash value用于确保信息传输完整一致。#分类
十六位/三十二位MD5密文位数固定不变
如数据库密码 #不可逆
不能直接的逆向网上的解密不是从密文到明文的过程而是枚举如123的解密是举例1,10,11,12,13…121,122,123来匹配 3、SHA
#含义
安全散列算法英语Secure Hash Algorithm缩写为SHA是一个密码散列函数家族是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的长度固定的字符串又称消息摘要的算法。且若输入的消息不同它们对应到不同字符串的机率很高。#密文
为0-9,a-z的数字组合有四种不同的加密方式对于不同的长度。4、进制
二进制十进制十六进制
5、时间戳
#含义
时间戳英文为Unix epoch, Unix time, POSIX time 或 Unix timestampUNIX时间戳的0按照ISO 8601规范为 1970-01-01T00:00:00Z.一个小时表示为UNIX时间戳格式为3600秒一天表示为UNIX时间戳为86400秒闰秒不计算。#时间戳通常是用在用户的注册、登录、注销等情况在线转换工具https://tool.lu/timestamp/ 6、URL编码
https://www.cnblogs.com/cxygg/p/9278542.html
序号特殊字符含义十六进制值1.URL 中号表示空格%2B2.空格URL中的空格可以用号或者编码%203./分隔目录和子目录%2F4.分隔实际的 URL 和参数%3F5.%指定特殊字符%256.#表示书签%237.URL 中指定的参数间的分隔符%268.URL 中指定参数的值%3D
搜索PHP的网站。 加空格11。 变为%2011。 #%20被成为URL编码。
#含义
url编码是一种浏览器用来打包表单输入的格式。浏览器从表单中获取所有的name和其中的值 将它们以name/value参数编码移去那些不能传送的字符将数据排行等等作为URL的一部分或者分离地发给服务器。#空格的转化#为什么之前的转化只转化空格没有转化11注意二次转码---由于空格的特殊的含义它会进行转化而1转化为%31的化网站会以为没有进行转码的明文会对%31再进行一次转码—-%25%33%31----看见%31可能会涉及二次编码。浏览器之后解密一次二次编码多在自己关键字的绕过方面涉及7、base64编码 #含义
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一基于64个可打印字符来表示二进制数据的方法。由于输出内容中包括两个以上“符号类”字符, /, )不同的应用场景又分别研制了Base64的各种“变种”。为统一和规范化Base64的输出Base62x被视为无符号化的改进版本。#规律
明文有多长密文相对有多长0-9a-z且区分大小写经常在密文后面出现等号 base64编码的特点随着编码的文本增加而增加、由大小写和数字组成且字符结尾一般有两个等号。一般在代码中为了安全会使用base64进行编码。
8、unescape编码 JavaScript unescape() 函数可对通过 escape() 编码的字符串进行解码。
unescape(string)该函数的工作原理是这样的通过找到形式为 %xx 和 %uxxxx 的字符序列x 表示十六进制的数字用 Unicode 字符 \u00xx 和 \uxxxx 替换这样的字符序列进行解码和URL编码有点像。 特点一般是%U四个数字对应着两个字符、主要运用于网站web应用。 特点1—以%u开始加上四位的数字。 特点2—两个字符进行转换最后一个除外。 9、AES加密
#密码学中的高级加密标准Advanced Encryption StandardAES又称Rijndael加密法在一个4×4的字节矩阵上运作这个矩阵又称为“体state”其初值就是一个明文区块矩阵中一个元素大小就是明文区块中的一个Byte。aes在逐渐的取代md5值、在解密的过程中一定要知道密码和偏移量不然是解不出来的。在线工具http://tool.chacuo.net/cryptaes 举例明文123456密码admin拼接后加密偏移量不是开始到结尾而是从一个部分进行加密 。 将加密的用base64解密—解密为乱码多半为aes加密—有时会出现斜杠。 10、DES类似于base64 des对称加密是一种比较传统的加密方式其加密运算、解密运算使用的是同样的密钥信息的发送者和信息的接收者在进行信息的传输与处理时必须共同持有该密码称为对称密码是一种对称加密算法用一个 56 位的密钥以及附加的 8 位奇偶校验位产生最大 64 位的分组大小。这是一个迭代的分组密码使用称为 Feistel 的技术其中将加密的文本块分成两半。使用子密钥对其中一半应用循环功能然后将输出与另一半进行“异或”运算接着交换这两半这一过程会继续下去但最后一个循环不交换。特点明文的长度和密文成正比有时会出现加号。 网页加密工具解密—出现乱码why–不同平台参数不同用同一平台。 二、常见加密形式算法解析
1. 直接加密----md5,sha,进制,时间戳base64unescape(除ase,des外)
2. 带 salt---aes
3. 带密码---aes,des
4. 带偏移---aes
5. 带位数
6. 带模式
7. 带干扰
8. 自定义组合。常见解密方式针对
1. 枚举
2. 自定义逆向算法
3. 可逆向。了解常规加密算法的特性
1. 长度位数
2. 字符规律
3. 代码分析
4. 搜索获取等三、演示案例
1、某 CTF 比赛题目解析
脚本自定义算法组合逆向给了一串密文。
fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA下载文件。 解压出来得到一个index.txt的文件。 function encrypt($data,$key)
{$key md5(ISCC);$x 0;$len strlen($data);$klen strlen($key);for ($i0; $i $len; $i) {if ($x $klen){$x 0;}$char . $key[$x]; //把key里面的第一个字符拼接到char里面$x1; //x执行一次循环加一次1 有多少个字符串加多少次print_r(88,$key[$x]);}echo $char.br;
//传入有多少个字符串就取前多少个cmd5字符串赋值给charfor ($i0; $i $len; $i) {//取第data里面的第i个数据加上char里面的第i个数据 把他们的ord()ASCII值相加取余128$str . chr((ord($data[$i]) ord($char[$i])) % 128);}print($str);//base64位加密return base64_encode($str);
}#加密涉及 — MD5ASCIIbase64。
#解密 — 先base64再ASCII再MD5。
#解密脚本
function jiemi($str1){echo 初始值:.$str1.br;$strbase64_decode($str1);$lensstrlen($str);$j0;echo 经过base64解码后:.$str.br;echo 长度:.$lens.hr;$key1 md5(ISCC);$key2 md5(ISCC);$key$key1.$key2;// for($j0;$j$lens;$j){// //$ord_strord($str[i]);// echo $str[j];// }$jie_str;for ($i0; $i$lens; $i) {echo $i;echo 第一次字符串加密.$str[$i].br;// $str . chr((ord($data[$i]) ord($char[$i])) % 128);$str1ord($str[$i]);echo 经过ord转换成ASCII值:.$str1.br;if($str1128){$str1$str1128;}else if($str128){$str1$str128;}else if($str256){$str1256$str;}echo 经过128取余逆向:.$str1.br;$str2$str1-ord($key[$i]);echo 减去CMD5附加的值:.$str2..$key[$i].br;$str3chr($str2);echo emm:.$str3.br;$jie_str$jie_str.$str3;//$jie_str$str3;}print_r($jie_str);
}2、某 CMS 密码加密解密
MD5salt
部分CMS密码加密形式 - wp、dz等登录搭建的discuz论坛的数据库。 查看数据库密码—进入数据库查询sdb_members表的内容。 解密查询—普通的MD5无法解密。 查找salt。 3、某 URL 加密地址的漏洞测试
- AESBase64自定义
- 观察参数值加密字符串下载源代码分析函数定义AES加密涉及模式CBC128位加密密码偏移量两次base64减去常规一次填充模式。mozhe点击访问。 铸剑扫描 — aes加密涉及—密码偏移量从网站文件中寻找。 扫到一个地址。 打开URL。 下载相关文件 — 为解密过程因为网站的URL编码加密了脚本将URL解密因此是解密过程。 list.php 结合aes分析结果 — 加密模式cbc数据块128位。 初始化加密的缓冲区 — mcrypt_generic_init函数的参数 — 描述符密码偏移量。 两次Base64解密 — aes以base64输出因此还需要再解密一次。 观察参数值加密字符串 — 前面是密文后面是明文无法进行注入 — 要将前面解密才能进行注入。 解密密文— ZUlJOGMzSmVMMHQwZHhNN3diM056Zz09。 base64解密。 - 网络解密平台解密。再次分析代码—过滤密码错就跳转主页对就返回1将_mozhe过滤—因此注入为 1 and 11_mozhe。 修改注入再进行加密。 4、某实际应用 URL 地址参数加密
搜索特定关键字加密字符串搜素特定关键字加密字符串—搜索idMQ的网站。 解密为 — id1的网站。 要注入的思路 ---- 注入的语句也应该加密解密 - 注入 - 加密由于加密工具扫不了。
四、涉及资源
墨者学院https://www.mozhe.cn
md5解密https://www.cmd5.com
ASE加解密http://tool.chacuo.net/cryptaes
Bufkuhttps://ctf.bugku.com/challenges
超级加解密转换工具V2.1 绿色免费版https://www.cr173.com/soft/21692.html
DiscuzXhttps://gitee.com/ComsenzDiscuz/DiscuzX