• 20165214 2018-2019-2 《网络对抗技术》Exp1+ 逆向进阶 Week4


    《网络对抗技术》Exp2 PC平台逆向破解之“MAL_简单后门” Week4

    一、实验内容

    • Task1

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

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

    • Task 2(未完成)

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

    • Task 3(未完成)

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

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

    二、实验步骤

    1、Task1

    • 1、打开创段,创建shellcode.c,输入shellcode源码:

    • 2、编译生成可执行文件,执行查看效果:

    • 3、反汇编查看代码objdump -d shellcode | more,并且找到main函数:

    • 4、打开另一终端,将main函数的16进制代码写进一个C程序中来测试我们获得的shellcode是否正确。这里折腾了两三个小时后失败了。对于整体的流程我已经烂熟于心了,但一直卡在一个地方:根据反汇编代码,用汇编写出代码。这一点我始终学不会,学姐的博客也没有写出来。于是我决定先跳过这一步,拿现成的汇编代码来进行下面的步骤。也希望自己能够在今后的学习中解决这个遗憾。

    • 5、创建newshellcode.nasm,输入如下代码:

    • 6、先后输入nasm -felf32 newshellcode.nasm -o newshellcode.old -melf_i386 newshellcode.o -o newshellcode.bin,进行汇编与链接,,再输入./newshellcode运行尝试,成功。

    • 7、查看反汇编代码,提取出来

      shellcode[]="x31,xc0,x31,xd2,xb0,x0b,x52,x66,x68,x2d,x63,x89,xe7,x52,x68,x62,x61,x73,x68,x68,x62,x69,x6e,x2f,x68,x2f,x2f,x2f,x2f,x89,xe3,x52,xeb,x06,x57,x53,x89,xe1,xcd,x80,xe8,xf5,xff,xff,xff,x2f,x62,x69,x6e,x2f,x73,x68"

    • 8、放进C语言程序进行调试:

    • 9、调试,成功:

    • 10、使用实验一的第三个步骤的方法进行注入,结果如下:

    2、Task2

  • 相关阅读:
    php操作zip压缩文件
    php图像处理(thinkphp框架有相对强大的图像处理功能)
    php实现希尔排序(总结)
    PHP glob() 函数详解
    php资源类型变量
    dump var_dump print print_r的区别
    php实现遍历文件目录
    php常用函数
    php全局变量的使用
    php函数按地址传递参数(php引用)
  • 原文地址:https://www.cnblogs.com/zhuwenyuan/p/10590274.html
Copyright © 2020-2023  润新知