29得票2回答
Linux的Shellcode "Hello, World!"

我有以下可用的NASM代码:global _start section .text _start: mov eax, 0x4 mov ebx, 0x1 mov ecx, message mov edx, 0xF int 0x80 mov e...

26得票5回答
试图执行堆栈破坏导致了段错误

我正在尝试在C语言中完成Smashing the Stack for Fun and Profit的一个示例,但目前遇到了一些困难,以下是代码(我的机器是64位Ubuntu): int main() { int x; x = 0; func(1,2,3); ...

19得票2回答
一个简单的栈溢出的Shellcode:在执行execve("/bin/sh")后,利用的程序直接终止。

我在Linux (amd64)上玩弄了缓冲区溢出,并尝试利用一个简单的程序,但失败了。我禁用了安全功能(用sysctl -w kernel.randomize_va_space=0来禁用地址空间布局随机化和bios中的nx位)。它跳转到栈并执行shellcode,但没有启动shell。exec...

16得票7回答
有人能向我解释一下这段代码吗?

警告:这是一个漏洞利用代码,请勿执行。//shellcode.c char shellcode[] = "\x31\xc0\x31\xdb\xb0\x17\xcd\x80" "\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x...

16得票4回答
C程序中的Shellcode

在揭秘Execve Shellcode中,解释了编写execve shellcode的方法:#include<stdio.h> #include<string.h> unsigned char code[] = "\x31\xc0\x50\x68\x6e\x2f\x...

15得票1回答
C语言中的Shellcode - 这是什么意思?

我不太明白这段代码是如何实现它的:char shellcode[] = "\xbb\x00\x00\x00\x00" "\xb8\x01\x00\x00\x00" ...

14得票2回答
测试一个shellcode

我有这段代码用于测试shellcode,但是我不理解它,能否有人给我解释一下? 忘掉汇编shellcode,我想理解的是C代码。char shellcode[] = "..."; int main(int argc, char **argv) { int (*func)(); fun...

14得票7回答
如何让C代码执行十六进制机器码?

我想要一个简单的C语言方法,在Linux 64位机器上运行十六进制字节码。下面是我所拥有的C程序:char code[] = "\x48\x31\xc0"; #include <stdio.h> int main(int argc, char **argv) { i...

12得票1回答
为什么execve系统调用可以在没有任何argv参数的情况下运行"/bin/sh",但不能运行"/bin/ls"?

我对__NR_execve系统调用感到困惑。当我学习Linux系统调用时,我知道使用execve的正确方式是这样的:char *sc[2]; sc[0]="/bin/sh"; sc[1]= NULL; execve(sc[0],sc,NULL); 然后函数execve将调用syscal...

11得票4回答
从C程序加载原始代码

我正在编写一个从文件加载和执行代码的程序。 但是我遇到了一个问题:"write"系统调用不起作用。 程序成功加载并执行,但在屏幕上没有显示任何文本。 加载代码的程序:#include < stdio.h > #include < stdlib.h > int mai...