一般的なWebセキュリティの問題、原則と予防措置。
- SQLインジェクション
- XSS(クロスサイトスクリプティング攻撃、クロスサイト・スクリプティング)
- CSRF(クロスサイトリクエストフォージェリ、クロスサイトリクエストフォージェリ)
SQLインジェクションとは何ですか?
- 建設に渡された特別なウェブアプリケーションの入力パラメータによって、悪意のあるSQLバックエンドになります
- プログラマは、通常、フィルタに入力されていないので、直接動的SQLは、スプライシングを生成しました
- あなたは、オープンソースのツールSQLMAP、SQLninja検出を使用することができます。
SQLインジェクションを防ぐためにどのように?
原則:ユーザーからの任意の入力を信用したことがありません
- 入力パラメータの検査(種類および範囲)を行う、濾過し、特殊文字をエスケープ
- 大幅にSQLインジェクションのリスクを減らすことができますORMを使用し、直接ではないスプライシングSQLを実行します。
- データベース層:著作権管理の設定を行います。プレーンテキストで機密情報を格納しないでください。
XSS(クロスサイトスクリプティング)、クロスサイトスクリプティング攻撃は何ですか
- ユーザに提供する別のページ、別のユーザーのブラウザで実行される出力のエスケープせずに悪質なコードをユーザーに悪質なコード
- ユーザーは、スクリプト(JS)のページに埋め込まれたときに実行されるページを閲覧し、攻撃者。たとえば、DOM:document.cookieは、クッキー情報ページを取得することができます。
- 反射型(非永続型)、ストレージタイプ(タイプ永続):2つのカテゴリに分けます
どのようにXSSそれを防ぐには?
ユーザーからの任意の入力を信用してはいけません!
- フィルタ(入力パラメータ)。敏感タグの<script> <IMG> <a>をろ過などです。
- エスケープされました。共通のシンボルの( "&"、 "<"、 ">")エスケープ(のpython3 html.escape)