CTF
sherlockjjobs
这个作者很懒,什么都没留下…
展开
-
BUUCTF Reverse题 不一样的flag
BUUCTF Reverse题 不一样的flag先用exeinfo判断一下,为32位,用IDA32打开,找到main,反编译:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // [esp+17h] [ebp-35h] int v4; // [esp+30h] [ebp-1Ch] int v5; // [esp+34h] [ebp-18h] signed int v6; // [esp原创 2020-12-18 14:34:33 · 1650 阅读 · 0 评论 -
BUUCTF Reverse题 reverse3
BUUCTF Reverse题 reverse3reverse3首先,exeinfoPE查看一下,32位,用IDA32打开,找main函数,F5反编译,对伪代码进行分析:__int64 __cdecl main_0(){ int v0; // eax const char *v1; // eax size_t v2; // eax int v3; // edx __int64 v4; // ST08_8 signed int j; // [esp+DCh] [ebp-ACh]原创 2020-12-18 13:20:58 · 992 阅读 · 0 评论 -
BUUCTF Reverse(xor)
BUUCTF Reverse(xor)首先用exeinfoPE判断一下,得到是64位的,没有加壳。接下来,用IDA64打开,找到main函数,F5反编译,查看伪代码:int __cdecl main(int argc, const char **argv, const char **envp){ char *v3; // rsi int result; // eax signed int i; // [rsp+2Ch] [rbp-124h] char v6[264]; // [rsp+原创 2020-12-18 11:27:36 · 870 阅读 · 0 评论 -
BUUCTF Reverse(helloworld)
BUUCTF Reverse(helloworld)题目附件下载下来之后,是.apk后缀,所以可能是安卓逆向。这里我用的工具是Android Killer,下载地址:https://xiazai.xiazaiba.com/Soft/A/AndroidKiller_1.3.1_XiaZaiBa.zip?filename=AndroidKiller_1.3.1_XiaZaiBa.zip个人觉得,此工具使用起来比其他的简单一些。用Android Killer打开文件之后,查看MainActivity,即可原创 2020-12-18 10:50:22 · 1102 阅读 · 0 评论 -
BUUCTF Reverse(reverse2, 内涵的软件, 新年快乐)
BUUCTF Reverse(reverse2, 内涵的软件, 新年快乐)reverse2这道题本质上其实和reverse1一样,也是字符的替换,将文件用IDA打开后,也是可以直接看到flag信息的,但是同样的,那也不是最终的flag,分析可得是将r和i都换为了1,即可得最终flag。详细的分析过程可以从上一篇reverse1里看,思路可以说是一模一样的内涵的软件这道题其实也是一般的思路,先用exeinfoPE看一下文件信息,判断是多少位,然后用相应的IDA打开即可看到flag信息,这道题不要多想,原创 2020-12-16 15:30:39 · 786 阅读 · 1 评论 -
BUUCTF Reverse(easyre, reverse1)
BUUCTF Reverse(easyre, reverse1)easyre这道题很简单,将文件放入exeinfoPE中看一下,是64位的,再用IDA64打开进入,直接就可以看到flag了reverse1先将文件解压,用exeinfoPE看一下是64位的,用IDA64打开,可能会看到{hello_world},但是不要急,这不是最终的flag。接着看,用F12进入String window,看看有没有跟flag相关的信息,结果看到了.rdata:0000000140019C90 00000019 C原创 2020-12-16 14:56:52 · 1385 阅读 · 0 评论 -
XCTF 攻防世界 pwn新手题(get_shell)
XCTF 攻防世界 pwn新手题(get_shell)这道题十分简单,题目描述说运行就能拿到shell,可以先用nc尝试连接一下题目场景给的地址,直接就连接上了:然后,ls,cat flag直接就可以获取到flag了原创 2020-12-14 13:28:57 · 1484 阅读 · 0 评论 -
CTF中干扰逆向分析的几种技术的介绍和解题思路
CTF中干扰逆向分析的几种技术的介绍和解题思路常见的干扰逆向分析的技术:花指令,反调试,加壳,控制流混淆,双进程保护,虚拟机保护技术1.花指令这是一种比较简单的技巧,在原始的代码中插入一段无用的,能够干扰反汇编引擎的代码解题思路:花指令主要影响的是静态分析,在IDA中,可以手动将花指令patch为nop空指令2. 反调试反调试技术是指在程序运行过程中探测其是否处于被调试状态,如果程序正处于被调试,则无法正常运行几种Linux下常见的反调试方法:利用ptracelinux下的调试主要是通过原创 2020-12-13 22:32:52 · 3117 阅读 · 8 评论 -
XCTF 攻防世界 Reverse新手题(getit)
XCTF 攻防世界 Reverse新手题(getit)首先,判断文件有没有加壳,是多少位的,利用exeinfoPE可以得知,程序并没有加壳,并且是64位的elf程序直接用IDA64打开,找到main函数,F5反编译一下:int __cdecl main(int argc, const char **argv, const char **envp){ char v3; // al __int64 v5; // [rsp+0h] [rbp-40h] int i; // [rsp+4h] [r原创 2020-12-13 16:24:05 · 1063 阅读 · 2 评论 -
XCTF 攻防世界 Reverse新手题(no-strings-attached)
XCTF 攻防世界 Reverse新手题(no-strings-attached)和之前的题目一样,先用exeinfoPE查看一下文件有没有被加壳,发现并没有加壳,并且是一个32位的elf文件接下来,直接用IDA32打开即可,先找main函数,F5反编译查看源代码:int __cdecl main(int argc, const char **argv, const char **envp){ setlocale(6, &locale); banner(); prompt_aut原创 2020-12-13 13:55:49 · 765 阅读 · 2 评论 -
XCTF 攻防世界 Reverse新手题(logmein)
XCTF 攻防世界 Reverse新手题(logmein)首先,先用exeinfoPE查看程序有无加壳,得知无壳,并且是一个elf文件,即linux下的文件利用linux的file命令来查看文件,发现是一个64位的程序接下来,直接用IDA64打开分析,找到main函数,进行反编译:void __fastcall __noreturn main(__int64 a1, char **a2, char **a3){ size_t v3; // rsi int i; // [rsp+3Ch] [原创 2020-12-12 22:26:43 · 643 阅读 · 2 评论 -
XCTF 攻防世界 Reverse新手题(open-source)
XCTF 攻防世界 Reverse新手题(open-source)这道题主要是分析代码,因为源代码已经直接给出了:#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]);原创 2020-12-12 18:39:16 · 731 阅读 · 2 评论 -
XCTF 攻防世界 Reverse新手题(Hello,CTF)
XCTF 攻防世界 Reverse新手题(Hello,CTF)首先,先利用exeinfoPE看一个附件的exe程序是多少位的,有没有加壳。发现程序是32位的,没有加壳之后便可以用IDA32打开和之前几道题的思路一样,首先还是查看main函数,将main函数进行反编译,查看源代码分析:int __cdecl main(int argc, const char **argv, const char **envp){ signed int v3; // ebx char v4; // al原创 2020-12-12 18:14:08 · 587 阅读 · 0 评论 -
XCTF 攻防世界 Reverse新手题(game)
XCTF 攻防世界 Reverse新手题(game)这道题目按照一般IDA静态分析的思路走,应该不难做出来首先,找到main函数,F5反编译一下发现main_0()函数,进入此函数,反编译一下对main_0()的代码进行分析,可以看到最后一部分的if段,当8个值都为1时,调用sub_457AB4()函数,代码如下:if ( byte_532E28[0] == 1 && byte_532E28[1] == 1 && byte_532E28[2]原创 2020-12-12 17:06:32 · 1016 阅读 · 2 评论 -
XCTF 攻防世界 Reverse 新手题(re1)
XCTF 攻防世界 Reverse 新手题(re1)re1首先,可以看到附件是一个exe程序,可以先执行一下看看(一般CTF的题目是不会有什么病毒的,如果有杀毒软件显示有木马的话,允许执行就可以了,因为目前大部分exe文件的特征码都很容易被识别)。执行完之后,若是没发现什么有用的信息,可以尝试用IDA(32)打开F5键进行反编译找到main函数的主体反编译后的源代码如下所示:int __cdecl main(int argc, const char **argv, const char **env原创 2020-12-12 15:58:19 · 872 阅读 · 2 评论 -
XCTF 攻防世界 Reverse新手题(insanity, python-trade)
XCTF 攻防世界 Reverse新手题(insanity, python-trade)1. insanity这一题十分的简单,将下载下来的附件直接用IDA打开,查看Hey-View,在最右侧一栏进行查找,大概在后半部分,可以直接看到flag2. python-trade首先,这个题目没有用到IDA,因为看到下载的附件是.pyc后缀的,是python的字节码文件,可以先尝试pyc文件反编译。有2种反编译的方法:使用在线工具:https://tool.lu/pyc/,直接将pyc文件上传,即可看原创 2020-12-12 15:42:48 · 2699 阅读 · 10 评论 -
渗透测试和CTF中SQL注入攻击
渗透测试和CTF中SQL注入攻击本文内容主要基于MySQL的注入首先,SQL注入的成因:开发人员在开发过程中,直接将URL中的参数,HTTP Body中的POST参数或其它外来的用户输入(如Cookies、User-Agent等)与SQL语句进行拼接,造成待执行的SQL语句可控,从而使我们可以执行任意SQL语句常见SQL注入的分类(1)可回显的注入联合查询注入报错注入通过注入进行DNS请求,从而达到可回显的目的(2)不可回显的注入bool盲注时间盲注(3)二次注入一般需要自己编写脚本原创 2020-12-10 15:28:10 · 594 阅读 · 0 评论 -
渗透测试和CTF Web中常用的浏览器插件
渗透测试和CTF Web中常用的浏览器插件以常用的chrome浏览器为例Developer Tools在遇到JS相关的题目的时候,可以直接在Console面板上运行JS代码XSS题目中,可以在Element面板中很方便的定位到元素的位置Hasher可以快速的计算常见哈希算法,常见加密算法,编码转换,网络地址转换,时间转换以及进制转换等功能,与burpsuite的decoder模块类似Proxy SwitchOmega代理插件,可以在多个代理配置文件之间快速切换。Burpsuite和它结合使用原创 2020-12-07 21:49:20 · 2253 阅读 · 4 评论 -
渗透测试和CTF WEB之Burpsuite使用小技巧
渗透测试和CTF WEB之Burpsuite使用小技巧Brupsuite,基于Java开发,集成了常见Web漏洞的模块Proxy模块如果仅在本机使用,将Bind to address设为Loopback only;如果要让局域网里的设备使用代理,则可以设为All interfaceRepeater模块在需要手工测试HTTP中的Cookie或User-Agent等浏览器不可修改的字段是否存在注入点,以及需要发现复杂的POST数据包中是否存在SSRF漏洞时使用Intruder模块Intruder模原创 2020-12-07 21:32:01 · 961 阅读 · 0 评论