首页 文章
  • 0 votes
     answers
     views

    尝试利用ROP进行gdb和直接执行时的差异行为

    我最近在学习关于ROP的一些概念 .并在一些提供源代码的网站上进行挑战 #include <stdio.h> #include <string.h> int main (int argc, char ** argv){ char message[20]; if (argc != 2){ printf ("Usage: %s &l...
  • 5 votes
     answers
     views

    在ARM Cortex-M3上编写一个简单的C任意代码执行漏洞?

    我正在尝试用C语言编写一个概念证明,它演示了ARM Cortex-M3上堆栈中内存缓冲区的代码执行 . 这将有助于证明正确使用ARM MPU可以防止此类攻击 . 我想一个快速而肮脏的方法来将一些代码放入堆栈中是从常规函数中复制它然后使用goto跳转到它,如下所示: static void loopit(void) { printf("loopit\n"); wh...
  • 0 votes
     answers
     views

    用gets()缓冲区溢出

    我试图用我的shellcode溢出缓冲区,我遇到了gets()问题 . 如果我使用strcpy()函数使用shellcode溢出缓冲区 - 它没关系,我得到了一个/ bin / bash . 但如果我对gets()函数做同样的事情,它什么都没有给我看 . 我尝试使用gets()进行ret2text攻击并且它工作正常,如果我尝试使用恶意代码(shell)溢出它不起作用 . 我关闭了堆栈保护器(-fn...
  • 0 votes
     answers
     views

    缓冲溢出利用“黑客攻击的艺术”中的例子

    我在网站上发现了一些相关帖子,但没有人解释我的问题 . 代码在这里描述:Link 我的问题如下: 作者试图在notesearch.c程序中重写strcpy()函数的返回地址,缓冲区中有一个,以便shellcode(我理解的是在内存中植入机器代码)将被执行 . 为了工作,他创建了一个缓冲区,看起来像:nop nop nop ... | shell代码.. |退货地址 根据我在调用strcpy()函数...
  • 1 votes
     answers
     views

    堆栈溢出:不知道是什么修改了覆盖的返回地址的最后一个字节

    我正在进行堆栈溢出实验,aslr和nx禁用 . 但是gdb出现了一个奇怪的结果 . 环境: Linux 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali5 i686 GNU/Linux 禁用aslr: echo 0 > /proc/sys/kernel/randomize_va_space 使用execstatck编译源代码(Debian没有名为e...
  • 4 votes
     answers
     views

    找到缓冲区溢出的堆栈的开始

    据Grey Hat Hacking所述,“所有Linux ELF文件都映射到内存中,最后一个相对地址为0xbfffffff” . 通过从该地址减去4个NULL字节,文件名的长度和shellcode的长度,显然可以将被利用的缓冲区中的返回地址设置为环境变量的返回地址 . 但是,在尝试此操作时,在我看来,在我的64位Linux测试环境( ASLR disabled )中,堆栈不是在0xbffffff处...
  • 3 votes
     answers
     views

    我正在尝试利用缓冲区溢出,我做错了什么?

    我正在尝试使用本教程执行缓冲区溢出漏洞 . 我的帖子中的所有内容都将直接在GDB中执行 . https://www.reddit.com/r/hacking/comments/1wy610/exploit_tutorial_buffer_overflow/ 这是我想利用缓冲区溢出的代码 . #include <stdio.h> #include <stdlib.h> #in...
  • 1 votes
     answers
     views

    没有gdb的缓冲区溢出漏洞中的奇怪行为

    我写了一个简单易受攻击的程序来堆栈溢出攻击: #include <string.h> #include <stdio.h> #include <stdlib.h> void func(char *arg) { char name[32]; strcpy(name, arg); printf("Welcome %s\n&quot...
  • 1 votes
     answers
     views

    Linux:简单C程序的缓冲区溢出给SIGBUS

    我是二进制开发的初学者,我正在训练利用缓冲区溢出 . 我做了一个无用的短C程序: #include <stdio.h> #include <stdlib.h> int main(void) { setbuf(stdout, NULL); char buffer[64]; puts("\nWELCOME TO THE REMOTE TEMP...
  • -1 votes
     answers
     views

    如何扭转movl的影响

    因此,当调用movl(在intel x84-64机器代码中)并且具有寄存器作为目标时,它将寄存器的高阶字节设置为0.那么我如何使用movl指令使得我保留原始值登记册?在这种情况下,我们不能将rsi / rdi用于movl指令(仅限esi和edi) . 例如,如果我去 movq %rsp, %rax 然后打电话 movl %eax, %edx 有没有办法在movl之后调用movl /做一些事情,...

热门问题