题目是这个样子的:

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比赛解密题的解决(可逆加密基本破解之暴力破解)的更多相关文章

  1. 记一次CTF比赛过程与解题思路-MISC部分

    前言 最近好久没更新博客和公众号了,有朋友问是不是在憋大招,但我不好意思说其实是因为最近一段时间太懒了,一直在当咸鱼- 意识到很久没更新这个问题,我是想写点什么的,但好像一直当咸鱼也没啥可分享的,最近 ...

  2. 记一次CTF的签到题

    开篇 打开题目网站 首先看到的是一个人博客,功能点非常少,功能较多的页面就是留言板了 一开始没啥思路,就想着抓包能不能找到SQL注入无果,在这个地方卡了很久 柳暗花明 在乱点的时候,无意中发现题目中的 ...

  3. CSDN挑战编程——《金色十月线上编程比赛第二题:解密》

    金色十月线上编程比赛第二题:解密 题目详情: 小强是一名学生, 同一时候他也是一个黑客. 考试结束后不久.他吃惊的发现自己的高等数学科目竟然挂了,于是他果断入侵了学校教务部站点. 在入侵的过程中.他发 ...

  4. 【CTF 攻略】CTF比赛中关于zip的总结

    [CTF 攻略]CTF比赛中关于zip的总结   分享到: --> 本文首发于安全客,建议到原地址阅读,地址:http://bobao.360.cn/ctf/detail/203.html 前言 ...

  5. i春秋CTF-“百度杯”CTF比赛 九月场 XSS平台

    “百度杯“CTF比赛 九月场 ###XSS平台   看了别人的wp才知道这里需要变数组引起报错然后百度信息收集,这一步在实战中我觉得是很有作用的,get到.       这里取百度rtiny,看别人w ...

  6. [i春秋]“百度杯”CTF比赛 十月场-Hash

    前言 涉及知识点:反序列化.代码执行.命令执行 题目来自:i春秋 hash  如果i春秋题目有问题可以登录榆林学院信息安全协会CTF平台使用 或者利用本文章提供的源码自主复现 [i春秋]"百 ...

  7. 如何开始你的CTF比赛之旅-网站安全-

    在过去的两个星期里,我已经在DEFCON 22 CTF里检测出了两个不同的问题:“shitsco ”和“ nonameyet ”.感谢所有 的意见和评论,我遇到的最常见的问题是:“我怎么才能在CTFs ...

  8. ctf比赛linux文件监控和恢复shell

    之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){    for el ...

  9. "百度杯"CTF比赛 十月场——EXEC

    "百度杯"CTF比赛 十月场--EXEC 进入网站页面 查看源码 发现了vim,可能是vim泄露,于是在url地址输入了http://21b854b211034489a4ee1cb ...

随机推荐

  1. rosbag数据记录及转换图片、视频

    博客转载自: https://blog.csdn.net/u012706484/article/details/78495896 rosbag常见的使用参数和配置 1.查看.bag中包含的信息 : r ...

  2. C# 用代码返回上一页

    若我们在后台.cs文件中想做到让浏览器返回上一页,我们可以在.cs代码中这样写 Page.ClientScript.RegisterStartupScript(Page.GetType(), &quo ...

  3. 如何获取.properties配置文件

    如何获取.properties配置文件 分析思路: 先使用流和文件关联,即读取文件 再读取文件内容,一行一行读取 字符分割“=”  键值对 然后把键值对放到集合中去 但是Properties类里面有方 ...

  4. 现代C++学习笔记之一资料篇(C++ 11)

    最近看网上一些开源的源代码,发现尽多不认识的符号,好吧.开始学习新的C++. C++经典书籍 C++ Primer,第五版开始有了对C++ 11的讲解 C++ Primer Plus,第六版有对C++ ...

  5. 分组背包----HDU1712 ACboy needs your help

    很简单的一道分组背包入门问题.不多解释了. #include <iostream> #include <cstdio> #include <cstring> usi ...

  6. DELPHI XE5 跨平台 Form ShowModal 官方示例

    Calling ShowModal as an Anonymous Method on All Platforms procedure THeaderFooterForm.btnPickClick(S ...

  7. AES加密 AESCrypt 类

    /// <summary> /// AES加密 /// </summary> public sealed class AESCrypt { /// <summary> ...

  8. HTML 5与CSS 3权威指南(第2版·上册) 中文pdf扫描版​

    HTML5与CSS3权威指南(第2版·上册)已经成为HTML 5与CSS 3图书领域的一个标杆,被读者誉为“系统学习HTML 5与CSS 3技术的最佳指导参考书之一”和“Web前端工程师案头必备图书之 ...

  9. [.net 多线程]Mutex

    Mutex是可以进程间同步的同步基元.   名称 说明 Mutex() 使用默认属性初始化 Mutex 类的新实例. Mutex(Boolean) 使用 Boolean 值(指示调用线程是否应具有互斥 ...

  10. Topshelf + Quartz2.5 创建基于windows服务

    1.创建一个定时调度Quartz类 using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; u ...