コードを短くするのって楽しいですよね?(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のほうにレポートし、この穴は無事ふさがれたので公開する次第だ。