[盟军密码|30分]
二战时盟军截获德军一段密码,密文为:0000011000000000101010110111000011000111100011110001001100111000111001(密钥:helloworld),你可能会解出一个keyxxxxx的答案,请在y后面加{,结尾加},答案的格式是key{xxxxx},所以答案是

二战时德军使用过的一种密码,其实是利用了二进制的表示法来替代字母,也称为“费娜姆密码”
A 1000001                       B 1000010                     C 1000011                      D 1000100
E 1000101                       F 1000110                      G 1000111                      H 1001000
I 1001001                        J 1001010                      K 1001011                       L 1001100
M 1001101                      N 1001110                      O 1001111                      P 1010000
Q 1010001                      R 1010010                      S 1010011                      T 1010100
U 1010101                      V 1010110                      W 1010111                      X 1011000
Y 1011001                      Z 1011010

0000011   H1001000=1001011K
0000000   E1000101=1000101E
0010101   L1001100=1011001Y
0110111   L1001100=1111011{
0000110   O1001111=1001001I
0011110   W1010111=1001001I
0011110   O1001111=1010001Q
0010011   R1010010=1000001A
0011100   L1001100=1010000P
0111001   D1000100=1111101}

key{iiqap}

[我来征服|30分]
我来,我见,我征服,d5Y8h5Xz]ZH7\Wok\Z\8PmUkPJYlQ5IkQmf4P}n}]m\5P}EkiT@@,答案就在这个密文里,答案的格式是key{xxxxx},所以答案是
key{e0ea8a9aaf924a0eb7aa675393f6630a}

import base64
import StringIO
lstr="d5Y8h5Xz]ZH7\Wok\Z\8PmUkPJYlQ5IkQmf4P}n}]m\5P}EkiT@@"
lstr="a2V5e2UwZWE4YTlhYWY5MjRhMGViN2FhNjc1MzkzZjY2MzBhfQ=="
str2=''
for i in lstr:
        temp=chr((ord(i)-3)%128)
        str2=str2+temp
print(lstr)
print(str2)
print base64.decodestring(str2)

[小明入侵|30分]
小明入侵网站后获得了管理员的密文,由于太高兴了手一抖把密文删除了一部分,只剩下前10位e5a14523c0,小明根据社工知道管理员的密码习惯是key{4位的数字或字母}
,所以管理员的密码是
key{mnwt}

import base64
import StringIO
import hashlib   

seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

def get_pwd(str, num):  
        if(num == 1):  
            for x in str:  
                yield x  
        else:  
            for x in str:  
                for y in get_pwd(str, num-1):  
                    yield x+y  

strKey="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" 
for x in get_pwd(strKey,4):  
    stra="key{"+x+"}"
    m2 = hashlib.md5()
    m2.update(stra) 
    stra2=m2.hexdigest()
    if (cmp(stra2[:10],'e5a14523c0')==0):
        print(stra)
        break

[这是什么|30分]
我是什么,答案就在这个图片里,
http://ncstatic.oss-cn-hangzhou.aliyuncs.com/dianxin/06/img/78/78.jpg

答案的格式是key{xxxxx},所以答案是

print chr(107)+chr(101)+chr(121)+chr(123)+chr(99)+chr(108)+chr(108)+chr(98)+chr(111)+chr(74)+chr(55)+chr(104)+chr(103)+chr(106)+chr(125)

key{cllboJ7hgj}

[海贼王|30分]
这里有很多海贼王的图片,挑一张吧,
http://ncstatic.oss-cn-hangzhou.aliyuncs.com/activity/0327dianxin/onepiece25.zip
点击下载海贼王,答案的格式是key{xxxxx},所以答案是
binwalk foremost steghide stegdetect
find . -name "." | xargs grep "key{"

key{CU5e6arJ2q78eLgbOo9dhNSzxkWiQIWS}

[找鼹鼠|50分]
答案就在这个文件里,http://ncstatic.oss-cn-hangzhou.aliyuncs.com/dianxin/067/98207.zip
点击下载,答案的格式是key{xxxxx},所以答案是

key{Hhe80fr80afevgfrvgr}

[我心依旧|50分]
答案就在这首歌里,href="http://ncstatic.oss-cn-hangzhou.aliyuncs.com/dianxin/05/1.mp3"点击下载我心依旧,答案格式为key{xxx},所以答案是

二进制打开1.mp3,搜索pass,注意误区

key{efrgrh48q4g5gh44q4fhfgg}

[EXE逆向|50分]
答案就在这里,href="http://ncstatic.oss-cn-hangzhou.aliyuncs.com/dianxin/789/7abd.zip"点击下载,答案格式为

KEY:{ANYUN0_md57e0cad17016b0>?45?f7c>0>4a>1c3a0}

import os
bb={0x4e,0x74,0x57,0x47,0x79,0x3b,0x32}
for i in bb:
    sys.stdout.wtire(chr(i^7))
bb={0x63,0x58,0x6e,0x46,0x61,0x50}
for i in bb:
      sys.stdout.wtire(chr(i^0x33))
IsP@~<5Pk]uRc

  

s

[APK逆向|50分]
答案就在这里,http://ncstatic.oss-cn-hangzhou.aliyuncs.com/dianxin/789/8kfe.apk
点击下载,答案格式为KEY{xxx},所以答案是

