一般的なWebセキュリティと保護の原則
-
SQLインジェクション原理
- これは、Webフォームに挿入されたSQLコマンドにより提出またはドメイン名またはページリクエストクエリ文字列を入力して、最終的には悪質なSQLコマンドを実行するサーバーを欺くためにされました
-
一般的には、以下の点
- 決して信頼ユーザの入力、正規表現によって、ユーザーの入力を検証するため、または単一および二重引用符の長さを制限するために、「 - 」変換などを
- 動的アセンブリのSQLを使用しないでください、あなたはパラメータ化SQLやストアドプロシージャに直接アクセスデータのクエリを使用することができます
- アプリケーションごとに個別の権限制限されたデータベース接続を使用し、管理者権限のデータベース接続を使用しないでください
- パスワードや機密情報アウトプレーンテキスト、暗号化またはハッシュに機密情報を保存しないでください
XSSの原則と予防
- XSS(クロスサイトスクリプティング)攻撃は、HTMLタグやJavaScriptコードに悪意のあるWebページを挿入するために、攻撃者を指します。例:ユーザーは、カンニングをクリッククッキーに個人情報を盗むことを、一見安全なリンク置くフォーラムで攻撃、ユーザーがフォームを送信する場合、またはフォーラムで、悪意のある攻撃者がフォームを追加し、まだ情報伝達攻撃者のサーバーではなく、ユーザーにもともと信頼済みサイトの考え
XSSの予防法
- まず、ローカルコードとユーザー入力変数は、「<」、「>」慎重に長さをチェックする必要があり、「;」、「「」フィルタなどの文字を、第二に任意のコンテンツページは、エンコード前に書き込む必要があり、回避をhtmlタグは出て取得する気にしません。これは良いレベルであり、少なくとも、あなたはより多くのXSS攻撃の半分以上をブロックすることができます
XSSとCSRF何か違いはありますか?
- XSSは、情報へのアクセスで、ユーザーが事前にコードページや他のデータパケットを知っている必要はありません。CSRFはなく、ユーザーの指定したアクションを完了すると、ユーザーは他のページとのデータパケットのためのコードを知っている必要があります。CSRF攻撃を完了するためには、被害者は、シーケンス内の2つのステップを完了する必要があります
- ログインは、サイトAを信頼して、ローカルにクッキーを生成し、
- Aのうちなければ、Bは、危険なウェブサイトをご覧ください。
CSRF防衛
- あるCSRFサービス側のやり方やたくさんのような、しかし、一般的な考え方は同じですが、クライアントページの擬似乱数を増やします
- コードによって
理解のWebインジェクション攻撃(最も一般的なXSSとCSRF)かどうか?
-
SQLインジェクション
- フォームを挿入したり、悪意のある実行するために目的を達成するためにSQL Serverを欺くために提出したURLのクエリ文字列を入力するためのSQLコマンド
-
XSS(クロスサイトスクリプト)、クロスサイトスクリプティング攻撃
- ユーザーがページを閲覧する場合、攻撃者がページに悪質なコードを挿入するために、攻撃の目的を達成するために埋め込まれた悪意のあるコードを実行します
-
CSRF(クロスサイトリクエストフォージェリ)、クロスサイトリクエストフォージェリ
- 攻撃目的信託を達成するために、ユーザーが知らないうちにログインし、ユーザーのアクセスを許可し、正当な要求を偽造
Webフロントエンドの攻撃を防ぐためにどのように?
-
任意の外部入力データを信用しないでください。
- フォーマット濾過など、関連するようにユーザ入力のチェック
-
着信サードパーティのデータを信用してはいけません
- 使用CORSは、アクセス制御 - 許可 - 起源を提供しました
-
Cookieのより安全な使用
- HTTPのみに設定されたCookie、JavaScriptのクッキーの操作を禁止
-
IFRAMEなど、他のサイトに埋め込まれたページを防ぎます
- サーバーが組み込まれているページを防ぐために、反応してX-フレーム・オプションヘッダーを設定しました