作为大学计算机安全课程的一部分,我很快就要学习缓冲区溢出以及如何将它们用作漏洞.我正在尝试使用以下代码执行一些简单的缓冲区溢出:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
char buffer_one[4], buffer_two[16];
strcpy(buffer_one, "one");
strcpy(buffer_two, "two");
strcpy(buffer_one, argv[1]);
printf("buffer_two is at %p and contains \'%s\'\n", buffer_two, buffer_two);
printf("buffer_one is at %p and contains \'%s\'\n", buffer_one, buffer_one);
}
Run Code Online (Sandbox Code Playgroud)
如果我运行,我可以使用null终止符覆盖buffer_one的内容
$./overflow 1234567890123456
buffer_two is at 0x7fff5fbff8d0 and contains '1234567890123456'
buffer_one is at 0x7fff5fbff8e0 and contains ''
Run Code Online (Sandbox Code Playgroud)
但是如果我发送超过16个字符作为参数,程序将发送Abort陷阱.我认为这是Snow Leopard上的某种缓冲保护(可能是ASLR?).如果if的大小为buffer_two <16,那么adresse仍然是16位
我正在运行gcc -o overflow overflow.c -fno-stack-protector以删除堆栈保护
除了安装运行linux dist的VM之外,有没有解决这个问题的方法?
我在使用python 2.6.1运行Snow Leopard的Macbook pro上安装psyco时遇到了一些麻烦.
我一直在尝试使用该命令强制python以32位模式运行
defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
Run Code Online (Sandbox Code Playgroud)
此外,我尝试过Macport py26-psyco,它似乎已经完成,但在编译时无法找到模块.
$ sudo python setup.py install
PROCESSOR ='ivm'
运行安装
正在运行build
运行build_py
运行build_ext
构建'psyco._psyco'扩展
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -DALL_STATIC = 1 -Ic/ivm -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 - cc/psyco.c -o build/temp.macosx-10.6-universal-2.6/c/psyco.o
在c/initialize.h:48中包含的文件中,
来自c/psyco.c:14:
c/psyfunc.c :在函数'psycofunction_call':
C/psyfunc.c:801:警告:从兼容的指针类型传递参数2 'PyDict_Next'的
在文件中包含从C/initialize.h:49,
从C/psyco.c:14:
ç /stats.c:在函数'psyco_stats_reset'中:
c/stats.c:260:警告:从不兼容的指针类型
c/stats.c 传递'PyDict_Next'的参数2 :在函数'psyco_stats_dump'中:
c/stats.c: 298:警告:从不兼容的指针类型
c/sta 传递'PyDict_Next'的参数2 ts.c:在函数'psyco_stats_top':
C/stats.c:326:警告:从兼容的指针类型传递参数2 'PyDict_Next'的
在文件中包含从C/initialize.h:75,
从C/psyco.c: 14:
C /对象/ pstructmember.c:在函数'PsycoMember_GetOne':
C …