nginx反向代理及钓鱼应用

admin 2023年10月22日17:01:43评论16 views字数 3036阅读10分7秒阅读模式

前言

简单来说,反向代理就是客户端并不知道访问的服务器的真实ip是什么。

比如说,我在一台nginx服务器192.168.23.135上配置了一条信息

访问192.168.23.135:9998,其实访问的是https://www.baidu.com这个网站

nginx反向代理及钓鱼应用

nginx环境搭建

作为演示,用kali自带的nginx就行了,什么编译或者yum安装之类的不是重点,就不整了。

注意

我们在使用的时候可能遇到报错 Failed to start A high performance web server and a reverse proxy server.

netstat -antup检查kali是否开启了80端口。nginx出现这个问题大部分是因为端口已经被占用。

nginx反向代理及钓鱼应用

关闭相关端口:

fuser -k 80/tcpfuser -k 443/tcp

nginx反向代理及钓鱼应用

nginx反向代理

nginx的配置文件:vim /etc/nginx/nginx.conf

nginx反向代理及钓鱼应用

可以看到nginx默认加载conf.d目录下所有conf结尾的文件,我们可以把配置文件写在路径下,或者写在别处,但是记得通过include引用,格式与图片保持一致即可。

代理域名 http

以反向代理http://www.baidu.com举例

test.conf

server {        listen 9999;        server_name 192.168.23.135; # 你自己的ip或者域名        charset utf-8;        location / {          proxy_pass http://www.baidu.com;          proxy_set_header Accept-Encoding deflate;          sub_filter_once off;          sub_filter www.baidu.com mirror.example.com;             proxy_redirect off;          proxy_set_header        X-Real-IP       $remote_addr;          proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;          proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;          proxy_max_temp_file_size 0;          proxy_connect_timeout 90;          proxy_send_timeout 90;          proxy_read_timeout 90;          proxy_buffer_size 4k;          proxy_buffers 4 32k;          proxy_busy_buffers_size 64k;          proxy_temp_file_write_size 64k;        }  }

保存在/etc/nginx/conf.d路径下

nginx反向代理及钓鱼应用

nginx -s reload重新加载配置文件

nginx反向代理及钓鱼应用

备注:有点奇怪,之前可以直接看,后面再测试的时候会302跳转到https://www.baidu.com ,暂时不清楚为啥


代理域名 https

代理https需要的步骤多一些,我们需要一个ssl证书,可以去相关网站申请,或者kali生成一个。

不过自己生成的证书不会被承认,浏览器访问后会给出该链接不安全。

mkdir /usr/local/ssl/openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -keyout /usr/local/ssl/nginx.key -out /usr/local/ssl/nginx.crt

反向代理https://www.baidu.com

server {    listen 9998 ssl;    server_name  192.168.23.135;    ssl_certificate /usr/local/ssl/nginx.crt;       #证书公钥    ssl_certificate_key  /usr/local/ssl/nginx.key;  #证书私钥    ssl_session_cache shared:SSL:1m;    ssl_session_timeout 5m;    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!3DES:!aNULL:!eNULL;    ssl_prefer_server_ciphers on;    proxy_ssl_server_name on;    # 下面这段location配置是关键    location / {       sub_filter www.baidu.com 192.168.23.135;       sub_filter_once off;       proxy_ssl_session_reuse off;       proxy_set_header X-Real-IP $remote_addr;       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;       proxy_set_header Referer https://www.baidu.com;       proxy_set_header Host www.baidu.com;       proxy_pass https://www.baidu.com;       proxy_set_header Accept-Encoding "";    }}

nginx -s reload重新加载配置文件

nginx反向代理及钓鱼应用

反向代理的应用

nginx反向代理钓鱼

这里推荐一片文章 nginx反向代理钓鱼 https://mp.weixin.qq.com/s/bCmEjZ0bQgN5MeFOZm_4_g

我这里就不用真实的网站举例,简单的用python开一个

nginx反向代理及钓鱼应用

配置反向代理

server{    listen 8081; # 监听端口    server_name 192.168.23.135; # 本机真实IP    location / {        proxy_pass http://192.168.23.1:8000/; # 反代的网站,即想要伪造的网站        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{}中添加一句话

log_format testLog escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body' $http_cookie;

重新加载配置文件 nginx -s reload

nginx反向代理及钓鱼应用

模拟输入用户名密码,访问网站

nginx反向代理及钓鱼应用

nginx反向代理及钓鱼应用

python开的web不支持POST,不过没关系,主要看日志文件

nginx反向代理及钓鱼应用

可以看到日志文件里记录了输入的账号密码和Cookie

有点中间人的感觉


参考链接

nginx反向代理网站镜像 - 孙凯亮 - 博客园 (cnblogs.com)

https://codeleading.com/article/59955144984/

https://mp.weixin.qq.com/s/bCmEjZ0bQgN5MeFOZm_4_g





原文始发于微信公众号(进击的HACK):nginx反向代理及钓鱼应用

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月22日17:01:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   nginx反向代理及钓鱼应用http://cn-sec.com/archives/2135056.html

发表评论

匿名网友 填写信息