New on LowEndTalk? Please Register and read our Community Rules.
[INFO] HTTPoxy Vulnerability may impact to web servers

Read https://www.kb.cert.org/vuls/id/797896 dan https://httpoxy.org/
This vulnerability may impact for all web servers.
Run 'wget -S --header="Proxy: 1.2.3.4:8080" https://yourdomain.com' for testing. If return something like 'ERROR 403: Forbidden' that mean website is 'safe'.
Comments
How to mitigate: https://httpoxy.org/#fix-now
Yes. Kloxo-MR 7.0 already fixed this issue for all webservers (apache, lighttpd, nginx and hiawatha).
Running nginx 1.4.1/php-fpm and behind cloudflare, inserted the code in the website conf but it's getting through.
Wait, wha. CloudFlare does not filter that by now? If that's really true...bwahahaha, and THEY claim to keep away bots and hackers from websites? Wow.
I'm sure they'll have that filtered eventually
Cloudflare filters it for me here.
Do you mean support.lowend.io ?
Cloudflare actually does a pretty good job. I use just their free plan and it's pretty amazing on how much it cleans up logs (going from logs full of tons of exploit scans and bots hitting to practically nothing with Cloudflare enabled).
No, one of my own websites behind Cloudflare.
works with google.com as well.
@Amitz Right now on "High" mode but it ain't working here.
It also goes through lowendtalk.com.
Not sure why but I've set the nginx fastcgi parameters as suggested, even if it did go through cloudflare, why is my server not mitigating it.
Test for my own website:
And test for this forum:
probably testing wrong target as it's for php-fpm/cgi for some folks and their web apps
test with php file httpoxy.php
and
if returns back empty = not vulnerable
FYI php 5.5.38, 5.6.24 and 7.0.9 have been released with native fixes for HTTPoxy too
for PHP https://access.redhat.com/solutions/2442861
It returns empty while using https (cloudflare flexible)
but on http I get moved permanently html (probably my php app)Secondly, I did notice all the php and it's module updates while performing an update (centos remi repo)
So, let's me clarify this. Because fixing this bug doesn't seem like a big priority to me.
If I understand correctly, this can create troubles only if your software uses the HTTP_PROXY environment variable to make requests somewhere else. Otherwise, it will work just fine without issues.
Edit: Something like this... https://github.com/httpoxy/php-fpm-httpoxy-poc Guzzle apparently trusts the HTTP_PROXY environment variable to make requests
Correct me if I am wrong, thanks.
Inheritance issue maybe? If you set the
fastcgi_param
inhttp { }
, for example. Then in a server section have something likelocation \.php$ { }
with more fastcgi_params in it, even if the location's fastcgi_params are not the same, Nginx throws out all the fastcgi_params declared higher up. So it's best to include this workaround in a general file (e.g. Debian's fastcgi_params file, or something).Nobody read the CloudFlare blog post about this? They are only blocking harmful requests, not all requests on the free plan and if you wish, you can block all requests via a WAF rule that you can enable.
CloudFlare actually does a pretty good job in disabling domains when they get attacked if you don't use their Business or Enterprise plans.
Right, but they're not disabling domains over some bot/exploit scans. They do that when you're getting heavy DDoS attacks.
Not seeing the "403" error on a web site when you send a Proxy header, doesn't always mean that it isn't protected.
If you use the method to block the Proxy header by adding this into your Apache configuration:
RequestHeader unset Proxy early
Then the server removes the Proxy header, the site returns a normal HTTP 200 response and you are protected, as the Proxy header is now removed and will not reach your PHP/CGI application.
You see a 403 error only if you block the Proxy header with a ModSecurity rule and you have not already added the above line into your Apache configuration. If you add both the above line into Apache configuration and a ModSecurity rule, you see again a 200 response, because Apache removes the Proxy header before it reaches ModSecurity.
So, assuming that a site that does not return a 403 error is unsafe is not always correct. Also, CloudFlare removes the Proxy header (we tested it on several sites behind CloudFlare, the Proxy header was not there in the request that reached the server) so you are still safe behind CloudFlare even if it doesn't return a 403 error.