简单写写思路,想看详解的。。我脚本有些丢失了。。师傅请移步。

挂了个vpn,算正式打这种国际赛,全是英文。上去打了两天,昨晚晚上划水了一晚上补作业。。。,re那时候写出来三道,Potentially Eazzzy这题是真的坑,不知道是不是我环境问题,本地都过了,服务器死活过不去。。。白给了250分。第三题,讲道理很懵逼,动态进去,不知道里面函数是干啥的。。看了一下午汇编,没结果。。刚刚看了大佬的wp,发现根本没加密,要不就是一堆花指令,直接把明文,输入服务器就出来了,等下还得问问。。。,现在286名,很水,没写的题,下个星期争取搞懂,再写点难的题,打点比赛认识差距,下星期打一波基础



re:

1.



直接ida打开后,发现有一堆汇编指令是mov指令,按R,转换下,发现了flag,直接交了。

2.

这题整体逻辑挺简单了,也没花里胡哨的,直接逆着写回去,感觉之前有些逆向的算法写不出来,是我自己想的过于复杂,实际上爆破就完事了,还挺快乐.

arr=[0x41, 0xF5, 0x51, 0xD1, 0x4D, 0x61, 0xD5, 0xE9, 0x69, 0x89, 0x19, 0xDD, 0x09, 0x11, 0x89, 0xCB, 0x9D, 0xC9, 0x69, 0xF1, 0x6D, 0xD1, 0x7D, 0x89, 0xD9, 0xB5, 0x59, 0x91, 0x59, 0xB1, 0x31, 0x59, 0x6D, 0xD1, 0x8B, 0x21, 0x9D, 0xD5, 0x3D, 0x19, 0x11, 0x79, 0xDD]
i=0
j=len(arr)-1
while i<j:
arr[i],arr[j]=arr[j],arr[i]
i+=1
j-=1
v2=0
flag=[]
for i in range(43):
for z in range(256):
v2=0
for j in range(8):
if z&(1<<j):
v2|=1<<(8-j-1)
if v2==arr[i]:
flag.append(z)
print(flag)
w=""
for i in range(len(flag)):
w+=chr((~flag[i]&0xff))
print(w)



这题感觉也算白给的,一个一个的去找等式,一开始方向错了,以为要用z3,后面意识到是根据自己的邮箱来求key,就变得挺清晰的了,最后两个字母我是直接爆破了,因为逆向推出去,那两个字母只要满足了,就可以过,所以就写脚本。。脚本被我删了,因为当时本地过了,服务器过不去,M大说可能是环境问题,我就放弃了,理解题目意思还算简单的。

第一次遇到这种提交是nc连接的,后面才理解这种程序一般跑完会生成flag的文件,如果在本地就可以得出flag意味着,可以通过爆破,patch下,得到那个flag,我就这么干了,后面想了想,确实。

crypto:

1.

# -*- coding: utf-8 -*-
"""
Created for Spring 2020 CTF
Cryptography 0
10 Points
Welcome to my sanity check. You'll find this to be fairly easy.
The oracle is found at umbccd.io:13370, and your methods are:
flg - returns the flag
tst - returns the message after the : in "tst:..." @author: pleoxconfusa
""" import socket sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_address = ('crypto.ctf.umbccd.io', 13370)
sock.connect(server_address) #available methods: flg, tst. msg = 'tst:hello' sock.sendall(msg.encode())
data = sock.recv(1024)
print(data.decode()) sock.close()

看懂英文就知道了,这种和平常那种校赛不是一个东西,加密和解密的,方法就给你封装好了,理解思想就可以得到flag,还是挺友好的。

flg是返回flag的值,把程序照着样子改一下,跑就出来。

2.剩下三题,我有点忘记了,反正算简单了,看的懂英文就出来了。第4题算是学到一个AES-CBC模式,这加密是将原文分成几个块,有个初始向量,第一块和初始向量异或,再用密钥加密,第二块和第一块密文异或,再用密钥加密。

以此类推。

