如何在PHP/Python中进行缓冲区溢出?

use*_*729 6 php python buffer-overflow

这是c中的一个例子:

#include <stdio.h>
#include <string.h>

void bad() {
    printf("Oh shit really bad~!\r\n");
}

void foo() {
    char overme[4] = "WOW";
    *(int*)(overme+8) = (int)bad;
}

int main() {
   foo();
}
Run Code Online (Sandbox Code Playgroud)

Ant*_*sma 9

Python和PHP被解释为像其他人建议的事实实际上不是重点.关键是他们公开的几乎所有API和语言语义都经过严格的错误检查,因此无法获得可利用的未定义行为.即使你编译语言,它仍然是不可能的.这并不意味着您无法公开可以执行任何操作的不安全API.事实上,使用Pythons ctypes模块,应该可以创建一个类似的行为,但是偶然地更难以这样做.


joh*_*nes 2

由于 PHP 是一种脚本语言,没有指针,并且字符串类型是二进制安全的,因此这些东西在 PHP 中不起作用。

但你为什么要做这样的事呢?

(哦,PHP 中可能存在导致缓冲区溢出的错误,但这不是任何可以依赖的东西,而且通常很快就能修复......)