逆向分析实战之LOVE

释放双眼,带上耳机,听听看~!

关于PWN,在安全领域中指的是通过二进制/系统调用等方式获得目标主机的shell。在PWN中堆栈是少不了的,要知道函数调用的时候,栈中的数据是怎么放的,知道ebp在哪,知道返回地址在哪。能看懂汇编,2条指令要清楚,ret和call。

1.题目背景

对于刚入门的小白,学PWN需要一个漫长的过程,要对基础的C++及C语言等有所了解。该方向入门难,提升更难。but,只要有强烈兴趣和一颗热爱学习的恒心,任何难题都会So Easy!接下来作为小白菜的小云醉就简单分享一道自己做出来的题。

2.题目地址

http://ctf.bugku.com/challenges#love

3.下载题目文件发现是一个revers3.exe程序

4.使用PEid查壳 ,发现无壳

5.使用OD载入查看搜索字符串

6.使用IDA静态分析代码

7.书写Python脚本,得到flag{i_0ve_you}

Python脚本如下:

 import base64

s =”e3nifIH9b_C@n@dH”

flag =””

for i in range(len(s)):

  flag+= chr(ord(s[i])- i)

flag = base64.b64decode(flag)

print(flag)

备注:

PWN常用工具如下

  1. gdb:Linux调试中必要用到的

  2. gdb-peda:gdb方便调试的工具,类似的工具有gef,gdbinit

  3. pwntools:写exp和poc的利器

  4. checksec:可以很方便的知道elf程序的安全性和程序的运行平台

  5. objdump和readelf:可以很快的知道elf程序中的关键信息

  6. ida pro :强大的反编译工具

  7. ROPgadget:强大的rop利用工具

  8. one_gadget:可以快速的寻找libc中的调用exec(‘bin/sh’)的位置

  9. libc-database: 可以通过泄露的libc的某个函数地址查出远程系统是用的哪个libc版本

菜鸟班门弄斧,大佬勿喷!


本文源自微信公众号:弥天安全实验室

人已赞赏
安全工具

一道隐写题的分享

2019-10-18 17:16:37

安全工具

Apache-Struts2-045复现

2019-10-18 17:16:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索