蓝桥楼赛第25期-信息安全-渗透测试中的加密解密 题解

渗透测试中的加密解密

题目描述

  • 知识点
    掌握渗透测试中常用的加解密方法

密码学在网络安全中起到举足轻重的作用,无论是在 CTF 还是在渗透测试中,都经常会看到密码学的影子。因此,掌握常用加解密方法显得尤为重要。

一些常用的加密和编码方法如下:

URL 编码
HTML 编码
Unicode 编码
Base64 编码
MD5 加密
ASCII Hex
DES 加密
RSA 加密
Hash 加密
小楼偶然获得了一段神秘的代码,代码内容如下:

%4f%44%4d%30%4e%54%64%6a%4e%6a%6b%7a%5a%44%4d%7a%59%54%49%79%5a%6a%45%77%59%6d%4e%6b%4f%57%59%79%59%54%6b%30%5a%44%41%7a%4f%44%63%3d

目标

以上字符经过了多种加密或编码混淆,请你尝试还原出最初的字符串。

完成要求

新建一个 flag.txt 存放到 /home/shiyanlou/ 目录下,将还原的字符串写入 flag.txt 中,形式为 lanqiao-flag{key}。

例如,假设还原得到的字符串为 12345678,那么请在 flag.txt 中写入 lanqiao-flag{12345678},最后点击「提交检测」即可。

提示

这个字符串共用了 4 个加密或编码,分别是:

URL 编码
HTML 编码
Base64 编码
Hash(MD5)加密
你可以根据字符串特征判断加密/编码方式,并按照顺序解密吗?

来源:蓝桥(实验楼)
链接:https://www.lanqiao.cn/problems/247/learning/

解题思路

  1. 首先观察字符串为 HTML 的编码形状,利用 Pythonhtml 库解码,结果为:
    %4f%44%4d%30%4e%54%64%6a%4e%6a%6b%7a%5a%44%4d%7a%59%54%49%79%5a%6a%45%77%59%6d%4e%6b%4f%57%59%79%59%54%6b%30%5a%44%41%7a%4f%44%63%3d

    # HTML解码示例:
    import html
    str0 = "%4f%44%4d%30%4e%54%64%6a%4e%6a%6b%7a%5a%44%4d%7a%59%54%49%79%5a%6a%45%77%59%6d%4e%6b%4f%57%59%79%59%54%6b%30%5a%44%41%7a%4f%44%63%3d"
    
    html_decode = html.unescape(xxx)
    print(html_decode)
    #%4f%44%4d%30%4e%54%64%6a%4e%6a%6b%7a%5a%44%4d%7a%59%54%49%79%5a%6a%45%77%59%6d%4e%6b%4f%57%59%79%59%54%6b%30%5a%44%41%7a%4f%44%63%3d
    

    HTML 编码特征
    SGML 类语言的转义序列(escape sequence)
    numeric character reference(NCR)以 &#x开头的后接十六进制数字。

  2. 观察编码,具有 URL 的特征,利用Python解之,结果为:ODM0NTdjNjkzZDMzYTIyZjEwYmNkOWYyYTk0ZDAzODc=

    # URL解码示例:
    import urllib.parse
    url_decode = urllib.parse.unquote(html_decode)
    print(url_decode)
    # ODM0NTdjNjkzZDMzYTIyZjEwYmNkOWYyYTk0ZDAzODc=
    

    URL 编码特征
    URL 编码使用 “%” 其后跟随两位的十六进制数来替换非 ASCII 字符。
    URL 不能包含空格。URL 编码通常使用 + 来替换空格。

  3. 很容易识别,获得结果:83457c693d33a22f10bcd9f2a94d0387

     	import base64
     	print(base64.b64decode(result))
     	# 83457c693d33a22f10bcd9f2a94d0387
    

    BASE64 编码特征
    64个字符 - 小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/",与结尾典型符号=组成。

  4. 利用 md5 解密网站破解 md5.tellyou, md5 cracker

  5. 最终解:lanqiao-flag{youarewelcome}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Spaceack

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

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

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

打赏作者

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

抵扣说明:

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

余额充值