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 ...
随机推荐
- 利用js判断文件是否为utf-8编码
常规方案 使用FileReader以utf-8格式读取文件,根据文件内容是否包含乱码字符�,来判断文件是否为utf-8. 如果存在�,即文件编码非utf-8,反之为utf-8. 代码如下: const ...
- Hadoop 基石HDFS 一文了解文件存储系统
@ 目录 前言:浅谈Hadoop Hadoop的发展历程 1.1 Hadoop产生背景 1.引入HDFS设计 1.1 HDFS主要特性 2.HDFS体系结构 HDFS工作流程机制 1.各个节点是如何互 ...
- 《精通 ASP.NET Core MVC (第七版)》开始发售
学习 Web 开发技术很难吗?没有适合的学习资料,确实很枯燥,很难.如果有一本如同良师益友的优秀图书辅助,就很轻松,一点也不难! 对于优秀的技术图书来说,必须从读者的角度来编写,而不是从作者的角度来编 ...
- Spring如何使用三级缓存解决循环依赖
Spring如何使用三级缓存解决循环依赖 首先来了解一下什么是循环依赖 @Component public class A { @Autowired B b; } @Component public ...
- Redis系列(四):地理信息
除了Bitmaps和HyperLogLog,Redis还提供了关于地理空间的相关操作,主要是经纬度.Redis提供的地理信息操作是有误差的,最大误差可能会达到5%.Redis提供的Geo的操作如下: ...
- 虹软人脸识别SDK接入Milvus实现海量人脸快速检索
一.背景 人脸识别是近年来最热门的计算机视觉领域的应用之一,而且现在已经出现了非常多的人脸识别算法,如:DeepID.FaceNet.DeepFace等等.人脸识别被广泛应用于景区.客运.酒店.办公室 ...
- 详细了解 Linkerd 2.10 基础功能,一起步入 Service Mesh 微服务架构时代
Linkerd 提供了许多功能,如:自动 mTLS.自动代理注入.分布式追踪.故障注入.高可用性.HTTP/2 和 gRPC 代理.负载均衡.多集群通信.重试和超时.遥测和监控.流量拆分(金丝雀.蓝/ ...
- UF_PART 部件操作
Open C uc5000 uc5001uc5003UF_PART_add_to_recent_file_listUF_PART_apply_family_instanceUF_PART_ask_co ...
- 【VBA】字符串处理
InStr 函数:查找字符串 1 Sub InStr函数() 2 Dim strTemp As String 3 strTemp = "=AAA=BBB=C" 4 Debug.Pr ...
- Docker 版 3分钟部署 .net core 开源在线客服系统,他来了
我在博客园发表了一系列文章,开始介绍基于 .net core 的在线客服系统开发过程. 前些天又应朋友的要求,发了一篇 CentOS 版本的安装部署教程:https://www.cnblogs.com ...