id: xff-403-bypass info: name: X-Forwarded-For 403-forbidden bypass author: vavkamil severity: info description: Template to detect 403 forbidden endpoint bypass behind Nginx/Apache proxy & load balancers, based on X-Forwarded-For header. metadata: max-request: 3 tags: fuzz,fuzzing http: - raw: - | GET / HTTP/1.1 Host: {{Hostname}} Accept: */* - | GET / HTTP/1.1 Host: {{Hostname}} Accept: */* X-Forwarded-For: 127.0.0.1, 0.0.0.0, 192.168.0.1, 10.0.0.1, 172.16.0.1 - | GET /test.txt HTTP/1.1 Host: {{Hostname}} Accept: */* X-Forwarded-For: 127.0.0.1, 0.0.0.0, 192.168.0.1, 10.0.0.1, 172.16.0.1 matchers: - type: dsl dsl: - "status_code_1 == 403 && status_code_2 != 403" - "status_code_1 == 403 && status_code_3 != 403" condition: or # digest: 4b0a004830460221009f64fea7400bcbc8877c50e4afb5483a30a05e2a2c7066ec486ebcd7943f0499022100b2e538bdc2f9f19c9ed3577d497c923a94f93e64439dcc71c68a56e0baaf5802:922c64590222798bb761d5b6d8e72950