Hacker Newsnew | past | comments | ask | show | jobs | submitlogin



Does verifying you have the right IP ensure you can't be MITMed? Could someone controlling a connection along the way change stuff?


I haven't heard it used in the "wild" yet, and it's not a MITM attack. Just shows how useless this verification method is - if you're hitting a PHP built site - a relatively simple hack would be to find a PHP page that allows you to upload something, most hosts don't upload to the root but I imagine it'd be trivial to use the upload process against itself.

I know W3schools is often thought of as useless, but for the upload script example on there there is no validation: http://www.w3schools.com/php/php_file_upload.asp

I imagine uploading something called "../verifyme.txt" would upload it to the root of the website.


Well, if the PHP site gives you full control over the domain, then you have full control over the domain, don't you?

The security issue there is not the fact that MitM becomes slightly easier, it's that you can alter the site for all visitors and don't need MitM.


it has to be uploaded to a specific path the server gives you "/.acme_something/something...". But I agree that it's not really perfect...


A MITM can easily spoof IP addresses. You can't trust unsigned data, and IP address headers aren't signed.

You also can't trust signed data if you don't trust the signature. That's the real problem here. This whole protocol is an attempt to establish trust, but it's based only on temporary control of a server's network traffic. Probably that's the legitimate owner of the domain, but maybe it's somebody malicious who merely had access to their network for a time. You can't really be sure.


If someone MITMs the connection between the CA and the website itself, then yes. I believe LetsEncrypt uses a variety of proxies around the world to measure the website, so there'd have to be a lot of successful simultaneous MITMs for that to work.

Ultimately you have to bootstrap trust from somewhere. Perhaps in future DNSSEC can be used to solve this problem (though DNSSEC is of course itself just another PKI).


My understanding is that DNSSEC only proves IP. If you're in between the CA and the server, you don't care that the CA has the right IP.


DNSSEC authenticates DNS records. That can be IP addresses, but it could also be public keys or anything else.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: