问题标签 [dep]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
arm - 如何在ARM/MIPS平台上查看XN/XI bit support的硬件支持
我在 ARM v6/v7 平台上验证 XN 位的硬件支持。为此,我在 ARM 上执行了 execstack.c。由于 ARM v6/v7 支持 XN 位,因此它正在崩溃。然后我在不支持 XI 位的 MIPS 目标(34Kc)上检查了相同的内容,因此程序必须正常执行,但这里程序也崩溃了。然后我删除了 XN 位代码并为 ARM 编译。然后程序也崩溃了,这不应该。
Test Program /* execstack.c - 测试栈上的代码是否可以执行
*/
/登录 MIPS 目标 /
在 MIPS 目标上,execstack 测试用例在 coredump 下方给出,尽管我假设 MIPS 不支持 XI 位。
VDLinux#> ./execstack
可执行堆栈[53.272000] do_ri() : 发送 SIGILL 到 execstack, PID:386
被杀
/登录ARM目标/
VDLinux#> ./execstack
可执行堆栈[451.784000] execstack:0xbead5860 处未处理的页面错误 (11),代码 0x80000007 被杀死
所以我有以下问题:
- 如何验证 ARM v6/V7 上的 XN 位支持?
- 如何验证 MIPS 34Kc 上的 XI 位支持
- 在哪里可以检查 Linux 内核代码中的 XN 位支持。
谢谢, 吉里什
c++ - 如何禁用 DEP
我们有一个应用程序,其中堆的某些部分作为汇编指令执行/用于测试目的 - 我们将程序下载到 PLC,但允许用户通过在下载到 PLC 之前执行他们的代码来模拟运行他们的应用程序。在我们总是从存储指令的堆中执行这些程序并且这工作正常之前,但我们现在已经转换为 VS2012,现在看来关闭 DEP 并不那么容易。我想知道是否有可能以某种方式关闭 DEP 而不管GetProcessDEPPolicy
返回什么,或者是否有其他技术可以在不涉及 DEP 的情况下从堆中执行汇编指令?
javascript - IE8 中的导出元数据错误
我在 proto.exportMetadata 函数中运行 IE8 的机器上遇到错误。“错误:对方法或属性访问的意外调用”。遇到此错误时,我目前正在运行版本 1.2.1。如果需要,我将尝试提供更多信息。谢谢。
编辑我将版本更新到 1.3.5,并且在运行 IE8 的机器上遇到了数据执行保护 (DEP) 设置的新问题。该机器安装了 Windows XP Pro Service Pack 3 并运行 IE8。不幸的是,在使用 IE8 浏览器模式运行 IE10 时不会发生这种情况,这是在运行 IE8 的机器上发生的。
c - 尝试将 32 位代码移植到 64 位平台时出现内存错误
我正在尝试编译和运行下面的代码片段,它在 Windows x86 或 WOW64 中工作,但在 Windows x64 中,他因访问冲突错误而崩溃。
使用 gcc 和 Microsoft C/C++ 编译器进行编译。
我的问题是,为什么这段代码在 64 位环境下不能正常工作?
哪些规则没有得到满足,但应该是为了让这段代码正常工作?
linux - 在启用 NX (DEP) 和 ASLR 的 x86-64 上利用基于字符串的溢出
考虑以下易受攻击的代码/程序:
在 IA-32(x86,32 位)上运行 Linux 并启用 NX 和 ASLR,我将使用 GOT 覆盖技术利用这一点,该技术主要包括以下步骤:
- 溢出缓冲区直到 RIP
- 用地址覆盖 RIP
strcpy@plt
- 使用一个干净的小工具
.text
,例如pop edi ; pop ebp ; ret
,作为返回地址strcpy
- 写参数
strcpy
:&bss
-address 作为目的地和一个字节的/bin/sh
using.text
- 重复步骤 2-4 直到
/bin/sh
完全写入&bss
strcpy
用 with覆盖 GOT 条目system
(使用偏移量,需要了解使用的 Libc 版本 - 让我们在这里忽略它)- 写入
strcpy@plt
堆栈,然后是一些 4 字节的块,最后是&bss
指向的地址/bin/sh
- 利润
我想在 x86-64 上利用相同的缓解措施来利用它。但这比想象的要困难得多。主要有以下几个原因:
- x86-64 基于寄存器的调用约定:函数参数使用寄存器而不是堆栈传递。因此,需要一些额外的 ROP-gadgets 将参数从堆栈传输到适当的寄存器。这是一个小问题,但也受以下问题的影响:
64 位返回地址:x86-64 中的 RIP 指向的地址
/li>.text
甚至不是 32 位长。因此,必须将 NULL 字节写入堆栈以链接函数调用。strcpy
基本上,使用链式调用并利用strcpy
始终写入的 NULL 终止字符,可以根据需要写入尽可能多的 NULL 字节。strcpy
但是通过只覆盖 RIP 的最低有效字节可能只调用一次。
这些是我在启用 NX 和 ASLR 的 x86-64 上利用该程序时遇到的主要问题。有什么技术可以解决这些问题吗?或者 x86-64 真的能阻止一个有效的、打开 shell 的漏洞利用吗?
buffer-overflow - 基于 SEH 的漏洞利用如何绕过 DEP 和 ASLR?
我是基于 SEH 的漏洞利用的新手
为什么我们不直接将返回地址放在 SE 处理程序中以跳转到我们的 shellcode?(没有安全SEH)
没有人能解释使用pop pop ret的原因吗?
我读到一些说 SEH 绕过 ASLR 和 DEP 的东西,但是怎么做呢?
我们的shellcode最终将位于堆栈中并且堆栈仍然不可执行,如何绕过DEP?
testing - 无法在测试计划模块的自动脚本的测试脚本选项卡中打开两个视图
应用程序和操作系统属性:
问题描述:
当 DEP 处于禁用状态时,我们可以在测试计划模块中打开自动脚本的测试脚本选项卡的两个视图 {键盘视图、专家视图}。
bcdedit.exe /set {current} nx AlwaysOff 是用于禁用 DEP 的命令。
当 DEP 处于启用状态时,我们无法在测试计划模块中打开自动脚本的测试脚本选项卡的两个视图 {键盘视图、专家视图}。
根据补丁 10 发行说明: {ALM11,QTP 10/11} 集成应该可以正常工作;即使启用了 DEP。bcdedit.exe /set {current} nx AlwaysOn bcdedit.exe /set {current} nx OptIn
如果我尝试单击“专家视图”,则会收到以下错误消息。
如果我通过单击确定按钮确认上述错误消息,HP ALM – 客户端正在将状态转换为已停止工作。
点击取消后;我收到以下错误消息。
单击确定按钮后;ALM 站点正在加载空白并重定向到起始页。
目标:
当 DEP 处于启用状态时,我们应该能够打开自动脚本的测试脚本选项卡的两个视图 { 键盘视图 ,专家视图 }。
执行分析:
调试日志中没有填充任何错误或警告消息。
进程资源管理器只是指定从 Dot Net Framework 3.5 SP1 发生错误。
安装了 QTP 补丁 QCQTP-00012 但这并没有解决问题。
以管理员身份运行 IE 并提供对 %Temp% 的 TD_80 文件夹的完全访问权限,但未解决此问题。
禁用未解决此问题的 UAC。
任何人都可以建议如何进一步解决此问题并在启用 DEP 时使其正常工作。
问候,
斯里哈里
c# - 获取 DEP 设置
我需要确定 Windows DEP 是否被禁用,是否设置为基本的 Windows 程序和服务或除我选择的程序之外的所有程序。
我一直在寻找一种方法来做到这一点,但没有任何成功。有没有办法做到这一点?用 C# 开发。
chm - 为什么 keyhelp.ocx 在我的 Visual Studio C++ 应用程序中失败?
使用keyhelp.ocx
在现代 Visual Studio C++ 应用程序中显示弹出 HtmlHelp 失败。
我得到一个没有明显错误代码的 COM 异常。查看调试输出,幕后似乎存在访问冲突。
security - 当前的任何硬件都可以将 RAM 页设置为可执行但不可读吗?
就像 NX/DEP 允许页面在可写时设置为不可执行一样,是否有可能告诉 CPU 它可以执行页面(即读取它以获取指令)但如果通过 a 访问它则抛出异常移动指令?其效果将是仅仅通过滥用漏洞来复制指令的二进制数据是不可能/非常困难的。
我认为这样的可能用途可能是防止漏洞利用披露可执行页面的内容,从而使 ROP 攻击更加困难。(这篇论文让人觉得所有的 ASLR 都只是出血的绷带)有很多方法可以诱使程序读取任意内存位置,并且将它们全部修补将是一项无望的任务。