20145201李子璇《网络对抗》PC平台逆向破解

时间:2023-03-09 21:20:50
20145201李子璇《网络对抗》PC平台逆向破解

20145201《网络对抗》PC平台逆向破解

准备阶段

  • 下载安装execstack.
    20145201李子璇《网络对抗》PC平台逆向破解

  • 获取shellcode的c语言代码
    20145201李子璇《网络对抗》PC平台逆向破解

  • 设置堆栈可执行
    20145201李子璇《网络对抗》PC平台逆向破解

  • 将环境设置为:堆栈可执行、地址随机化关闭(2开启,0表示关闭)
    20145201李子璇《网络对抗》PC平台逆向破解

  • 采用nop+shellcode+retaddr方式构造payload,其中\x4\x3\x2\x1处是将来要填的shellcode起始地址,最后一个字符不能是\x0a
    20145201李子璇《网络对抗》PC平台逆向破解

  • 开启一个新的终端将payload注入到pwn1中
    20145201李子璇《网络对抗》PC平台逆向破解

  • 在第一个终端中查询20145201pwn进程的UID 4948
    20145201李子璇《网络对抗》PC平台逆向破解

-保持第二个终端如上图状态,再打开一个新终端,开启GDB,对20145201pwn进行调试

先用attach命令进入对应UID端口,进行追踪
20145201李子璇《网络对抗》PC平台逆向破解

  • 设置断点
    20145201李子璇《网络对抗》PC平台逆向破解

20145201李子璇《网络对抗》PC平台逆向破解

  • retaddr+nop+shellcode方法
    查看内存地址,最终找到shellcode起始地址,将返回地址重新注入:
    20145201李子璇《网络对抗》PC平台逆向破解
    20145201李子璇《网络对抗》PC平台逆向破解