记一次ctf比赛解密题的解决(可逆加密基本破解之暴力破解)
题目是这个样子的:

code.txt的内容是这样:

有点吓人木?233333
其实解密之后是这样的:

找到一点安慰没?
好了,废话不多说。讲解一下思路吧。
我们知道base64加密是属于可逆加密的。简单点说,就是前后可以互逆。依据某种算法可以计算得出。
那么破解方法呢,就是直接用对应算法破解咯。那么话说到这里不是废话吗?
不要着急,我们来看题。

加密的部分是那个for循环里边的东西。
随机从base16,base32,base64中选择一种加密。然后进行10轮。
既然是随机的,那么问题来了,到底应该每轮是哪种加密呢?
你问我?我怎么知道!!!不是说了丧心病狂嘛!!!
但是呢,python在手嘛,不用怕咯。
我们考虑到两个循环的,第一个是
for i in range(10):
for k in num:
try:
flag_content = result[k](flag_content)
if flag_content:
break
else:
continue
except:
pass
这里需要解释的地方是循环控制?如果解密成功那个跳过这次,继续下一轮。否则呢继续来呗。
很简单吧。
接着呢。把函数写出来。这里我直接把题目中的拿来了。23333
所以最后的代码是这样的。
#!/usr/bin/env python
# -*- coding:utf-8 -*- from base64 import * result = {
'':lambda x :b16decode(x),
'':lambda x :b32decode(x),
'':lambda x :b64decode(x),
} flag = open('code.txt','r')
flag_content = flag.read()
# print flag_content num = ('','','') for i in range(10):
for k in num:
try:
flag_content = result[k](flag_content)
if flag_content:
break
else:
continue
except:
pass with open("final_flag.txt","wb") as final_flag:
final_flag.write(flag_content)
这里重在和大家分享这种方法。如果大家有更好的方案。请在下方留言。
记一次ctf比赛解密题的解决(可逆加密基本破解之暴力破解)的更多相关文章
- 记一次CTF比赛过程与解题思路-MISC部分
前言 最近好久没更新博客和公众号了,有朋友问是不是在憋大招,但我不好意思说其实是因为最近一段时间太懒了,一直在当咸鱼- 意识到很久没更新这个问题,我是想写点什么的,但好像一直当咸鱼也没啥可分享的,最近 ...
- 记一次CTF的签到题
开篇 打开题目网站 首先看到的是一个人博客,功能点非常少,功能较多的页面就是留言板了 一开始没啥思路,就想着抓包能不能找到SQL注入无果,在这个地方卡了很久 柳暗花明 在乱点的时候,无意中发现题目中的 ...
- CSDN挑战编程——《金色十月线上编程比赛第二题:解密》
金色十月线上编程比赛第二题:解密 题目详情: 小强是一名学生, 同一时候他也是一个黑客. 考试结束后不久.他吃惊的发现自己的高等数学科目竟然挂了,于是他果断入侵了学校教务部站点. 在入侵的过程中.他发 ...
- 【CTF 攻略】CTF比赛中关于zip的总结
[CTF 攻略]CTF比赛中关于zip的总结 分享到: --> 本文首发于安全客,建议到原地址阅读,地址:http://bobao.360.cn/ctf/detail/203.html 前言 ...
- i春秋CTF-“百度杯”CTF比赛 九月场 XSS平台
“百度杯“CTF比赛 九月场 ###XSS平台 看了别人的wp才知道这里需要变数组引起报错然后百度信息收集,这一步在实战中我觉得是很有作用的,get到. 这里取百度rtiny,看别人w ...
- [i春秋]“百度杯”CTF比赛 十月场-Hash
前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash 如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...
- 如何开始你的CTF比赛之旅-网站安全-
在过去的两个星期里,我已经在DEFCON 22 CTF里检测出了两个不同的问题:“shitsco ”和“ nonameyet ”.感谢所有 的意见和评论,我遇到的最常见的问题是:“我怎么才能在CTFs ...
- ctf比赛linux文件监控和恢复shell
之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){ for el ...
- "百度杯"CTF比赛 十月场——EXEC
"百度杯"CTF比赛 十月场--EXEC 进入网站页面 查看源码 发现了vim,可能是vim泄露,于是在url地址输入了http://21b854b211034489a4ee1cb ...
随机推荐
- rosbag数据记录及转换图片、视频
博客转载自: https://blog.csdn.net/u012706484/article/details/78495896 rosbag常见的使用参数和配置 1.查看.bag中包含的信息 : r ...
- C# 用代码返回上一页
若我们在后台.cs文件中想做到让浏览器返回上一页,我们可以在.cs代码中这样写 Page.ClientScript.RegisterStartupScript(Page.GetType(), &quo ...
- 如何获取.properties配置文件
如何获取.properties配置文件 分析思路: 先使用流和文件关联,即读取文件 再读取文件内容,一行一行读取 字符分割“=” 键值对 然后把键值对放到集合中去 但是Properties类里面有方 ...
- 现代C++学习笔记之一资料篇(C++ 11)
最近看网上一些开源的源代码,发现尽多不认识的符号,好吧.开始学习新的C++. C++经典书籍 C++ Primer,第五版开始有了对C++ 11的讲解 C++ Primer Plus,第六版有对C++ ...
- 分组背包----HDU1712 ACboy needs your help
很简单的一道分组背包入门问题.不多解释了. #include <iostream> #include <cstdio> #include <cstring> usi ...
- DELPHI XE5 跨平台 Form ShowModal 官方示例
Calling ShowModal as an Anonymous Method on All Platforms procedure THeaderFooterForm.btnPickClick(S ...
- AES加密 AESCrypt 类
/// <summary> /// AES加密 /// </summary> public sealed class AESCrypt { /// <summary> ...
- HTML 5与CSS 3权威指南(第2版·上册) 中文pdf扫描版
HTML5与CSS3权威指南(第2版·上册)已经成为HTML 5与CSS 3图书领域的一个标杆,被读者誉为“系统学习HTML 5与CSS 3技术的最佳指导参考书之一”和“Web前端工程师案头必备图书之 ...
- [.net 多线程]Mutex
Mutex是可以进程间同步的同步基元. 名称 说明 Mutex() 使用默认属性初始化 Mutex 类的新实例. Mutex(Boolean) 使用 Boolean 值(指示调用线程是否应具有互斥 ...
- Topshelf + Quartz2.5 创建基于windows服务
1.创建一个定时调度Quartz类 using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; u ...