安全研究 | Nginx反向代理钓鱼

安全 应用安全
反向代理(Reverse Proxy)是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

什么是反向代理

这里我找了一段比较官方的解释。

反向代理(Reverse Proxy)是指以代理服务器来接受 Internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 Internet 上请求连接的客户端,此时代理服务器对外就表现为一个服务器。我自己的理解 代理服务器就是充当了一个“中间人”。如果理解的不恰当还请师傅们指出来哈。

Nginx反向代理实例

这里拿我的一台vps做演示 ip:39.xxx.xxx.x。因为vps上装了宝塔 而且 又在宝塔里装了Nginx。

首先找到Nginx的目录。在我的vps上 目录是/www/server/nginx/

找到/www/server/nginx/config/nginx.conf文件

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

  1. location / {   
  2.  #如果后端的服务器返回 502、504、执行超时等错误,自动将请求转发到 upstream 负载均衡池中的 
  3. 另一台服务器,实现故障转移。 
  4.       proxy_next_upstream http_502 http_504 error timeout invalid_header;  
  5.    proxy_pass https://www.xxx.com/;  
  6.    proxy_set_header Host 39.xxx.xxx.9;  
  7.    proxy_set_header X-Forwarded-For $remote_addr; 
  8.   } 

proxy_set_header 指令用于在向反向代理的后端 Web 服务器发起请求时添加指定的 Header头信息。

当后端 Web 服务器上有多个基于域名的虚拟主机时,要通过添加 Header 头信息 Host,用于指定请求的域名,这样后端 Web 服务器才能识别该反向代理访问请求由哪一个虚拟主机来处理。(39.xxx.xxx.9是我的vps地址。www.xxx.com是要反向代理的目标)


最后我们还需要制定以下 访问日志需要获取的内容 也是在nginx.conf里修改.在http下

  1. log_format TestLog escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body' $http_cookie; 

TestLog 要和上面的access_log对应不然日志不会起作用。 

重点是$request_body(获取post数据),$http_cookie(获取cookie数据)这就是我们钓鱼的核心了。当有人访问并登陆我们反向代理的网站以后 我们点开日志就可以看到他的cookie和post提交的用户名和密码了。

反向代理钓鱼实例

这里我用我们学校的一个测试系统举例子 按照上面步骤反向代理学校的测试系统


之后看到一个一模一样的界面。为了怕学校领导找上门来我把css都撤了 哈哈哈。

这时候叫上万能的舍友来登陆一波康康。

根据Nginx.conf确定日志路径在/www/wwwlogs/access.log。讲道理舍友登陆了以后应该记录了 他登陆时提交的post 里面应该包含账号密码。和登录后的cookie信息。

访问日志后看到登陆时的账号密码。目标站为https 不过问题不大JSESSIONID后面的是获取到舍友登陆后的cookie。直接替换cookie即可登陆舍友的账号。

burp进行正则匹配cookie后进行替换。最后成功登陆。

写在最后

本文更多的是根据自己的理解去写的,如果哪里理解或是操作有问题 ,麻烦各位大佬指出来。感谢感谢。最后如果有对Nginx不太了解的,可以去看一下《实战Nginx:取代Apache的高性能Web服务器》这本书,当时也是国光大佬推荐我的,很不错。

 

责任编辑:赵宁宁 来源: FreeBuf
相关推荐

2022-07-01 07:33:24

nginx反向代理测试

2023-12-05 09:14:54

2020-10-22 08:05:46

Nginx

2018-11-12 12:17:00

2019-06-19 15:34:39

Nginx反向代理负载均衡

2014-04-29 14:54:48

Nginx反向代理

2023-09-13 07:16:31

Ngnix代理服务器

2024-07-22 15:34:25

2017-09-06 10:14:29

Nginx TCPmail邮件

2017-12-18 12:04:02

Nginx代理均衡

2019-11-04 15:35:53

Nginx反向代理负载均衡

2019-09-18 10:39:08

负载均衡反向代理TCP

2018-01-10 10:15:48

NginxIP问题

2014-03-28 14:20:04

2020-07-28 15:10:34

Nginx反向代理负载均衡

2012-12-07 10:14:48

Nginx负载均衡

2011-08-30 11:32:53

UbuntuNginx

2010-03-29 17:56:20

Nginx反向代理

2024-08-07 14:56:00

Nginx反向代理配置

2015-06-05 11:26:58

nginx运维
点赞
收藏

51CTO技术栈公众号