nginx反向代理钓鱼
一、反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
二、部署配置
1.安装nginx
不做赘述,具体百度。
2.配置文件
打开nginx的配置文件/etc/nginx/nginx.conf
,具体虚拟主机的配置包含在另一个文件中
打开/etc/nginx/conf.d/
文件夹,新建一个test.conf文件,做具体的信息配置。
1 | server{ |
server_name
为域名,这里我用自己服务器的ipaccess_log
为设置输出日志的路径proxy_next_upstream
如果后端的服务器返回 502、504、执行超时等错误,自动将请求转发upstream负载均衡池中的另一台服务器,实现故障转移。proxy_pass
需要反向代理的网站proxy_set_header
用于在向反向代理的后端 Web 服务器发起请求时添加指定的 Header头信息。
当后端 Web 服务器上有多个基于域名的虚拟主机时,要通过添加 Header 头信息 Host,用于指定请求的域名,这样后端 Web 服务器才能识别该反向代理访问请求由哪一个虚拟主机来处理。
最后我们还需要设置以下 访问日志需要获取的内容 也是在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提交的用户名和密码了。
三、上手实战
使用某网站做上述配置进行反向代理,配置完成后访问自己服务器ip,可以看到是自己的ip,显示目标系统的界面,说明反向代理成功。
进行登录操作后,可以在日志中看到获取的cookie
使用cookie进行登录访问,成功进入。