PHP SSRF
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Algumas funções como file_get_contents(), fopen(), file(), md5_file() aceitam URLs como entrada que elas seguirão, tornando possíveis vulnerabilidades SSRF se o usuário puder controlar os dados:
Como explicado neste post do blog, até mesmo a função do Wordpress wp_safe_remote_get
é vulnerável a DNS rebinding, tornando-a potencialmente vulnerável a ataques SSRF. A principal validação que ela chama é wp_http_validate_url, que verifica se o protocolo é http://
ou https://
e se a porta é uma das 80, 443 e 8080, mas é vulnerável a DNS rebinding.
Outras funções vulneráveis de acordo com o post são:
wp_safe_remote_request()
wp_safe_remote_post()
wp_safe_remote_head()
WP_REST_URL_Details_Controller::get_remote_url()
download_url()
wp_remote_fopen()
WP_oEmbed::discover()
Além disso, em alguns casos, pode ser até possível enviar cabeçalhos arbitrários via "vulnerabilidades" CRLF nas funções anteriores:
Para mais informações sobre essa vulnerabilidade CRLF, verifique este bug https://bugs.php.net/bug.php?id=81680&edit=1
Observe que essas funções podem ter outros métodos para definir cabeçalhos arbitrários em solicitações, como:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)