- 博客(20)
- 收藏
- 关注
原创 xctf攻防世界parallel-comparator-200 writeup
下载查看,是个c文件,大意是输入一个字符串然后用highly_optimized_parallel_comparsion进行处理,符合条件就算成功。#include <stdlib.h>#include <stdio.h>#include <pthread.h>#define FLAG_LEN 20void * checking(void *arg) { char *result = malloc(sizeof(char)); cha..
2020-11-19 09:50:53
348
原创 xctf攻防世界dmd-50 writeup
下载附件,打开:ida64打开,得到关键字符串780438d5b6e29db0898bc4f0225935c0:int __cdecl main(int argc, const char **argv, const char **envp){ __int64 v3; // rax __int64 v4; // rax __int64 v5; // rax __int64 v6; // rax __int64 v7; // rax __int64 v8; // ra..
2020-11-12 17:34:24
450
2
原创 xctf攻防世界re-for-50-plz-50 writeup
下载查看:ida打开分析:不能f5,编码方式表示看不太懂,貌似143c处判断是否成功:在kali下运行gdb也运行不了:查了一下是mips指令集:MIPS常用指令集lb/lh/lw: 从存储器中读取一个byte/half word/word的数据到寄存器中.如lb $1, 0($2)sb/sh/sw: 把一个byte/half word/word的数据从寄存器存储到存储器中.如sb $1, 0($2)add/addu:把两个定点寄存器的内容相加add $1,$2,$...
2020-11-11 10:11:27
214
原创 xctf攻防世界Shuffle writeup
下载查看:ida打开分析:int __cdecl main(int argc, const char **argv, const char **envp){ time_t v3; // ebx __pid_t v4; // eax unsigned int v5; // ST18_4 unsigned int v6; // ST1C_4 char v7; // ST20_1 signed int i; // [esp+14h] [ebp-44h] char s; // .
2020-11-11 09:21:31
117
原创 xctf攻防世界Guess-the-Number writeup
下载附件,是一个java,用jd-gui打开:import java.math.BigInteger;public class guess { static String XOR(String _str_one, String _str_two) { BigInteger i1 = new BigInteger(_str_one, 16); BigInteger i2 = new BigInteger(_str_two, 16); BigInteger res = ..
2020-11-10 11:08:57
309
2
原创 xctf攻防世界maze writeup
下载查看:ida64打开,f5分析:输入一个24位字符串,存储到s1里,经过一系列判断处理,才能到达congratulations!__int64 __fastcall main(__int64 a1, char **a2, char **a3){ const char *v3; // rsi@2 signed __int64 v4; // rbx@4 signed int v5; // eax@5 char v6; // bp@5 char v7; // al@..
2020-11-09 10:26:00
234
原创 xctf攻防世界logmein writeup
下载查看:ida64打开,f5:大意是输入个s,然后和v8比较一下长度,小了就要执行4007c0(退出)。然后就是循环判断,s的长度还不能大于v8,那就是一样呗;接着拿s中的字符和一个算式比较,这个算式应该就是flag。void __fastcall __noreturn main(__int64 a1, char **a2, char **a3){ size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h] char s[36];..
2020-11-06 09:37:30
247
原创 xctf攻防世界csaw2013reversing2 writeup
下载文件,查看:ida打开,f5:大意是,sub_40102A或者IsDebuggerPresent这两个函数返回值有一个为1的话,程序貌似就要中断,但是最后的flag好像是固定的,也不需要输入啥的,直接setip大法:int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ int v3; // ecx CHAR *lpMem; // [esp+8h] [ebp-Ch] HA..
2020-11-05 17:15:18
267
1
原创 xctf攻防世界no-strings-attached writeup
下载,查看:ida打开,f5,一堆函数:int __cdecl main(int argc, const char **argv, const char **envp){ setlocale(6, &locale); banner(); prompt_authentication(); authenticate(); return 0;}一一进行函数分析:banner就是输出两个字符串,感觉像欢迎信息或者说明吧:int banner(){..
2020-11-05 16:45:56
269
原创 xctf攻防世界open-source writeup
下载,一段c代码,载入codeblocks分析#include <stdio.h>#include <string.h>int main(int argc, char *argv[]) { if (argc != 4) { printf("what?\n"); exit(1); } unsigned int first = atoi(argv[1]); if (first != 0xcafe) { ...
2020-11-05 15:34:55
200
原创 攻防世界Hello, CTF writeup
下载,查看:ida打开分析,f5进入伪代码:应该是一串字符串'437261636b4d654a757374466f7246756e'赋值给v13,然后输入赋值给v9,经过16进制字符串转换,v9的值就变成v10,然后和v13做对比。int __cdecl main(int argc, const char **argv, const char **envp){ signed int v3; // ebx@3 char v4; // al@4 int result; // ..
2020-11-05 11:08:26
668
原创 xctf攻防世界game writeup
下载,查看:载入ida,f5分析,发现sub_457AB4那里很可能是答案:void main_0(){ signed int i; // [esp+DCh] [ebp-20h] int v1; // [esp+F4h] [ebp-8h] sub_45A7BE(&unk_50B110); sub_45A7BE(&unk_50B158); sub_45A7BE(&unk_50B1A0); sub_45A7BE(&unk_50B1E8..
2020-11-04 16:16:33
328
原创 xctf攻防世界re1 writeup
下载查看:ida打开,注意这个要用7.0打开,6.8分析不出来:逻辑很简单,输入v9和v5比较:下断点,动态运行,我这里是记住地址,从od运行,记住只要第10行以后v5赋了值就行:断下以后,智能搜索字符串,找到flag,刚好就是v5赋值的那句:双击:其实010editor直接能搜到:...
2020-11-04 11:26:31
220
原创 xctf攻防世界python-trade writeup
下载文件,是一个pyc的文件,需要使用反编译软件:查看py文件,发现输入的字符串只要经过函数encode处理后,等于'XlNkVmtUI1MgXWBZXCFeKY+AaXNt',就算成功。反向思路编写脚本:import base64message=base64.b64decode('XlNkVmtUI1MgXWBZXCFeKY+AaXNt')flag=''for i in message: x = (ord(i) -16)^32 flag += chr(x)..
2020-11-04 10:57:02
215
原创 xctf攻防世界getit writeup
下载查看:ida64打开,f5分析:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // al@4 int result; // eax@10 __int64 v5; // rbx@10 __int64 v6; // [sp+0h] [bp-40h]@0 int i; // [sp+4h] [bp-3Ch]@7 FILE *stream; // [sp+8h] [..
2020-11-04 10:40:06
605
原创 xctf攻防世界insanity writeup
下载文件查看:用ida打开,分析发现只是对随机数做一个操作然后输出,没有输入:用010editor打开,搜索flag,发现答案:
2020-11-04 10:26:20
165
原创 xctf攻防世界simple-unpack writeup
下载附件查看,发现upx:010editor搜索flag发现:使用kali 脱壳:upx -d 847be14b3e724782b658f2dda2e8045b -o simple查看:ida64打开,f5伪代码,可以直接找到flag:双击flag:
2020-11-04 10:17:48
215
原创 xctf攻防世界logmein wirteup(使用angr)
下载查壳:ida打开,f5伪代码分析:可以看到sub_4007C0和sub_4007F0分别指向两个结果:编写angr脚本:import angrimport sysimport claripyreload(sys)sys.setdefaultencoding("utf-8")#这里修改了文件名p = angr.Project("logmein") initial_state = p.factory.entry_state()simulation = p.factor
2020-11-04 10:01:26
247
原创 kali linux下gdb安装
上网搜索了很多方法,比如那个下载7.10.1的安装包,我也弄了,但是输入所有的命令之后,有错误提示。最后还是修改软件安装包的地址和直接连接服务器安装成功。所涉及的文件:/etc/apt/sources.list# See https://www.kali.org/docs/general-use/kali-linux-sources-list-repositories/#deb http://http.kali.org/kali kali-rolling main contrib non-free
2020-11-02 11:07:00
3594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人