Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
log4jcheck — Log4j भेद्यता CVE-2021-44228 के विरुद्ध URL सूची की जाँच करें | Kitploit
उपकरण/GitHubGitHub/olafhaalstra/log4jcheck
भेद्यता स्कैनरवेब भेद्यता स्कैनरशोषणजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubolafhaalstra/log4jcheck

log4jcheck

Log4j भेद्यता CVE-2021-44228 के विरुद्ध URL सूची की जाँच करें

रिपॉजिटरी देखें
514 साल पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Log4j CVE-2021-44228 जाँचकर्ता

बहु-थ्रेडेड रूप से POST और GET अनुरोधों के साथ पैरामीटरों के संयोजन में URL की सूची की जाँच करता है।

यह NortwaveSecurity संस्करण से काफी प्रेरित है।

सेट-अप

जाँचने के लिए URL

जाँचने के लिए URL की सूची निम्नलिखित प्रारूप (csv) में होनी चाहिए:

root@kitploit:~
description,URL,method,parameters
production,example.com/login,POST,"username,password"
staging,example.com/search,GET,"q"
development,example.com/,GETNP,""

यह बाद में example.com/login पर एक POST अनुरोध चलाएगा जहाँ निम्नलिखित रॉ बॉडी पोस्ट की जाएगी: username={jndi:ldap...}&password={jndi:ldap...}

इसी प्रकार, यह निम्नलिखित GET अनुरोध चलाएगा: example.com/search?q={jndi:ldap...}।

वैकल्पिक रूप से आप GETNP (GET बिना पैरामीटर) निर्दिष्ट कर सकते हैं ताकि पेलोड के साथ URL पर GET किया जा सके: example.com/new/{jndi:ldap...}।

इसके अतिरिक्त, पेलोड को हिट की संभावना बढ़ाने के लिए User-Agent, Referer, X-Forwarded-For, Authentication हेडर में भी डाला जाता है।

यदि आप GET, POST या GETNP दोनों के लिए URL जाँचना चाहते हैं, तो कृपया CSV में प्रविष्टि की नकल बनाएँ।

कैनरी टोकन

बिना किसी पूर्व कॉन्फ़िगरेशन के सेट-अप करने के लिए आप https://canarytokens.org/generate का उपयोग कर सकते हैं और एक Log4Shell CanaryToken बना सकते हैं:

कैनरी टोकन

वैकल्पिक रूप से, आप अपना स्वयं का DNS सर्वर सेट-अप कर सकते हैं।

स्क्रिप्ट चलाना

pip install -r requirements.txt का उपयोग करके निर्भरताएँ स्थापित करें। अपने पसंदीदा कैनरी टोकन के लिए निम्नलिखित पंक्ति को बदलने के लिए स्क्रिप्ट को संपादित करें:

root@kitploit:~
usage: log4jcheck.py [-h] -f FILE -u URL [-w WAIT] [-t TIMEOUT] [-p PREFIX] [-q THREADS] [-d DONE]

optional arguments:
  -h, --help            show this help message and exit
  -f FILE, --file FILE  The CSV filename containing the URLs
  -u URL, --url URL     DNS subdomain URL on which th callback is performed
  -w WAIT, --wait WAIT  Number of seconds to wait before next request (default: 1)
  -t TIMEOUT, --timeout TIMEOUT
                        HTTP timeout in seconds to use (default: 5)
  -p PREFIX, --prefix PREFIX
                        Type of prefix, see prefixes_injects for options. (default: 0, options 0-3)
  -q THREADS, --threads THREADS
                        Number of threads to distribute the work
  -d DONE, --done DONE  File where we can keep track of items that are done

लॉग आउटपुट करने के लिए फ़ोल्डर बनाएँ: /run/logs। यहाँ आप प्रगति को ट्रैक कर सकते हैं, कुछ भी stdout पर नहीं भेजा जाएगा।

अब स्क्रिप्ट चलाई जा सकती है, स्क्रिप्ट को पहले बनाई गई CSV पर इंगित करते हुए जिसमें जाँचने के लिए URL हैं।

root@kitploit:~
python3 .\log4jcheck.py --file .\urls-example.csv --threads 2 --url "L4J.ujz5sgvgo7xuvn03ft9qrws5w.canarytokens.com/a" -w 0 -t 1

स्क्रिप्ट पूर्ण होने के बाद जाँचें कि क्या टोकन ट्रिगर हुआ है। आप उत्पन्न UUID4 और इंजेक्ट किए गए पैरामीटर के संयोजन के आधार पर यह पारस्परिक रूप से सहसंबंधित कर पाएंगे कि किस एप्लिकेशन ने ट्रिगर किया, उदा.: 40852c3b-2d6b-4bd5-a91f-4416aa730619-username।

परीक्षण

log4shell-vulnerable-app के विरुद्ध परीक्षण किया गया। MainControll.java को निम्नानुसार संशोधित करें:

root@kitploit:~
package fr.christophetd.log4shell.vulnerableapp;


import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

@RestController
public class MainController {

    private static final Logger logger = LogManager.getLogger("HelloWorld");

    @GetMapping("/")
    public String index(@RequestHeader("X-Api-Version") String apiVersion) {
        logger.info("Received a request for API version " + apiVersion);
        return "Hello, world!";
    }

    @GetMapping("/test")
    public String testGet(@RequestParam String test) {
        logger.info("Received a request for test " + test);
        return "Test world!";
    }

    @PostMapping("/test")
    public String test(@RequestBody String test) {
        logger.info("Received a request for test " + test);
        return "Test world!";
    }

}

संकलित करें और चलाएँ:

root@kitploit:~
gradle bootJar --no-daemon
java -jar .\build\libs\log4shell-vulnerable-app-0.0.1-SNAPSHOT.jar

निम्नलिखित urls.csv फ़ाइल के साथ log4jcheck चलाएँ:

root@kitploit:~
description,URL,method,parameters
test,http://localhost:8080/test,POST,"test"
test,http://localhost:8080/test,GET,"test"

निम्नलिखित जानकारी कैनरी टोकन लॉग में दिखाई देनी चाहिए: लॉग इनपुट

कवरेज:

निम्नलिखित HTTP हेडर कवर किए गए हैं:

  • X-Api-Version
  • User-Agent
  • Referer
  • X-Druid-Comment
  • Origin
  • Location
  • X-Forwarded-For
  • Cookie
  • X-Requested-With
  • X-Forwarded-Host
  • Accept

प्रत्येक इंजेक्शन के लिए, निम्नलिखित JNDI प्रीफिक्स संभव हैं:

  • 0: jndi:dns
  • 1: jndi:${lower:l}${lower:d}ap
  • 2: jndi:rmi
  • 3: jndi:ldap

अस्वीकरण

ध्यान दें कि स्क्रिप्ट केवल जाँच करती है: User Agent और कोई भी पैरामीटर जो आप POST या GET अनुरोध में निर्दिष्ट करते हैं। यह उन मामलों में गलत नकारात्मक परिणाम देगा जहाँ भेद्यता को ट्रिगर करने के लिए अन्य हेडर, छूटे हुए इनपुट फ़ील्ड, आदि को लक्षित करने की आवश्यकता होती है। बेझिझक स्क्रिप्ट में अतिरिक्त जाँचें जोड़ें।

लाइसेंस

Log4jcheck MIT लाइसेंस के तहत लाइसेंस प्राप्त ओपन-सोर्स सॉफ्टवेयर है।

टूल डाउनलोड करें