exploit

    0热度

    1回答

    我只是试图检查GDB中的内存。比如说,我用“A”填充一个缓冲区,然后我找到我的“A”的起点,然后将这个内存值存储在小数点中。 然后什么奇怪的是我并没有改变任何事情,又试了一次,而 “A” 的出现(0x41414141 ...) 这是GDB显示... x/ 0xbffff558 0xbffff558: 1094795585 为什么会发生这种情况?谢谢。

    0热度

    1回答

    我一直在通过'Shellcoder的手册:发现和利用安全漏洞',可以找到here,但我没有完全理解p.179(全球p.205)上可以找到的漏洞之一here。这个漏洞攻击了第175页上的脆弱程序(全球第201页)。 作为漏洞利用的一部分跳转到的shellcode以“\ x90 \ x90 \ x90 \ x90 \ x01 \ x90 \ x90 \ x6A \ x30 \ x59”开头。我用thi

    1热度

    1回答

    我正在测试一个网站的利用。 该漏洞与PHP对象注入有关。 错误使用unserialize()可能会导致这些问题。 而且,我发现下面的官方PHP手册警告: 他们认为我们应该用json_encode()和json_decode()。 但是,我想知道为什么json_encode()和json_decode()比serialize()和unsrialize()更安全?

    0热度

    1回答

    我正在为易受攻击的程序(堆栈溢出,打开NX和ASLR)编写一个rop链。 我通过观察gdb peda上的堆栈指针来执行我的小工具。除非遇到小配件mov[eax], edx; ret,否则它运作良好。这个小工具得到执行,但是之后有一个push ebx,即使我没有在我的ROP链中放置任何类似的小工具。最后,我的利用不起作用。 我已经尝试过不同的寄存器这条指令,总是有下面的push ebx,我不知道为什

    0热度

    1回答

    你是否只是使用strace和调试器等工具来反汇编和查找系统调用,然后阅读反汇编找到例如缓冲区溢出?这是你所能做的吗?我的意思是毕竟你没有源代码。 如果有人可以对这个特定的话题有所了解,我将非常感激。 谢谢。

    2热度

    1回答

    Data Execution Prevention可以绕过哪些方式?如果有人能深入了解它的工作原理,我将不胜感激。

    1热度

    1回答

    scanf_s("%s", a, 10); 此代码将保护我们的程序免受缓冲区溢出攻击。 但没有 scanf_s,我们可以这样写: scanf("%9s", a); 我觉得这个代码也将阻止缓冲区溢出。这是真的? 那么两种方式有什么不同? 如果scanf的宽度规范阻止缓冲区溢出,为什么我们称原始scanf“不安全”?

    0热度

    1回答

    我试图利用与下面的C代码的printf漏洞:在0x804a00c #include <stdio.h> #include <stdlib.h> /* gcc -fno-stack-protector -z execstack -o test test.c */ void attack(){ printf("Dropping to shell...\n"); } int

    0热度

    1回答

    我想解决CTF挑战,我需要使用ret2libc。问题是,当我尝试使用strcpy将一些文本放入缓冲区以供后期使用时,似乎不起作用。 挑战框仍然容易受到“ulimit -s unlimited”的限制,所以我们可以修复libc地址。这里是我目前的Python代码: from pwn import * def r2lc_print(write_buff,read_buff): strcp

    0热度

    1回答

    我试图在Ubuntu 14.04执行Ruby代码,并在执行收到错误, '':未初始化不断BSON ::文档(NameError) 代码是, #!/usr/bin/ruby require 'uri' require 'bson' require 'mongo' b = BSON::Document.new b["$query"] = {"token" => {"$gt"=>""}}