本篇内容主要讲解“Nginx反向代理钓鱼怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Nginx反向代理钓鱼怎么实现”吧!
什么是反向代理
这里我找了一段比较官方的解释。
反向代理(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/
location / { #如果后端的服务器返回 502、504、执行超时等错误,自动将请求转发到 upstream 负载均衡池中的 另一台服务器,实现故障转移。 proxy_next_upstream http_502 http_504 error timeout invalid_header; proxy_pass https://www.xxx.com/; proxy_set_header Host 39.xxx.xxx.9; proxy_set_header X-Forwarded-For $remote_addr; }
proxy_set_header 指令用于在向反向代理的后端 Web 服务器发起请求时添加指定的 Header头信息。
当后端 Web 服务器上有多个基于域名的虚拟主机时,要通过添加 Header 头信息 Host,用于指定请求的域名,这样后端 Web 服务器才能识别该反向代理访问请求由哪一个虚拟主机来处理。(39.xxx.xxx.9是我的vps地址。www.xxx.com是要反向代理的目标)
最后我们还需要制定以下 访问日志需要获取的内容 也是在nginx.conf里修改.在http下
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反向代理钓鱼怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!