カレンダー

2019/09
     
       

広告

Twitter

記事検索

ランダムボタン

セルフXSS

by 唐草 [2019/09/27]



 ぼくのWebセキュリティーに関する知識は、教科書や講習会で学んだものではない。では、うやってセキュリティー知識を得てたのか?
 このサイトは開設から十数年経過しているが、その間に両手では数えられないほど荒らされた。その経験から学んだのだ。要するに実戦を経て得た知識なのである。コメント欄を下ネタワードで埋め尽くされるような被害からアクセスログが肥大化してサーバのディスクに深刻な問題が出るレベルの不正アクセス未遂まで様々な被害を被ってきた。その度にぼくは付け焼き刃の知識を増やしていった。
 専門家と呼べるほどセキュリティー知識を持ち合わせていないことは自分でもよく分かっている。でも、とりあえず金銭の授受と個人情報を扱わない程度の貧弱な個人サイトの運営を続けられている。ここがセキュアだから被害がないのではなく、ここに攻める価値がないから安全なだけということも重々承知している。
 体系だった知識はないけれど、攻撃の仕方を目の当たりにして、防御の仕方を身を削って学んできた。Webで「やってはいけないこと」や「やらせてはいけないこと」を身を持って学習したと言える。
 そんなぼくの前に、無防備なサイトが現れた。
 そのサイトのお知らせのコーナーは、外部テキストファイルによって内容の書き換えが可能。テキストファイルはブラウザからはアクセスできないエリアに置かれていて、アカウントを持っている人しか書き換えられない。だから、外部からの攻撃にはめっぽう強い。でも、内部からの攻撃はどうだろう?
 本来はお知らせの文章を書くエリアにHTMLを直書きしてみた。するとHTMLとして処理され、新たな要素が生成された。
 じゃあ、CSSも書けるのだろうか?素直な好奇心が、キーボードを軽やかに叩いた。ぼくが追加したHTML要素は、更に追加されたCSSによって華麗に装飾された。
 ここまでくれば、なんでもできそうな気がする。読み込まれているjQueryを呼び出す形でJavascriptを書き加えた。すると、ぼくが追加したHTML以外の場所も制御することができてしまった。
 これは、なんでもできるということだ。すべてをテキストファイルで意のままに操れる。
 ぼくは、攻められた分だけ攻め方を知っている。とは言え、そのサイトを荒らしても何の得もない。今週末だけちょっとしたイースターエッグを仕込んで楽しむことにした。