
CLI टूल HTTP Request Smuggling कमजोरियों का पता लगाने के लिए समय-विलंब विश्लेषण का उपयोग करता है, जिसमें स्वचालित सुरक्षा परीक्षण के लिए अंतर्निर्मित CL.TE और TE.CL पेलोड शामिल हैं।
HTTP request smuggling एक उच्च गंभीरता वाली कमजोरी है जो एक तकनीक है जहां हमलावर सुरक्षा नियंत्रणों को दरकिनार करने और दुर्भावनापूर्ण गतिविधियों को करने के लिए अनधिकृत पहुंच प्राप्त करने के लिए एक अस्पष्ट HTTP अनुरोध को तस्करी करता है, यह कमजोरी पहली बार 2005 में watchfire द्वारा खोजी गई थी और बाद में अगस्त 2019 में James Kettle - (albinowax) द्वारा पुनः खोजी गई और DEF CON 27 और Black-Hat USA में प्रस्तुत की गई, इस कमजोरी के बारे में अधिक जानने के लिए आप Portswigger वेबसाइट पर उनके सुव्यवस्थित शोध ब्लॉग का संदर्भ ले सकते हैं। तो इस सुरक्षा उपकरण के पीछे का विचार किसी दिए गए होस्ट के लिए HRS कमजोरी का पता लगाना है और पता लगाना दिए गए permutes के साथ समय विलंब तकनीक पर आधारित है, इसलिए इस उपकरण के बारे में अधिक जानने के लिए मैं आपको इस उपकरण के बारे में मेरी ब्लॉग पोस्ट पढ़ने की अत्यधिक सलाह देता हूं।
यह उपकरण python का उपयोग करके लिखा गया है और इस उपकरण का उपयोग करने के लिए आपके स्थानीय मशीन में python संस्करण 3.x स्थापित होना चाहिए। यह एक URL या URL की सूची का इनपुट लेता है जिसे आपको एक टेक्स्ट फ़ाइल में प्रदान करना होता है और HRS कमजोरी का पता लगाने की तकनीक का पालन करते हुए, उपकरण में निर्मित पेलोड होते हैं जिनमें लगभग 37 permutes और CL.TE और TE.CL दोनों के लिए पता लगाने वाले पेलोड होते हैं और प्रत्येक दिए गए होस्ट के लिए यह इन पेलोड का उपयोग करके हमले के अनुरोध वस्तु उत्पन्न करेगा और प्रत्येक अनुरोध के लिए प्रतिक्रिया प्राप्त करने के बाद बीता हुआ समय की गणना करेगा और कमजोरी का निर्णय लेगा लेकिन अधिकांश समय संभावना है कि यह गलत सकारात्मक हो सकता है, इसलिए कमजोरी की पुष्टि करने के लिए आप burp-suite turbo intruder का उपयोग कर सकते हैं और अपने पेलोड का प्रयास कर सकते हैं।
किसी भी लक्ष्य को स्कैन करने से पहले कुछ कानूनी अस्वीकरणों को जानना काफी महत्वपूर्ण है, आपके पास किसी भी लक्ष्य को स्कैन करने से पहले उचित प्राधिकरण होना चाहिए अन्यथा मैं सुझाव देता हूं कि इस उपकरण का उपयोग अनधिकृत लक्ष्य को स्कैन करने के लिए न करें क्योंकि कमजोरी का पता लगाने के लिए यह (--retry) विकल्प का उपयोग करके कई बार कई पेलोड भेजता है जिसका अर्थ है कि यदि कुछ गलत हो जाता है तो संभावना है कि बैकएंड सॉकेट पेलोड से दूषित हो सकता है और उस विशेष वेबसाइट के किसी भी वास्तविक आगंतुक को वेबसाइट की वास्तविक सामग्री देखने के बजाय दूषित पेलोड दिखाई दे सकता है। इसलिए मैं किसी भी लक्ष्य वेबसाइट को स्कैन करने से पहले उचित सावधानी बरतने की अत्यधिक सलाह देता हूं अन्यथा आपको कुछ कानूनी समस्या का सामना करना पड़ेगा।
git clone https://github.com/anshumanpattnaik/http-request-smuggling.git
cd http-request-smuggling
pip3 install -r requirements.txt
usage: smuggle.py [-h] [-u URL] [-urls URLS] [-t TIMEOUT] [-m METHOD]
[-r RETRY]
HTTP Request Smuggling vulnerability detection tool
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL set the target url
-urls URLS, --urls URLS
set list of target urls, i.e (urls.txt)
-t TIMEOUT, --timeout TIMEOUT
set socket timeout, default - 10
-m METHOD, --method METHOD
set HTTP Methods, i.e (GET or POST), default - POST
-r RETRY, --retry RETRY
set the retry count to re-execute the payload, default
- 2
python3 smuggle.py -u <URL>
python3 smuggle.py -urls <URLs.txt>
यदि आपको लगता है कि पता लगाने वाले पेलोड को अधिक सटीक बनाने के लिए बदलने की आवश्यकता है तो आप payloads.json फ़ाइल में detection सरणी के पेलोड को अपडेट कर सकते हैं।
"detection": [
{
"type": "CL.TE",
"payload": "\r\n1\r\nZ\r\nQ\r\n\r\n",
"content_length": 5
},
{
"type": "TE.CL",
"payload": "\r\n0\r\n\r\n\r\nG",
"content_length": 6
}
]
यह प्रोजेक्ट MIT लाइसेंस के तहत लाइसेंस प्राप्त है।