2019-2020-2 20175317钟睿文《网络对抗技术》Exp1+ 逆向进阶

2019-2020-2 20175317钟睿文《网络对抗技术》Exp1+ 逆向进阶

实验内容

第一个实践是在非常简单的一个预设条件下完成的:

(1)关闭堆栈保护

(2)关闭堆栈执行保护

(3)关闭地址随机化

(4)在x32环境下

(5)在Linux实践环境

建议的实践内容包括:

Task1 (5-10分)

自己编写一个64位shellcode。参考shellcode指导。

自己编写一个有漏洞的64位C程序,功能类似我们实验1中的样例pwn1。使用自己编写的shellcode进行注入。

Task 2 (5-10分)

进一步学习并做ret2lib及rop的实践,以绕过“堆栈执行保护”。参考ROP

Task 3 ( 5-25分)

可研究实践任何绕过前面预设条件的攻击方法;可研究Windows平台的类似技术实践。

或任何自己想弄明白的相关问题。包括非编程实践,如:我们当前的程序还有这样的漏洞吗?

同学们可跟踪深入任何一个作为后续课题。问题-思考-验证-深入...。根据实践量,可作为5-25分的期末免考题目。

Task1实验步骤

首先将shellcode源码写入C语言文件并进行测试

使用gdb调试查看反汇编,在main和execve两个函数处

下一步可以开始编写.nasm文件:

编译该汇编文件,nasm -f elf64 shellcode.asm,ld -o shellcode shellcode.o
查看shellcode的机器码

据此写出C的测试代码test.c,编译运行该测试代码查看是否可以实现shell的功能:

测试成功,参照实验一配好环境

构造一个input16进制文件,通过输入(cat input ;cat )|./20175317将input传入执行中的20175317中,步骤类似实验一中的注入步骤,这里不再赘述


注入成功后结果如下:

猜你喜欢

转载自www.cnblogs.com/20175317zrw/p/12446766.html