《小迪安全》第6天 加密算法

目录

前言

常见加密编码等算法解析

演示案例

1. 某CTF赛题解析:脚本自定义算法组合逆向

2. 某CMS密码加密解密

3. 某URL加密地址的漏洞测试

4. 某实际应用URL地址参数加密

相关资源


前言

在渗透测试中,常见的密码等敏感信息会采用加密处理,作为安全测试人员必须要了解常见的加密方式,才能为后续的安全测试做好准备,本次课程讲解各种加密编码等知识,便于后续学习发展。

常见加密编码等算法解析

MD5:密文16位或32位,加密密文字符串由A-Z,0-9随机分配,绝大多数网站采取MD5加密管理员或用户密码,理论上不可逆,某些网站提供解密(枚举方法,不是逆向。维护一个库)。如md5在线解密破解,md5解密加密


SHA:SHA1、SHA256、SHA384、SHA512。SHA1产生160位哈希值,长度都是固定的,密文由A-Z,0-9随机组合,不可逆。

SHA 参数的比较(单位:位)
算法消息长度分组长度字长度消息摘要长度
SHA-1<2^6451232160
SHA-224<2^6451232224
SHA-256<2^6451232256
SHA-384<2^128102464384
SHA-512<2^128102464512

进制:略


时间戳:网站或者服务器脚本语言里经常会使用,常在数据库里用户登录和注销

注册时使用。如时间戳(Unix timestamp)转换工具 - 在线工具


URL编码:%开始,后续跟0-9,A-Z就是URL编码。如将空格编码为%20,1编码为%31。网址的加密方式,浏览器只做一次加密,在渗透时做关键字绕过的时候可能会使用二、三次加密方式。

BASE64:由A-Z,0-9组成,A-Z部分区分大小写,长度固定,长度随明文长度依次增加,经常在字符串后按出现一个'='或者'=='。常见应用于:代码、密码、参数值,主要应用在Web应用中。


 Unescape:%u开头,紧跟4位数字,对应两个字符。主要应用在Web。


AES:是一种安全的加密方式,涉及到密码、偏移量、数据块位数、填充,加密时涉及这4种随机性。必须得知密码、偏移量才有可能解密,如果不知道神仙也搞不出来~~解密难度大。有时看似是BASE64编码的密文,以BASE64解密出来是乱码的话就很有可能是还经过了一层AES加密。常出现于大型网站、安全比赛。有时‘/’会出现在密文字符串里。


DES 等:密文有些类似BASE64,有时‘+’会出现在密文字符串里。 


了解常规加密算法的特性。通过长度、位数、字符规律、代码分析、搜索获取相关信息。

演示案例

1. 某CTF赛题解析:脚本自定义算法组合逆向

需要解密密文。下载提供的文件打开后如下所示:

观察到出现两种加密算法:md5、base64。以及PHP的ASCII编码函数chr、ord。

<?php
echo ord("h")."<br>";        // 104
echo ord("hello")."<br>";    // 104
?> 
<?php
echo chr(61) . "<br>";     // 十进制 =
echo chr(061) . "<br>";    // 八进制值 1
echo chr(0x61) . "<br>";   // 十六进制值 a
?>

对‘ISCC’进行md5编码得到$mkey=729623334f0aa2784a1599fd374c120d。

编写解密脚本,解密密文,得到flag。

思路(逆着来):先BASE64解密、再ASCII解码、再MD5解密。

2. 某CMS密码加密解密

Discuz!是一种流行的免费开源中文社区论坛系统,可以用来建立在线社区、讨论版块、问答平台等。其数据库密码采用MD5加密。以小迪自己搭建的基于Discuz的网站为例:

进入网站数据库查看密码情况:

注意到‘salt' 'fbff52',说明采用BASE64+salt加密方式,即明文加上盐再进行加密(明文+干扰字符)。盐一般6位。没有盐无法解密。如何解密盐?密文:盐,成功解密。

3. 某URL加密地址的漏洞测试

SQL注入漏洞测试(参数加密)_数据库安全_在线靶场_墨者学院_专注于网络安全人才培养为例。

实训目标:

  1. 掌握信息泄露的方式;AES加密,无偏移量和密钥无法解密!
  2. 了解AES加解密;
  3. 了解PHP的基本语法;
  4. 掌握手工SQL注入;
  5. 了解MySQL数据库的结构;

点击“关于平台停机维护的通知”,猜测会通过可下载文件的形式给偏移量、密码:

直接nmap扫描219.153.49.228:42563,扫到地址 219.153.49.228/news/,打开:

分析《关于平台停机维护的通知》的地址:

219.153.49.228:42563/news/list.php?id=ZUUOGMzSmVMMHOwZHhNN3diM056Zz09

猜测AES加密使用到的偏移量和密码放在list.php文件内,下载并打开:

发现关于数据块位数、加密模式、密码、偏移量均给出。以及进行了两次BASE64加密。

mcrypt_generic_init()函数,第一个参数为密码,第二个参数为偏移量。

SQL注入时必须把整条语句按照网站的加密逻辑加密好后再注入,才能正常解密通讯。

ZUUOGMzSmVMMHOwZHhNN3diM056Zz09

先base64解密、再根据php文件提供的数据块位数、加密模式、密码、偏移量,AES解密出明文:1_mozhe,分析php代码发现网站过滤'_mozhe'

做SQL注入时是 219.153.49.228:42563/news/list.php?id=1 and 1=1_mozhe

1 and 1=1_mozhe 做AES加密,再作BASE64编码,附到地址栏传送即完成SQL注入。

4. 某实际应用URL地址参数加密

利用谷歌浏览器搜索语法,搜索URL中带有ID=1的网址。MQ==即BASE64编码后的1。

打开这些网址,发现网址格式都是类似的:

https://xxx.xxx.xxx/xxx,php?id=MQ==&name=xxx

对这样的网站进行安全检测时,注入的测试语句(Payload)也要按照网址的加密方式来。

这样的网站如果盲目用工具扫描或盲目注入,无视加密/编码方式的话,是没有用的。

所以有时找不到SQL注入点时,有可能是这方面的问题。

相关资源

在线AES加密解密、AES在线加密解密、AES encryption and decryption--查错网

首页 - Bugku CTF

超级加解密转换工具下载V2.1 绿色免费版-很牛的加解密软件西西软件下载

Discuz!/DiscuzX

BASE64转图片 - 站长工具 - 极速数据

在线开发加密解密验证工具-ME2在线工具

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值