WEBセキュリティ
メモしてたことのメモ。
WEBセキュリティで、「WEB制作してるのに知らないのはちょっと...」って感じの4つになります。
SQLインジェクション
SQLインジェクションは有名で被害も多い。
入力フォームなどからSQL文で個人情報をデータベースにリクエストし、
情報を盗む攻撃。
簡単に盗まれてしまうので、対策は必須。
バインド機構や文字コードの指定などで対策ができる。
XSS(クロスサイトスクリプティング)
XSSは入力フォームなどにWEBページを操作するスクリプトを入力して送信する攻撃。
ページの見え方や動作を書き換えられてしまう。
HTMLエンコードなどで対策できる。
HTMLでシングルクォーテーションはセキュアのためにも使わない。
CSRF(クロスサイトリクエストフォージェリー)
CSRFはショッピングサイトなどの最終確定処理のリクエストを外部ページから行う攻撃。
リクエスト送信のボタンが公開されていて誰でも押せる状態になってたとすれば、ショッピングサイト側には大量の注文が入ってくることに。
対策としては、正規のユーザーかどうかをチェックすることが必要になる。
あるタイミングでトークンを発行し、確定処理されるタイミングでトークンを照合するという機能を作るなどで対策できる。
クリックジャッキング
クリックジャッキングは攻撃者自らのサイトの上にCSSの透過指定で透明な標的のサイトを被せ、標的のサイトをユーザーに不正操作させる攻撃。
ユーザーは意図していないが、ユーザー自らが正しい手続きを踏んでることになるので、ユーザーにはなんらかの被害が発生することになる。
WEBサイトから返されるHTTPレスポンスヘッダにX-Frame-Options HTTP レスポンスヘッダの指定で対策ができる。