Security

Checker IP addresses

206.189.113.124

The checker will always connect from an IP address listed here. This may change without notice (but probably not frequently) so check back if you're getting unexpected test failures.

If you like, you can configure your firewall to block access to your program from everywhere else, for example:

$ iptables -A INPUT -i eth0 --dport 10000 -s 206.189.113.124 -j ACCEPT
$ iptables -A INPUT -i eth0 --dport 10000 -j DROP

Vulnerabilities in Protohackers

Sometimes software has bugs. Sometimes bugs can be exploited to make the software do things it was not intended to do. These bugs are vulnerabilities.

If you find a vulnerability in Protohackers, I hereby give you permission to exploit it to put yourself at the top of one (1) problem's leaderboard. After that, please email me to disclose the problem so that I can fix it :). And if you write up an explanation of your exploit I'll put a link to it next to your name on the leaderboard.

The only condition is that you don't do anything that might upset other users.

In particular, please do not access or modify any other user's data, including but not limited to email addresses, IP addresses, problem submissions, leaderboard positions. Also please do not unnecessarily take down the website or submission checker.

(If your vuln can't put you at the top of a leaderboard without, for example, deleting other people's scores, or stopping them from using the checker, then just explain it to me with a proof of concept and I'll manually put you at the top of a leaderboard that your forbidden exploit would have been able to put you at the top of).

Sound fair?

Vulnerabilities in your programs

Sometimes software has bugs. Sometimes you might write bugs.

I will never deliberately exploit (or even attempt to find) vulnerabilities in your problem solutions, but the Internet is a large and scary place, and other people might do.

Here are some ideas to help protect yourself:

  1. don't write bugs (ha)
  2. configure your firewall to block access to your program other than from our checker
  3. switch off your program while it's not being checked