KEY{Q1ul3lsR0ghS1}

[EXE2逆向|50分]
答案就在这里,http://ncstatic.oss-cn-hangzhou.aliyuncs.com/dianxin/789/99dkae.zip
点击下载,答案格式为KEY{xxx},所以答案是

对于byte_415768,指向

及取V27[0]=
import sys
code=(1,4,14,10,5,36,23,42,13,19,28,13,27,39,48,41,42)
str="KfxEeft}f{gyrYgthtyhifsjei53UUrrr_t2cdsef66246087138\0087138"
for i in range (0,17):
    sys.stdout.write(str[code[i]-1])

对于
查49,48,50,52,125对应的ASCII码为’1’,’0’,’2’,’4’,’}’,显然是字符串“1024}”

KEY{e2s6ry3r5s8f61024}

中国电信线CTF线下选拨writeup的更多相关文章

  1. CTF线下赛AWD套路小结

    近打了2场CTF线下赛,把AWD模式中的一些小套路做一些总结,本人web狗,二进制部分就不班门弄斧了. 一. AWD模式简介 AWD:Attack With Defence,比赛中每个队伍维护多台服务 ...

  2. CTF线下防御战 — 让你的靶机变成“铜墙铁壁”

    本文首发安全客,未经允许禁止转载.原文链接 一. 前言 随着CTF的普及,比赛的形式也有了越来越多的花样,对于线下赛来说,开始出现了安全加固或者防御战之类的环节,亦或者因为拿下靶机后不希望其他攻击者进 ...

  3. CTF线下赛AWD模式下的生存技巧

    作者:Veneno@Nu1L 稿费:200RMB 投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿 原文:https://www.anquanke.com/post/id/8467 ...

  4. ctf线下赛中检测外来IP的shell脚本

    该脚本可用于ctf线下赛中,用来检测攻击IP的接入,及时做出响应. #!/bin/bash #写自己队的ip ipA="172.22.60.230" ipB="172.2 ...

  5. CTF线下awd攻防文件监控脚本

    CTF线下awd攻防赛中常用一个文件监控脚本来保护文件,但是就博主对于该脚本的审计分析 发现如下的问题: 1.记录文件的路径未修改导致log暴露原文件备份文件夹:drops_JWI96TY7ZKNMQ ...

  6. 20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

    20175312 2018-2019-2 <Java程序设计>第6周课下选做--类定义 设计思路 1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然 ...

  7. 2017-2018-2 20165312 课下选做 MySort

    2017-2018-2 20165312 课下选做 MySort 题目描述 模拟实现Linux下Sort -t : -k 2的功能,参考 Sort的实现. import java.util.*; pu ...

  8. PCB Genesis加邮票孔(线与线)实现算法

    一.Genesis加邮票孔(线与线)实现算法 1.鼠标点击位置P点, 2.通过P点求出,垂足2个点:P1C与P2C (两个点即距离2条线段垂直的垂足点) 3.计算P1C到P2C方位角(假设置为变量PA ...

  9. 课下选做作业实现mypwd

    2019-2020-1 20175227 <信息安全系统设计基础> 课下选做作业实现mypwd 要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 ...

随机推荐

  1. HDU 2830 Matrix Swapping II (预处理的线性dp)

    Matrix Swapping II Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  2. 安装10gR2的硬件要求

    1.至少1G的RAM. 2.RAM与swap关系: RAM                    swap 512M以上           2*RAM   (非常奇怪.至少1G的RAM.还写512的 ...

  3. Spring注解@RequestMapping请求路径映射问题

    @RequestMapping请求路径映射,假设标注在某个controller的类级别上,则表明訪问此类路径下的方法都要加上其配置的路径.最经常使用是标注在方法上.表明哪个详细的方法来接受处理某次请求 ...

  4. python中获取当前路径【os模块】

    本机windows,文件目录F:\python\ClStudyDemo\osTest.py os.path.realpath(_file_)——返回真实路径 os.path.split()——返回路径 ...

  5. Android——build.prop 解析【转】

    本文转载自:http://blog.csdn.net/lengyue1084/article/details/77637354 一.概念 在Android设备shell终端可以看到/system目录下 ...

  6. 南海区行政审批管理系统接口规范v0.3(规划) 2.业务申报API 2.1.businessApply【业务申报】

    {"v_interface":"2015987654327","c_project":"NH09A102"," ...

  7. docker(部署常见应用):docker部署redis

    上节回顾:docker(部署常见应用):docker部署mysql docker部署redis:4.0 # 下载镜像 docker pull redis:4.0 # 查看下载镜像 docker ima ...

  8. 11g Rac PSU20180116手动补丁升级步骤

    手动升级:软件包解压在新建的/home/grid/update 目录下ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1GRID_HOME=/u01 ...

  9. Python的filter与map内置函数

    简单的记录下这两个函数的功能: list(filter(lambda x : x % 2, range(10))) 上例是返回了0-10之间的所有基数组成的列表.filter()有2个参数,第一个参数 ...

  10. BZOJ 1441 裴蜀定理

    思路: 若a,b是整数,且(a,b)=d,那么对于任意的整数x,y,ax+by都一定是d的倍数,特别地,一定存在整数x,y,使ax+by=d成立. 它的一个重要推论是:a,b互质的充要条件是存在整数x ...