Shellcode:执行 2 次 execve() 调用

2024-02-26

我正在尝试用汇编语言编写 shellcode。我需要执行一个/usr/bin/killall命令与/usr/bin/wget命令。我的两个命令都在 shellcode 中完美运行execve()系统调用。但现在我想将这两个结合起来,但这是不可能的,因为程序在第一个时退出execve()调用被执行。 (来自手册页execve() : execve()成功后不会返回)。

我该如何执行2execve()打电话?或者有另一种方法可以调用两者/usr/bin/killall and /usr/bin/wget来自相同的 shell 代码?

提前致以问候和感谢!


当您使用 exec 系列函数时,调用它的程序将被替换到当前进程中。因此,当进行第一次 execve 调用时,整个进程映像就会消失,因此永远不会进行第二次调用。要解决这个问题,您必须在调用 execve 之前派生另一个进程。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Shellcode:执行 2 次 execve() 调用 的相关文章

  • 访问私人成员[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通过将类的私有成员转换为 void 指针 然后转换为结构来访问类的私有成员是否合适 我认为我无权修改包含我需要访问的数据成员的类 如果不道德 我
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • 如何将图像和 POST 数据上传到 Azure 移动服务 ApiController 终结点?

    我正在尝试上传图片and POST表单数据 尽管理想情况下我希望它是json 到我的端点Azure 移动服务应用 我有ApiController method HttpPost Route api upload databaseId sea
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • Cython 和类的构造函数

    我对 Cython 使用默认构造函数有疑问 我的 C 类 Node 如下 Node h class Node public Node std cerr lt lt calling no arg constructor lt lt std e
  • Web API - 访问 DbContext 类中的 HttpContext

    在我的 C Web API 应用程序中 我添加了CreatedDate and CreatedBy所有表中的列 现在 每当在任何表中添加新记录时 我想填充这些列 为此目的我已经覆盖SaveChanges and SaveChangesAsy
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 在 ASP.NET Core 3.1 中使用包含“System.Web.HttpContext”的旧项目

    我们有一些用 Net Framework编写的遗留项目 应该由由ASP NET Core3 1编写的API项目使用 问题是这些遗留项目正在使用 System Web HttpContext 您知道它不再存在于 net core 中 现在我们
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • mysql-connector-c++ - “get_driver_instance”不是“sql::mysql”的成员

    我是 C 的初学者 我认为学习的唯一方法就是接触一些代码 我正在尝试构建一个连接到 mysql 数据库的程序 我在 Linux 上使用 g 没有想法 我运行 make 这是我的错误 hello cpp 38 error get driver
  • C 中的异或运算符

    在进行按位操作时 我在确定何时使用 XOR 运算符时遇到一些困难 按位与和或非常简单 当您想要屏蔽位时 请使用按位 AND 常见用例是 IP 寻址和子网掩码 当您想要打开位时 请使用包含或 然而 XOR 总是让我明白 我觉得如果在面试中被问

随机推荐

  • Python:Pandas - 按组删除第一行

    我有以下大型数据框 df 看起来像这样 ID date PRICE 1 10001 19920103 14 500 2 10001 19920106 14 500 3 10001 19920107 14 500 4 10002 199201
  • Scala 括号语义

    将值附加到 MAP 时 为什么 Scala 需要额外的括号块才能使该语句起作用 不编译 vmap item getName item getString compiler output found String 但是 这确实可以编译 vma
  • 在不使用内容辅助输入整行时,Eclipse 在光标前插入分号

    这种行为让我抓狂 我输入以下内容 fileName append c get Calendar HOUR OF DAY 现在 当我输入内容时 会弹出内容辅助 我没有从内容辅助中选择 HOUR OF DAY 也没有按 Enter 键自动填写
  • 在C中计算欧几里德距离矩阵

    我想将用 MATLAB 编写的代码转换为 C matrix 1 2 3 4 5 6 7 8 10 dis zeros 9 for i 1 3 for j 1 3 dis i j sqrt sum abs matrix i matrix j
  • 尝试从网络位置加载程序集,这会导致程序集被沙箱化

    Net 4 0 出现错误 尝试从网络位置加载程序集 会导致程序集被沙箱化 应用设置
  • 带有 IAM 的 AWS MSK - 超时异常

    我们正在使用 Aws MSK 最近他们宣布了 AWS MSK IAM AUTH https github com aws aws msk iam auth https github com aws aws msk iam auth 当我尝试
  • css动画为什么会改变z-index? [复制]

    这个问题在这里已经有答案了 为什么动画会改变 z index 如果您查看 jsfiddle 您会看到红色图像位于顶部 但如果注释掉动画 则蓝色图像位于顶部 即使有动画 如何才能使蓝色图像始终位于顶部 jsfiddle http jsfidd
  • 删除字符串中重复字符(单词)的最佳方法?

    删除字符串中任何重复字符和由空格分隔的字符集的最佳方法是什么 我认为这个例子更好地解释了这一点 foo h k k h2 h 应该变成 foo h k h2 order not important 其他例子 foo s s k become
  • 在 Windows 事件查看器中诊断 CLR 错误

    我们有一个 NET 桌面应用程序在生产中崩溃了 我们如何诊断错误 我想知道发生的异常类型 错误消息和堆栈跟踪 因为我们的代码没有处理异常 所以我们收到了 此应用程序遇到问题 需要关闭 Windows 消息框 唯一的选择就是关闭 没有调试按钮
  • 字符串匹配不同大小的 data.frames

    我有两个不同大小的 data frame 我正在寻找最有效的方法来将字符串从一个 data frame 匹配到另一个 data frame 并提取一些相关信息 这是一个例子 两个初始 data frames a 和 b 以及所需的结果 a
  • 如何使图像大小适应html表格中的行高

    我正在尝试制作一个强大的 html 签名以在 Thunderbird 中使用 我所说的稳健是指它不仅在 Thunderbird 中看起来正确 而且在我向其发送邮件的其他邮件客户端中也必须正确 例如 我使用 Gmail 进行了测试 布局非常简
  • ASP.Net Core 中的 AntiXSS

    Microsoft Web 保护库 AntiXSS https wpl codeplex com 已达到使用寿命 该页面指出 在 NET 4 0 中 框架中包含了一个 AntiXSS 版本 可以通过配置启用 在 ASP NET v5 中 基
  • PHP + Comet(长轮询)扩展/主机

    我使用 PHP MySQL 开发了一个应用程序 该应用程序使用了彗星技术 即长轮询 概念验证效果很好 但我预计流量会快速达到数千个同时连接 网络服务器上的数千个开放连接 我没有能力设置自己的服务器 例如使用 lighttpd 并且通常依赖简
  • 将自定义侦听器添加到 Kotlin 类的正确方法

    我是 Kotlin 菜鸟 第三天 正在尝试向我的班级添加一个侦听器 我目前正在使用 lambda 如下例所示 它们工作得很好 Declare callback class Controller var onAction gt Use cal
  • 有符号和无符号整数表达式的比较

    我刚刚开始使用 OpenGL 这是我的第一个代码 OpenGL hello program include
  • 如何确定复选框列表已选中/选中 -

    当我执行代码时 我得到 4 个复选框 并且我选中 选择了所有 4 个复选框 当我尝试调试代码时 它确实算作我有 4 个复选框 但所有 4 个复选框都被选中 false 我在代码中缺少什么
  • 检测项目中的循环依赖

    上次我在我的项目中发现了循环依赖问题 我解决了我的问题 但是我希望将来避免这种情况 我想到了在我的所有项目中发现循环依赖项并给我反馈的插件 Example 文件a js var functionFromA require b js cons
  • 如何增加 SwiftUI 选择器中显示的最大行数?

    我正在尝试创建一个 SwiftUI 选择器 用户可以使用它来选择 1000 到 20000 之间的数字 以 1000 为增量 例如 1000 2000 3000 20000 默认情况下 SwiftUI 选择器只能容纳 10 行文本 如何允许
  • 保存数据的最佳方法 - 首选项、sqlite、可序列化还是其他?

    我一直在研究在回合之间保存游戏数据的替代方法 并且想知道是否有人可以为我指明正确的方向 我有大约 32k 的数据必须在 onPause 期间保存 由于数据量巨大 我排除了偏好 我花了几天时间研究 SQLite 但无法在不到两秒的时间内保存数
  • Shellcode:执行 2 次 execve() 调用

    我正在尝试用汇编语言编写 shellcode 我需要执行一个 usr bin killall命令与 usr bin wget命令 我的两个命令都在 shellcode 中完美运行execve 系统调用 但现在我想将这两个结合起来 但这是不可