Am o configurație foarte simplă. Trei containere în docker între care vreau să comunic, nimic altceva. Atacatorul (kali cu nginx), proxy invers (alpin cu nginx) și victimă (alpin).
Aș dori, în interiorul victimei, să curl reverse-proxy și să obțin site-ul web al atacatorului.
Până acum pot obține site-ul atacatorului direct de curl http://172.17.0.2:5555
și reverse-proxy este de curl http://172.17.0.3/
. Dar când o fac curl http://172.17.0.3/merlin
Eu iau:
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.18.0</center>
</body>
</html>
Pentru reverse-proxy (172.17.0.3) my /etc/nginx/conf.d/default.conf
:
Server {
asculta 80;
asculta [::]:80;
server_name proxy;
#access_log /var/log/nginx/host.access.log principal;
Locație / {
root /usr/share/nginx/html;
index index.html index.htm;
}
locație /merlin {
proxy_pass http://172.17.0.2:5555;
}
#error_page 404 /404.html;
# redirecționează paginile de eroare ale serverului către pagina statică /50x.html
#
pagina_eroare 500 502 503 504 /50x.html;
locație = /50x.html {
root /usr/share/nginx/html;
}
}
Pentru atacator (172.17.0.2) my /etc/nginx/conf.d/default.conf
:
Server {
asculta 5555;
asculta [::]:5555;
nume_server gazdă locală;
#access_log /var/log/nginx/host.access.log principal;
Locație / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirecționează paginile de eroare ale serverului către pagina statică /50x.html
#
pagina_eroare 500 502 503 504 /50x.html;
locație = /50x.html {
root /usr/share/nginx/html;
}
}
Grant Collins pe YouTube a reușit ceva similar, dar pur și simplu nu pot să-l fac să funcționeze.