无法导致缓冲区溢出攻击

时间:2017-11-13 12:13:50

标签: character buffer overflow shellcode

我对缓冲区溢出攻击有疑问。我正在尝试编写一个自动python工具来消除程序War-FTP 1.6.5的不良字符。 该程序存在缓冲区溢出漏洞。我知道坏字符是 \ x00 \ x0d \ x0a \ x40 。 我的工具找到了两个不好的字符: \ x0a \ x0d

test_chars="\x01...\x0ff\x00"

测试好的和坏的字符将被移动到名为good_chars和bad_chars的列表中。测试的字符将从test_chars中删除。

覆盖EIP的偏移量为485.

buffer="\x90"*485+"AAAA"(Windows XP SP 3 German on a virtual machine)

EIP将被" AAAA"和War-FTP崩溃,如果我的工具发送此缓冲区。

现在出现了奇怪的事情:

buffer="\x90"*485+"AAAA"+"\x0e\x0f...\xff\x00"

如果我的工具发送此缓冲区,War-Ftp不会崩溃,并说用户名是非法的。

有人可以解释为什么应用程序不会崩溃吗?

程序崩溃缓冲区=" \ x90" * 485 +" AAAA"和缓冲区=" \ x90" * 485 +" AAAA" +" \ x01 ... \ xff \ x00",但没有缓冲区=" \ X90&#34 * 485 +" AAAA" +" \ x0e \ X0F ... \ XFF \ X00"

我认为每个大于489字节的缓冲区都是程序的问题,因为486-489会覆盖EIP。

0 个答案:

没有答案