セキュリティの対応をすることになったので、そのお勉強メモ
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/
コメント