ctf
wallacegen
这个作者很懒,什么都没留下…
展开
-
“百度杯”CTF比赛 九月场-web-Code
i春秋平台上有环境打开之后是一张图片,查看网页源码,发现图片的src后面跟了一大堆base64,这种格式在Data URI scheme有规定。关于Data URI scheme,可参考这篇文章图片的base64不用拿出去解码,因为是图片的二进制表示,所以解码也没有意义。既然请求可以获取图片,这有点像ssrf,那么能不能请求一些敏感的文件呢?首先请求index.php,?jpg=index.php,发现是有数据的,base64解码得到如下代码,注释如下<?php/** * Create原创 2021-05-30 14:32:27 · 244 阅读 · 1 评论 -
攻防世界WP-crypto-ISCC-2017-告诉你个秘密
附件是一个txt文档,里面的内容是636A56355279427363446C4A49454A7154534230526D6843 56445A31614342354E326C4B4946467A5769426961453067一看是十六进制,先转成ASCII码a = [0x63,0x6A,0x56,0x35,0x52,0x79,0x42,0x73,0x63,0x44,0x6C,0x4A,0...原创 2020-04-26 09:32:53 · 735 阅读 · 0 评论 -
攻防世界WP-reverse-湖湘杯2018-Replace
首先查壳,upx壳,直接upx -d脱掉。放入ida,查看伪代码,结构比较简单就不多说了。关键是下面这个函数,return 1,则成功。signed int __fastcall sub_401090(int a1, int a2){ int v2; // ebx int v4; // edx char v5; // al int v6; // esi int v7; ...原创 2020-04-25 11:46:10 · 4731 阅读 · 0 评论 -
攻防世界WP-reverse-school-ctf-winter-2015-parallel-comparator-200
这个题目直接给了C的源码,引入了pthread.h库,所以我们在linux下编译运行。gcc test.c -o test -lpthread其实编译运行也行。直接看源码。#include <stdlib.h>#include <stdio.h>#include <pthread.h>#define FLAG_LEN 20void * chec...原创 2020-04-23 15:29:16 · 196 阅读 · 0 评论 -
攻防世界WP-reverse-school-ctf-winter-2015-simple-check-100
内有三个文件,一个exe,两个elf。其中exe有坑,ida伪代码后有一个参数和解md5有关,但是又解不出来。所以直接看elf文件。关键函数为interesting_function((__int64)&v7);int __fastcall interesting_function(__int64 a1){ int *v1; // rax unsigned int v3; /...原创 2020-04-20 09:54:13 · 312 阅读 · 0 评论 -
攻防世界WP-reverse-alexctf-2017-re2-cpp-is-awesome
废话不多说,无壳直接拖入IDA。关键代码 for ( i = std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char>>::begin(&v11); ; sub_400D7A(&i) ) { v13 = std::__cxx11::bas...原创 2020-04-19 09:43:37 · 226 阅读 · 0 评论 -
攻防世界WP-reverse-tinyctf-2014-tt3441810
可以看到是一个plain text。用ue打开然后看看这些数对应的ASCII码是多少。a = [0x68,0x66,0x6C,0x00,0x00,0x48,0xBF,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,0x8D,0x34,0x24,0x48,0xBA,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x48,...原创 2020-04-19 09:21:01 · 395 阅读 · 1 评论 -
攻防世界WP-reverse-BUUCTF-2019-Mysterious
直接看伪代码GetDlgItemTextA(hWnd, 1002, &String, 260); strlen(&String); if ( strlen(&String) > 6 ) ExitProcess(0); v10 = atoi(&String) + 1; if ( v10 == 12...原创 2020-04-18 16:17:22 · 656 阅读 · 0 评论 -
攻防世界WP-reverse-re1-100
ELF文件。F5查看伪代码(感觉没有伪代码就不行关键的地方贴出来。if ( numRead ) { if ( childCheckDebugResult() ) { responseFalse(); } else if ( bufParentRead[0] == 123 ) { ...原创 2020-04-18 10:42:07 · 224 阅读 · 0 评论 -
Base64编码与解码(含C++代码)
上午做了一个逆向的题目,有一个函数看了半天没看明白,后来一查WP,才知道是BASE64解码。所以将BASE64编码与解码的过程自己整理整理。Base64编码与解码编码原理C++代码实现编码原理比如我们需要对字符串abcd进行BASE64编码,我们可以直接搜索一个编码网站,得出结果是YWJjZA==。下面我们看看具体算法是如何操作的。首先将abcd转成ASCII码对应的二进制表示形式...原创 2020-04-17 10:10:43 · 1260 阅读 · 0 评论 -
攻防世界WP-reverse-suctf-2016-srm-50
这个题目很简单直接贴上部分伪代码GetDlgItemTextA(hDlg, 1001, &String, 256); GetDlgItemTextA(hDlg, 1002, v11, 256); if ( strstr(&String, "@") && strstr(&String, ".") && strstr(&Str...原创 2020-04-16 10:14:45 · 202 阅读 · 0 评论 -
攻防世界WP-reverse-Reversing-XCTF 3rd-GCTF-2017-hackme
其他的不说了,查看伪代码__int64 sub_400F8E(){ char v1[136]; // [rsp+10h] [rbp-B0h] int v2; // [rsp+98h] [rbp-28h] char v3; // [rsp+9Fh] [rbp-21h] int v4; // [rsp+A0h] [rbp-20h] unsigned __int8 v5; // ...原创 2020-04-15 17:53:08 · 322 阅读 · 0 评论 -
攻防世界WP-reverse-Reversing-x64Elf-100
无壳,64位elf程序。直接拖入IDA。发现Nice字符串,双击进去。F5查看伪代码。signed __int64 __fastcall main(__int64 a1, char **a2, char **a3){ signed __int64 result; // rax char s; // [rsp+0h] [rbp-110h] unsigned __int64 v5; /...原创 2020-04-15 11:13:11 · 211 阅读 · 0 评论 -
攻防世界WP-reverse-getitcsaw2013reversing2
打开之后弹乱码第一步还是查壳,没有。第二步拖入IDA,直接看伪代码吧int __cdecl __noreturn main(int argc, const char **argv, const char **envp){ int v3; // ecx CHAR *lpMem; // [esp+8h] [ebp-Ch] HANDLE hHeap; // [esp+10h] [eb...原创 2020-04-14 11:45:02 · 156 阅读 · 0 评论 -
攻防世界WP-reverse-SharifCTF 2016-getit
这个题目也属于新手入门区,但是卡在一个地方不懂,就是伪代码中的几个参数,后来去看别人的WP,才知道。如下所示:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // al __int64 v5; // [rsp+0h] [rbp-40h] int i; // [rsp+4h] [rb...原创 2020-04-14 09:01:11 · 426 阅读 · 0 评论 -
攻防世界WP-reverse-RC3 CTF 2016-logmein
logmein直接看算法注意代码直接看算法因为比较简单所以我们直接看F5后的伪代码void __fastcall __noreturn main(__int64 a1, char **a2, char **a3){ size_t v3; // rsi int i; // [rsp+3Ch] [rbp-54h] char s[36]; // [rsp+40h] [rbp-50h]...原创 2020-04-13 10:59:28 · 403 阅读 · 0 评论 -
攻防世界WP-reverse-simple-unpack
这个比较简单就简单写点吧第一步还是查壳upx壳,在upx的官网下载程序,然后程序里面附有文档。用upx -d来脱壳。脱壳完成之后拖入IDA,flag字符串能够直接看到。没了。...原创 2020-04-13 09:47:54 · 868 阅读 · 0 评论 -
攻防世界WP-reverse-SHCTF-2017-crackme
SHCTF-2017-crackme1.查壳2.用OD脱壳3.找到算法4.写解密程序总结1.查壳发现是nsPack壳,这个脱壳的原理我不是很清楚,照着网上一步步做就成功了,具体细节以后再研究。2.用OD脱壳网上说的ESP定律什么的,下硬件断点,F5,来到这里这个地方有点没搞清楚的是,OEP为什么在第一个JMP之后,也就是图中00401336的位置。注意,下面的操作是错误的,我开始看到了p...原创 2020-04-11 11:23:36 · 508 阅读 · 0 评论 -
攻防世界WP-reverse-IgniteMe
菜鸡刚学reverse,欢迎高手拍砖。也算是第一次真正做这类的题目,把wp写下来。这是一道攻防世界的re题目。题目地址第一步,首先看这个程序有没有加壳,拖入exeinfope,知道 Not packed。第二步,拖入IDA,直接shift+f12我们从Congratulations!字符串点进去。然后ctrl+x,查看交叉引用。3.F5大法F5直接查看伪C代码,这一步就是看看算...原创 2020-04-02 18:11:01 · 327 阅读 · 0 评论