コードを短くするのって楽しいですよね?(15)
続PKU OnlineJudgeのセキュリティホールはどこにあったのか?
しかし、ここまでわかっていれば、あとは簡単な話だ。そのpathの先頭が"c:\"で始まっていたことから、これがWindowsServerだと我々は知ることが出来たのだから。
Windowsにおいて、全ユーザーに権限を開放してそうなフォルダはどこだ?それを探し当てれば良いのだ。真っ先に目をつけたのは、C:\WINDOWS\Temp ここにファイルを作成して、それをincludeしてみる。よし、bingo!
よって、これが正解の25byteのコードだ。
#include"/WINDOWS/Temp/a"
しかし、これはC:\Windows\Tempにどれだけでもファイルが書き込めてしまうことを意味していて、ここに100GBや200GBのファイルを作れば、サーバー自体落とせてしまう。よって、これを我々は重大なセキュリティホールだと認識し、当初、blogで公開するのは控えた。id:Ozy:20051209さんがPKU OnlineJudgeのほうにレポートし、この穴は無事ふさがれたので公開する次第だ。