什么是反向代理这里我找到了比较官方的解释。反向代理(ReverseProxy)是指使用代理服务器接受Internet上的连接请求,然后将请求转发给内网的服务器,并将从服务器得到的结果返回给请求连接的客户端互联网。此时代理服务器对外充当服务器。我自己的理解是代理服务器起到了“中间人”的作用。如有理解不当,请高手指出。Nginx反向代理示例下面是我的vpsip:39.xxx.xxx.x的demo。因为在vps上安装了宝塔,而在宝塔中安装了Nginx。首先找到Nginx的目录。我的vps上的目录是/www/server/nginx/找到/www/server/nginx/config/nginx.conf文件反向代理https://www.xxx.com/location/{#如果后端服务器返回502、504、执行超时等错误,自动将请求转发到上游负载均衡池中的另一台服务器,实现故障转移。proxy_next_upstreamhttp_502http_504errortimeoutinvalid_header;proxy_passhttps://www.xxx.com/;proxy_set_headerHost39.xxx.xxx.9;proxy_set_headerX-Forwarded-For$remote_addr;}proxy_set_header指令用于添加指定的Header头信息。当后端web服务器上有多个基于域名的虚拟主机时,需要通过添加Header头信息Host来指定请求的域名,以便后端web服务器识别是哪个虚拟主机反向代理访问请求来自。处理。(39.xxx.xxx.9是我的vps地址。www.xxx.com是反向代理的目标)最后我们还需要制定如下访问日志,在nginx.conf中修改。log_formatTestLogescape=json'$request_filename$http_x_forwarded_for$fastcgi_script_name$document_root$request_bodyunderhttp'$http_cookie;TestLog要和上面的access_log对应,不然log就不行了。重点是$request_body(获取post数据),$http_cookie(获取cookie数据),这是我们钓鱼的核心。当有人访问并登录我们的反向代理网站时,我们可以通过点击日志看到他的cookie以及邮寄提交的用户名和密码。反向代理钓鱼示例这里我以我们学校的一个考试系统为例。按照上面的步骤反向代理学校的考试系统后,看到一模一样的界面。为了怕校领导找上门,我把css都撤了,哈哈哈。这个时候叫全能室友登录一波康康。根据Nginx.conf确定日志路径在/www/wwwlogs/access.log中。按理说,室友登录后,应该在登录时提交的帖子里记录账号密码,以及登录后的cookie信息。访问日志后可以看到登录时的账号密码,目标站点是https,不过问题不大。JSESSIONID后面的是在室友登录后获取cookie,替换cookie即可登录室友账号。Burp对cookie进行正则匹配,然后替换它。终于成功登陆了。写在最后,这篇文章更多是基于自己的理解写的。如有理解或操作上的问题,请指出。谢谢谢谢。最后,如果你对Nginx不是很了解,可以看一本书《实战Nginx:取代Apache的高性能Web服务器》。当时也是国光先生推荐的,非常不错。