DawgCTF wp(re和crypto)的更多相关文章

  1. 第二届 BJD wp(reverse和crypto)

    re 1.第一题拖入ida,flag就是直接明文摆着 2.第二题是8086的程序,拖入ida,发现有个jmp无限跳转,可能是段寄存器被修改了,ida无法将后面的汇编识别出来,所以后面才有很多无效数据, ...

  2. bugku crypto wp上半部分汇总

    1.滴答~滴 摩斯码,在线解开. 2. 栅栏密码,在线解就出flag了. 3. Ook解密,由.?!Ook组成密文,在线网站解密 4.这不是摩斯密码 有点像jsfuck,发现又不是,因为不会出现大于号 ...

  3. MRCTF (re和crypto)wp

    RE: 一.PixelShooter(这题比赛我居然没看,靠,血亏,所以做不出来就不要一直死怼,这题挺好写的,) unity一般是用c#写的,刚好又是apk,可以用dnspy来反编译看看,在源码中找到 ...

  4. BUUCTF CRYPTO部分题目wp

    对密码学了解不多,做一下熟悉熟悉 1,看我回旋踢 给的密文synt{5pq1004q-86n5-46q8-o720-oro5on0417r1} 简单的凯撒密码,用http://www.zjslove. ...

  5. CG-CTF CRYPTO部分wp

    1,easybase64解密得flag 2,keyboard键盘码,在键盘上画画得flag:areuhack 3,异性相吸根据提示,写脚本 with open('密文.txt')as a: a=a.r ...

  6. bugku Crypto 下半部分wp

    1. 百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这 ...

  7. Wechall 部分WP

    前言: 开始打CTF,掌握一些新的姿势与知识. 这里我选择的平台是Wechall.这里从简单到难 WP部分: Training: Get SourcedAnswer: 查看网页源代码 Training ...

  8. 护网杯圆满结束,还不满足?不如来看看大佬的WP扩展思路~

    护网杯预选赛 WP转载自:https://qingchenldl.github.io/2018/10/13/%E6%8A%A4%E7%BD%91%E6%9D%AFWP-BitPwn/#more WEB ...

  9. BUUCTF 部分wp

    目录 Buuctf crypto 0x01传感器 提示是曼联,猜测为曼彻斯特密码 wp:https://www.xmsec.cc/manchester-encode/ cipher: 55555555 ...

随机推荐

  1. python3 smtplib发送邮件

    使用smtp包发送邮件还依赖email的一些方法 发送邮件主要分为三步: 1,定义邮箱参数:邮箱服务器地址,邮箱用户名,邮箱密码,邮件发送方,邮件接收方,邮件标题,邮件内容 2,配置发送内容 3,实例 ...

  2. logstash收集时filebeat区分日志

    logstash收集时filebeat区分日志     1.场景 filebeat在服务器中同时收集nginx和web项目日志,需要对两个日志在logstash中分别处理 2.版本区别 ==6.x之前 ...

  3. Go语言网络通信---一个简单的UDP编程

    Server端: package main import ( "fmt" "net" ) func main() { //创建udp地址 udpAddr, _ ...

  4. JMeter定时器设置延迟与同步

    JMeter定时器一般用来设置延迟与同步.它的作用域和优先级如下: 定时器的优先级高于Sampler. 在同一作用域(比如控制器下)有多个定时器存在,每个定时器都会执行. 在某一Sampler节点下的 ...

  5. Android客户端网络预连接优化机制探究

    一.背景 一般情况下,我们都是用一些封装好的网络框架去请求网络,对底层实现不甚关注,而大部分情况下也不需要特别关注处理.得益于因特网的协议,网络分层,我们可以只在应用层去处理业务就行.但是了解底层的一 ...

  6. 【NX二次开发】判断部件是否已修改(判断部件是否需要保存)UF_PART_is_modified();

    判断部件是否已修改(判断部件是否需要保存)UF_PART_is_modified(); 注意:函数需要输入原型,不要输入事例.事例转原型:UF_ASSEM_ask_prototype_of_occ() ...

  7. 【VBA】延时函数

    延时函数(单位秒),例如延时0.5秒 1 Sub 延时() 2 delay (0.5) 3 Debug.Print "延时0.5秒" 4 End Sub 5 6 Sub delay ...

  8. 如何避免Nginx将url decode

    灵感来自:https://my.oschina.net/jastme/blog/528541 这是最近玩微服务架构遇到的一个情况,因为Spring Boot 1.5的网关不支持websocket的转发 ...

  9. AVAssetWriter视频数据编码

    AVAssetWriter介绍 可以通过AVAssetWriter来对媒体样本重新做编码. 针对一个视频文件,只可以使用一个AVAssetWriter来写入,所以每一个文件都需要对应一个新的AVAss ...

  10. 安装ogg软件报错:[INS-75012]Sofware Location specified is already an existing Oracle

    1.安装ogg软件时报错: [INS-75012]Sofware Location specified is already an existing Oracle 2.根据报错,是说我们选择ogg软件 ...