pwnable.kr-flag

题目描述:

Papa brought me a packed present! let’s open it.

Download : http://pwnable.kr/bin/flag

This is reversing task. all you need is binary

下载下来之后file一下:

➜ Desktop file flag

flag: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), statically linked, stripped

64位的ELF,直接拖到IDA里面看看,发现只有三个函数,而且并不能正常打开,目测是加壳了。于是在里面瞎翻,发现了upx的关键字,果断upx -d flag把壳脱了。重新拖进IDA,发现代码很简单:

int __cdecl main(int argc, const char **argv, const char **envp)
{
  __int64 v3; // rax@1

  puts("I will malloc() and strcpy the flag there. take it.", argv, envp);
  LODWORD(v3) = malloc(100LL);
  sub_400320(v3, flag);
  return 0;
}

malloc申请了一个100LL的地址,然后把flag复制进去了,直接查看flag的值,发现直接出现flag了:

UPX…? sounds like a delivery service 🙂

最近的文章

gdb peda常用指令

info查看各种信息:info file  查看当前文件的信息,例如程序入口点(Entry point)info break 查看当前断点信息disassemble+func 对制定的函数进行反汇编break +”地址” 设置断点r  等同于“run” 运行程序c 等同于”continue”,继续执行 x /<n/f/u> </b></div> n、f、u是可选的参数。   n是一个正整数,表示需要显示的内存单元的个数,也就是说从当前地址向后显示几...…

gdb gdb调试 peda 常用指令继续阅读
更早的文章

pwnable.kr-bof

首先还是题目描述: Nana told me that buffer overflow is one of the most common software vulnerability. Is that true? Download : http://pwnable.kr/bin/bof Download : http://pwnable.kr/bin/bof.c Running at : nc pwnable.kr 9000给了c的源文件还有编译好的elf文件,c源码为:#in...…

exploit payload pwn pwnable.kr shellcode继续阅读