hacktricks/binary-exploitation/common-binary-protections-and-bypasses
2024-05-05 22:03:00 +00:00
..
aslr Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:03:00 +00:00
pie Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:03:00 +00:00
stack-canaries Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:03:00 +00:00
cet-and-shadow-stack.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:33:04 +00:00
libc-protections.md Translated ['binary-exploitation/common-binary-protections-and-bypasses/ 2024-04-23 19:37:09 +00:00
memory-tagging-extension-mte.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-05-05 22:03:00 +00:00
no-exec-nx.md Translated ['binary-exploitation/basic-binary-exploitation-methodology/R 2024-04-12 01:34:59 +00:00
README.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:33:04 +00:00
relro.md Translated ['README.md', 'binary-exploitation/arbitrary-write-2-exec/aw2 2024-04-07 02:33:04 +00:00

常见二进制利用保护措施和绕过方法

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

启用核心文件

核心文件是操作系统在进程崩溃时生成的一种文件类型。这些文件捕获了进程在终止时的内存映像,包括进程的内存、寄存器和程序计数器状态等详细信息。这个快照对于调试和理解崩溃原因非常有价值。

启用核心转储生成

默认情况下许多系统将核心文件的大小限制为0即不生成核心文件以节省磁盘空间。要启用核心文件的生成您可以使用**ulimit**命令在bash或类似的shell中或配置系统范围的设置。

  • 使用ulimit:命令ulimit -c unlimited允许当前shell会话创建无限大小的核心文件。这对于调试会话很有用但在重新启动或新会话中不会持久保留。
ulimit -c unlimited
  • 持久配置:为了更持久的解决方案,您可以编辑 /etc/security/limits.conf 文件,添加类似 * soft core unlimited 的一行,这允许所有用户在不必在其会话中手动设置 ulimit 的情况下生成无限大小的核心文件。
* soft core unlimited

使用GDB分析核心文件

要分析核心文件您可以使用调试工具如GDBGNU调试器。假设您有一个生成了核心转储文件的可执行文件并且核心文件的名称为 core_file,您可以开始分析:

gdb /path/to/executable /path/to/core_file

这个命令将可执行文件和核心文件加载到GDB中允许您检查程序在崩溃时的状态。您可以使用GDB命令来探索堆栈、检查变量并了解崩溃的原因。