DawgCTF wp(re和crypto)
简单写写思路,想看详解的。。我脚本有些丢失了。。师傅请移步。
挂了个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)的更多相关文章
- 第二届 BJD wp(reverse和crypto)
re 1.第一题拖入ida,flag就是直接明文摆着 2.第二题是8086的程序,拖入ida,发现有个jmp无限跳转,可能是段寄存器被修改了,ida无法将后面的汇编识别出来,所以后面才有很多无效数据, ...
- bugku crypto wp上半部分汇总
1.滴答~滴 摩斯码,在线解开. 2. 栅栏密码,在线解就出flag了. 3. Ook解密,由.?!Ook组成密文,在线网站解密 4.这不是摩斯密码 有点像jsfuck,发现又不是,因为不会出现大于号 ...
- MRCTF (re和crypto)wp
RE: 一.PixelShooter(这题比赛我居然没看,靠,血亏,所以做不出来就不要一直死怼,这题挺好写的,) unity一般是用c#写的,刚好又是apk,可以用dnspy来反编译看看,在源码中找到 ...
- BUUCTF CRYPTO部分题目wp
对密码学了解不多,做一下熟悉熟悉 1,看我回旋踢 给的密文synt{5pq1004q-86n5-46q8-o720-oro5on0417r1} 简单的凯撒密码,用http://www.zjslove. ...
- CG-CTF CRYPTO部分wp
1,easybase64解密得flag 2,keyboard键盘码,在键盘上画画得flag:areuhack 3,异性相吸根据提示,写脚本 with open('密文.txt')as a: a=a.r ...
- bugku Crypto 下半部分wp
1. 百度托马斯这个人居然还发明了一种轮转的加密法,发现原理是,他将很多行乱序的26个字母,插到一根柱子上,参考糖葫芦的样子,可以旋转每一行,设置自己要发送的明文后,向对方发送乱码的一列,对方只要将这 ...
- Wechall 部分WP
前言: 开始打CTF,掌握一些新的姿势与知识. 这里我选择的平台是Wechall.这里从简单到难 WP部分: Training: Get SourcedAnswer: 查看网页源代码 Training ...
- 护网杯圆满结束,还不满足?不如来看看大佬的WP扩展思路~
护网杯预选赛 WP转载自:https://qingchenldl.github.io/2018/10/13/%E6%8A%A4%E7%BD%91%E6%9D%AFWP-BitPwn/#more WEB ...
- BUUCTF 部分wp
目录 Buuctf crypto 0x01传感器 提示是曼联,猜测为曼彻斯特密码 wp:https://www.xmsec.cc/manchester-encode/ cipher: 55555555 ...
随机推荐
- 多边形游戏——区间dp
题目描述 多边形(Polygon)游戏是单人玩的游戏,开始的时候给定一个由N个顶点构成的多边形(图1所示的例子中,N=4),每个顶点被赋予一个整数值,而每条边则被赋予一个符号:+(加法运算)或者*(乘 ...
- 浅谈:Redis持久化机制(二)AOF篇
浅谈:Redis持久化机制(二)AOF篇 上一篇我们提及到了redis的默认持久化方式RDB,是一种通过存储快照数据方式持久化的机制,它在宕机后会丢失掉最后一次更新RDB文件后的数据,这也是由于它 ...
- Go timer 是如何被调度的?
hi,大家好,我是 haohongfan. 本篇文章剖析下 Go 定时器的相关内容.定时器不管是业务开发,还是基础架构开发,都是绕不过去的存在,由此可见定时器的重要程度. 我们不管用 NewTimer ...
- 部署TVM Runtime
部署TVM Runtime本文主要介绍如何在开发板上部署TVM Runtime, 在本地机器安装完整的TVM(包含了TVM Runtime以及编译功能), 并且使用一个简单的远程调用例子测试是否部署成 ...
- Paddle Lite端侧部署
Paddle Lite端侧部署 端侧推理引擎的由来 随着深度学习的快速发展.特别是小型网络模型的不断成熟,原本应用到云端的深度学习推理,就可以放到终端上来做,比如手机.手表.摄像头.传感器.音响,也就 ...
- TensorFlow文本情感分析实现
TensorFlow文本情感分析实现 前面介绍了如何将卷积网络应用于图像.本文将把相似的想法应用于文本. 文本和图像有什么共同之处?乍一看很少.但是,如果将句子或文档表示为矩阵,则该矩阵与其中每个单元 ...
- TensorFlow XLA加速编译器
TensorFlow XLA加速编译器 加速线性代数器(Accelerated linear algebra,XLA)是线性代数领域的专用编译器.根据 https://www.tensorflow.o ...
- Ryzen 4000'Vermeer' CPU和Radeon RX'Big Navi'图形卡
Ryzen 4000'Vermeer' CPU和Radeon RX'Big Navi'图形卡 来自中国媒体的多篇报道表明,AMD都准备在2020年第四季度初推出其下一代Ryzen 4000'Zen 3 ...
- Jmeter(五十一) - 从入门到精通高级篇 - jmeter之运动战(详解教程)
1.简介 运动战是一种军事作战方式,依托较大的作战空间来换取时间移动兵力包围敌方,以优势兵力速战速决,运动战的运用归为这样一段话"避敌主力,诱敌深入,集中优势兵力逐个击破".今天宏 ...
- Redis--狂神说Redis基础汇总(完结)
Redis--狂神说Redis基础汇总(完结) 2021.6.12-2021.6.14:端午学学玩玩弄完了Redis基础的汇总,越学越觉得自己知识量的匮乏. 参考链接:狂神说Java--Redis汇总 ...