
नेटवर्क पर उजागर .SVN फ़ोल्डर के माध्यम से सभी वेब संसाधनों को निकालने के लिए सरल स्क्रिप्ट।
कई बार वेब एप्लिकेशन पेन-टेस्टर्स को .svn फ़ोल्डरों की उपस्थिति का सामना करना पड़ता है। उन लोगों के लिए जो नहीं जानते, .svn फ़ोल्डर का उपयोग SVN संस्करण नियंत्रण प्रणाली द्वारा अपने कार्यों को करने के लिए किया जाता है। ब्लैकबॉक्स पेंटेस्ट के लिए इस फ़ोल्डर में भारी मात्रा में जानकारी होती है।
कुछ प्रमुख क्षेत्र जहाँ यह मदद कर सकता है, निम्नलिखित हैं।
छिपी हुई फ़ाइलों और फ़ोल्डरों के नाम उजागर करें
फ़ाइलों के स्रोत कोड तक पहुंच प्राप्त करें।
फ़ाइलों को डाउनलोड करें भले ही htaccess पर प्रतिबंध लगे हों।
यह कैसे प्राप्त किया जा सकता है।
उपयोग में आने वाले SVN के संस्करण के आधार पर इसे प्राप्त करने के दो तरीके हैं।
<1.6 के लिए हमारे पास .svn/entries फ़ाइलें थीं जिनमें फ़ाइलों/फ़ोल्डरों की सूची के साथ-साथ उन फ़ाइलों को कमिट करने के लिए उपयोग किए गए उपयोगकर्ता नाम भी शामिल थे।
1.6 के लिए हमारे पास .svn/wc.db है जिसमें समान डेटा होता है लेकिन sqlite3 प्रारूप में।
ये फ़ाइलें URL के माध्यम से सीधे सुलभ हो सकती हैं।
SVN सभी फ़ाइलों की बैकअप प्रति दो अलग-अलग स्थानों पर रखता है।
जहाँ
filename फ़ाइल का वास्तविक नाम है।
CHECKSUM फ़ाइल का Sha1 योग है।
XX, CHECKSUM के पहले दो अक्षर हैं।
पहले प्रकार की प्रविष्टियों में एक सीमा है, मान लीजिए फ़ाइल का नाम testme.php है तो पथ बन जाता है।
.svn/text-base/testme.php.svn-base
बड़ी संख्या में सर्वर फ़ाइल को निष्पादित करेंगे और आउटपुट प्रस्तुत करेंगे।
यहीं विकल्प 2 बेहतर होता है, हालांकि यह जानकारी केवल wc.db (>1.6 SVN संस्करण) के मामले में उपलब्ध होती है और इसके लिए आवश्यक है कि .sv/pristine निर्देशिका वेब-सुलभ हो।
हालाँकि बहुत खोजने के बाद मैं एक ऐसा कोड खोजने में असमर्थ रहा जो इन दोनों कार्यों को एक साथ कर सके।
तो यहाँ एक उपकरण है जो दोनों ऑपरेशनों को एक स्क्रिप्ट में कर सकता है।
न्यूनतम
svn-extractor.py --url "url with .svn available"
सभी विकल्प
$ python svnextractor.py --help
usage: svn_extractor.py [-h] --url TARGET [--debug] [--noextract] [--userlist]
[--wcdb] [--entries] [--proxy PROXY] [--match MATCH]
This program is used to extract the hidden SVN files from a webhost
considering either .svn entries file (<1.6) or wc.db (> 1.7) are available
online. This program actually automates the directory navigation and text
extraction process
optional arguments:
-h, --help show this help message and exit
--url TARGET Provide URL
--debug Provide debug information
--noextract Don't extract files just show content
--userlist show the usernames used for commit
--wcdb check only wcdb
--entries check only .svn/entries file
--proxy PROXY Provide HTTP Proxy in http(s)://host:port format
--match MATCH only download files that match regex
Credit (C) Anant Shrivastava http://anantshri.info Greets to Amol Naik, Akash
Mahajan, Prasanna K, Lava Kumar for valuable inputs
यह कहना अनुचित होगा कि मैंने सारा शोध स्वयं किया, इसलिए यहाँ उन विभिन्न संसाधनों के लिंक दिए गए हैं जिनका उपयोग मैंने जानकारी प्राप्त करने के लिए किया।
http://pen-testing.sans.org/blog/pen-testing/2012/12/06/all-your-svn-are-belong-to-us (wc.db के लिए मैन्युअल तकनीक)
http://www.adamgotterer.com/post/28125474053/hacking-the-svn-directory-archive (.svn/entries के लिए मैन्युअल तकनीक)
http://www.cirt.net/svnpristine (wc.db संबंधी कार्य करने वाला एकमात्र स्वचालित उपकरण जो मैं ऑनलाइन खोज सका)