私のセキュリティに関するお恥ずかしい認識違いを忘れない為の忘備録。
想像
悪いやつが青人間くんのPCを攻撃して自分のPCを乗っ取って闇落ちさせる!
実際は闇落ちしない
青人間くんのPCは闇落ちしたわけじゃなくて、愚直に指示を実行していただけ。
罠サイトの処理も、正常な処理も指示された内容を間違えずにこなしていただけで、PCくんは悪いとか悪くないとか設定しないと分かんない。
罠サイトや攻撃は「こういう攻撃は通しちゃだめだよ~」と明記されていれば、サイトが弾いたり、エスケープして防いでくれる。(攻撃失敗パターン)
逆に、明記されていない場合、攻撃だったとしても実行しちゃう。(攻撃成功パターン)
chromeとかも、レスポンスを見て、「むむ!怪しい!」と思ったら警告を出してくれたり、ブロックしてくれたりする(すごい)。
SQLインジェクションとかは紫人間くんが直接サイトを攻撃してサイトが弾かないとやられるタイプだから、誰かを介する必要が無いし、やりやすそう(勝手には絶対にやっちゃだめ!)
愚直にこなす道のり(例)
①青人間くんが間違えて罠サイトを閲覧してしまう。
②罠サイトが罠レスポンスを返す。
③青人間くんのPCがそれを実行し、サイトにリクエストを送る
④サイトはリクエストを素直に実行しレスポンスを返す(本当はここで弾いてほしい!)
まとめ
脆弱性を見つけるのは「どっかに攻撃できる抜け道ないかな~」と愚直に探していく地味な作業
リクエストとレスポンスみるの大事!