XSS(クロスサイトスクリプティング)、CSRF(クロスサイトリクエストフォージェリ)の対応

セキュリティの対応をすることになったので、そのお勉強メモ

XSS(クロスサイトスクリプティング)の対策

HTMLのPOSTがサニタイジングされているかどうかのチェックをする

フォームの入力項目で、これを入力して、スクリプトが実行されていなければOK

><script>alert("test");</script>

JSでチェックされていて、入力できない場合は、
「Burp Suite」のようなプロキシハッキングツールを使うと便利

POST時に項目値を書き換えることができる。

参考

BURPダウンロード
https://portswigger.net/burp/communitydownload

XSSを防ぐために不可欠なサニタイジング(無害化)
https://www.atmarkit.co.jp/ait/articles/0301/08/news003.html

手軽にできる!クロスサイトスクリプティング(XSS)の脆弱性テスト
https://security-eggs.xyz/xss_test/

ローカルプロキシツールBurpの使い方
https://persol-tech-s.co.jp/corporate/security/article.html?id=10

CSRF(クロスサイトスクリプティングフォージェリ)の対策

名前を聞いたとき、舌を噛みそうになった。

攻撃方法は、特殊で超レアなケース。
掲示板などの不特定多数が使うSNSでない限りは発生しないと思う。

一般的な対策としては、
ログイン時にハッシュSHA1をつかったトークンを発行して、
セッション維持中は、トークンを受け継いでいることを確認できればOK。

トークンを受け継いでいない、つまり、SNSなどから、該当画面へ直接遷移した場合はNGとなる。

共通関数を作って画面オープン時の処理で、必ず通すようにすれば対応可能。

参考
クロスサイトリクエストフォージェリ(CSRF)
https://www.trendmicro.com/ja_jp/security-intelligence/research-reports/threat-solution/csrf.html

クロスサイトリクエストフォージェリ
https://www.shadan-kun.com/blog/glossary/2443/

コメント

タイトルとURLをコピーしました