zoukankan      html  css  js  c++  java
  • 20145229吴姗珊《网络对抗》shellcode注入&Return-to-libc攻击深入

    20145229吴姗珊《网络对抗》shellcode注入&Return-to-libc攻击深入(待上传)

    shellcode注入

    • shellcode是一段代码,是溢出程序和蠕虫病毒的核心,一般可以获取权限,如果将代码存储到对方的栈中,将返回地址利用缓冲区溢出就可以指向我们所希望的shellcode

    实践

    • 首先需要一个shellcode,我就取名为20145229shellcode啦

    • 编译运行一下呗

    • 为了在后面查询文件的堆栈是否可以执行,所以需要安装execstack指令

    • 配置环境,查询地址随机化是否开启

      execstack -s:设置堆栈可执行
      execstack -q:查询文件的堆栈是否可执行 X为可执行
      参数0表示地址随机化关闭,1表示将mmap基址,stack和vdso页面随机化,2为在1的基础下增加栈随机化

    • 构造要注入的payload
      以下buf结构为:nops+shellcode+retaddr,nop为了填充以及一个保险的作用,保证我们的猜测只要一个到nop即可跳转shellcode
      用x4x3x2x1覆盖返回地址的位置(这个图打字打错了,但是正确那个忘截图了,就用这个吧)

    • 打开另一个终端攻击buf,后面调试工程再按回车!!切记!!

    • 再打开一个终端,查找与20145229shellcode相关的进程,前面的终端按一下回车,出现如下图,找到该进程号为2304

    • 打开gdb,用attach指令进行反汇编

    • 对foo函数进行反汇编

    • 在ret处设置断点,查看注入buf的内存地址,分析我们之前猜测的返回地址位置是否正确

      这里经历了诸多磨难,发现前面有个地方输错了!!!然后重新来!!

  • 相关阅读:
    初次使用github
    linux 如何显示一个文件的某几行
    ubuntu 2
    在html页中作跳转
    gmail邮箱 livemail 设置
    配置nginx与wordpress碰到的一个偱环重定向问题
    在nginx服务部署startbbs
    Attaching the script debugger to process *** failed on machine "***"
    linux查看文件夹大小
    linux 合并文件
  • 原文地址:https://www.cnblogs.com/20145229ss/p/6646497.html
Copyright © 2011-2022 走看看