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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2023-50164 — CVE-2023-50164 के लिए Apache Struts2 में पहचान स्क्रिप्ट, जो PowerShell और Bash टूल प्रदान करती है ताकि फ़ाइल सिस्टम और आर्काइव में कमज़ोर संस्करणों को स्कैन किया जा सके। | Kitploit
उपकरण/GitHubGitHub/helsecert/cve-2023-50164
भेद्यता विश्लेषणकोड विश्लेषणशोषणजानकारी एकत्र करनावेब सुरक्षापेनिट्रेशन टेस्टिंग
GitHubhelsecert/cve-2023-50164

cve-2023-50164

CVE-2023-50164 के लिए Apache Struts2 में पहचान स्क्रिप्ट, जो PowerShell और Bash टूल प्रदान करती है ताकि फ़ाइल सिस्टम और आर्काइव में कमज़ोर संस्करणों को स्कैन किया जा सके।

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

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

सभी देखें →

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

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

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

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

CVE-2023-50164

कमजोर संस्करण

  • Struts 2.0.0 - Struts 2.3.37 (EOL)
  • Struts 2.5.0 - Struts 2.5.32
  • Struts 6.0.0 - Struts 6.3.0

जहां कमजोरी बंद की गई है उन संस्करण

  • Struts 2.5.33
  • Struts 6.3.0.2

खोज के लिए स्क्रिप्ट

Windows/PowerShell

Powershell 5.1 और उससे नए के लिए। Kjetil Sigvartsen द्वारा लिखित, Norsk helsenett SF में।

root@kitploit:~
[String[]]$Extensions = @('*.jar', '*.war', '*.ear')
[string]$searchString = 'struts2-core'

foreach ($Disk in (Get-CimInstance Win32_LogicalDisk)) {

    [string]$DriveLetter = $Disk.DeviceID
    [string]$Path        = "$($driveLetter)\"

    foreach ($ChildItem in (Get-ChildItem -Path $Path -Recurse -Include $Extensions -File -ErrorAction SilentlyContinue)) {
        [String]$FilePath = $ChildItem.FullName
        $Content  = Get-Content -Path $filePath -Raw
        if ($Content -like "*$searchString*") {
            Write-Output $filePath
        } #if
    } #foreach

} #foreach

Windows/PowerShell मल्टी-थ्रेडेड

Powershell 5.1 और उससे नए के लिए। Kjetil Sigvartsen द्वारा लिखित, Norsk helsenett SF में। यह अधिक CPU-गहन हो सकता है, लेकिन ऊपर वाले संस्करण की तुलना में काफी तेज़ होगा। ध्यान दें कि C:\Windows को गति के लिए फ़िल्टर किया गया है। यदि अधिक विस्तृत आउटपुट चाहिए, तो स्क्रिप्ट के शीर्ष पर निम्नलिखित जोड़ें:

root@kitploit:~
$VerbosePreference = 'Continue'

कोड इस प्रकार है:

root@kitploit:~
[String[]]$Extensions = @('*.jar', '*.war', '*.ear')
[string]$searchString = 'struts2-core'
[string[]]$Exceptions = @('C:\Windows')

foreach ($Disk in (Get-CimInstance Win32_LogicalDisk)) {

    [string]$DriveLetter = $Disk.DeviceID
    [string]$Path        = "$($driveLetter)\"

    Write-Verbose -Message "Working on $Path"

    try {
        [System.IO.DirectoryInfo[]]$Folders = Get-ChildItem -Path $Path -Directory -ErrorAction Stop
    } #try
    catch {
        Write-Verbose -Message "Unable to get child folders in disk $Path"
        continue
    } #catch

    [System.Management.Automation.Job[]]$Jobs = $Null
    [System.Management.Automation.Job[]]$Jobs = foreach ($Folder in $Folders) {
        [string]$JobName = $Path + $Folder.Name

        if ($Exceptions -contains $JobName) {
            Write-Verbose -Message "Skipping $JobName, in exception list"
            continue
        } #if

        Write-Verbose -Message "Starting jobs for $JobName"

        Start-Job -Name $JobName -ScriptBlock {
            Return (Get-ChildItem -Path $Using:JobName -Recurse -Include $Using:Extensions -File -ErrorAction SilentlyContinue)
        } #Start-Job
    } #Foreach


    [System.Object[]]$JobResults = $Null
    [System.Object[]]$JobResults = Receive-Job -Job $Jobs -AutoRemoveJob -Wait -ErrorAction Stop

    [System.Management.Automation.Job[]]$RemainingJobs = $Null
    [System.Management.Automation.Job[]]$RemainingJobs = get-Job -Name "$Path*" -ErrorAction Stop

    if ($RemainingJobs) {
        Write-Verbose -Message "$($RemainingJobs.count) jobs remaining"
    } #if


    foreach ($ChildItem in $JobResults) {
        [String]$FilePath = $ChildItem.FullName
        [string]$Content  = Get-Content -Path $filePath -Raw
        if ($Content -like "*$searchString*" -or $FilePath -like "*$searchString*") {
            Write-Output $filePath
        } #if
    } #foreach

} #foreach

Linux/Bash

root@kitploit:~
sudo find / -type f \( -iname "*.jar" -o -iname "*.war" -o -iname "*.ear" \) -exec grep -Fl "struts2-core" {} 2>/dev/null \;

परिणामों की व्याख्या

स्क्रिप्ट उन फ़ाइलों को सूचीबद्ध करेंगी जो struts2 कोर लाइब्रेरी हैं या उसमें शामिल हैं। इसके कुछ उदाहरण:

/sti/til/mappe/struts2-core-6.3.0.2.jar - यहां struts2 कोर लाइब्रेरी सीधे फाइलसिस्टम पर स्थित है, और संस्करण 6.3.0.2 है, जहां कमजोरी बंद की गई है।

/sti/til/mappe/apps/struts2-showcase-6.3.0.2.war - यहां struts2 कोर लाइब्रेरी .war फ़ाइल के अंदर स्थित है, जहां यह देखने के लिए सामग्री को सूचीबद्ध किया जाना चाहिए कि Struts2 का कौन सा संस्करण शामिल है:

Linux/Bash

root@kitploit:~
$ unzip -l /sti/til/mappe/apps/struts2-showcase-6.3.0.2.war | fgrep struts2-core
  1519992  2023-12-05 05:58   WEB-INF/lib/struts2-core-6.3.0.2.jar

Windows/PowerShell:

Powershell 5.1 और उससे नए के लिए। Kjetil Sigvartsen द्वारा लिखित, Norsk helsenett SF में।

root@kitploit:~
[string[]]$ZipFiles = @(
	'C:\sti\til\mappe\apps\struts2-showcase-6.3.0.2.war'
)

Add-Type -AssemblyName System.IO.Compression.FileSystem

foreach ($ZipFile in $ZipFiles) {
	foreach ($Entry in ([System.IO.Compression.ZipFile]::OpenRead($zipFile).Entries)) {
		if ($Entry.FullName -like "*struts2-core*") {
			Write-Output $Entry.FullName
		} #if
	} #foreach
} #foreach
टूल डाउनलोड करें