博客
关于我
20165214 2018-2019-2 《网络对抗技术》Exp1+ 逆向进阶 Week4
阅读量:797 次
发布时间:2023-04-04

本文共 917 字,大约阅读时间需要 3 分钟。

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

一、实验内容

  • Task1
    • 编写一个64位shellcode,参考shellcode指导。
    • 编写一个有漏洞的64位C程序,功能类似实验1的样例pwn1,使用自己编写的shellcode进行注入。
    • 编写并完成Task2和Task3的相关实践。
  • 二、实验步骤

    1、Task1

  • 创建shellcode.c文件,输入以下代码:
  • #include 
    #include
    #include
    int main() { system("ls"); return 0;}
    1. 使用nasm编写新shellcode.nasm文件:
    2. global _startsection .text_start:    ; 加载要运行的程序    call load_program    ; 调用shellcode    call shellcode    ; 返回    retload_program:    ; 代码逻辑放在这里    db "/bin/ls", 0shellcode:    db 0x31, 0x0a, 0x0b
      1. 编译并执行:
      2. nasm -felf32 newshellcode.nasm -o newshellcode.old -melf_i386 newshellcode.o -o newshellcode.bin./newshellcode
        1. 使用gdb进行调试,验证程序是否存在漏洞。

        2. 编写注入程序,将shellcode注入到目标进程中。

        3. 三、Task2与Task3

          2、Task2

          学习并实践ret2lib和rop技术,绕过堆栈执行保护。通过构造特定的返回操作,实现对函数返回地址的控制。

          3、Task3

          研究绕过预设条件的攻击方法,例如通过修改内存布局或利用操作系统的特性,实现更复杂的攻击效果。

          通过这次实验,我深入了解了64位逆向破解的过程,掌握了shellcode编写、进程注入、漏洞利用等多项技术。虽然过程中遇到许多挑战,但通过不断学习和实践,我逐步掌握了这些关键技能。

    转载地址:http://esrfk.baihongyu.com/

    你可能感兴趣的文章
    mysql 5.6 修改端口_mysql5.6.24怎么修改端口号
    查看>>
    MySQL 8.0 恢复孤立文件每表ibd文件
    查看>>
    MySQL 8.0开始Group by不再排序
    查看>>
    mysql ansi nulls_SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思
    查看>>
    multi swiper bug solution
    查看>>
    MySQL Binlog 日志监听与 Spring 集成实战
    查看>>
    MySQL binlog三种模式
    查看>>
    multi-angle cosine and sines
    查看>>
    Mysql Can't connect to MySQL server
    查看>>
    mysql case when 乱码_Mysql CASE WHEN 用法
    查看>>
    Multicast1
    查看>>
    MySQL Cluster 7.0.36 发布
    查看>>
    Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
    查看>>
    MySQL Cluster与MGR集群实战
    查看>>
    multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
    查看>>
    mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
    查看>>
    Multiple websites on single instance of IIS
    查看>>
    mysql CONCAT()函数拼接有NULL
    查看>>
    multiprocessing.Manager 嵌套共享对象不适用于队列
    查看>>
    multiprocessing.pool.map 和带有两个参数的函数
    查看>>