別のXSSフィルターではない

クロスサイトスクリプティングとは何ですか? ウィキペディアでそれについて読む:)

しかし、注意してください-ブラウザのせいです。 HTML5をサポートしているか、PNGの透明度をまだ理解していないかは関係ありません。 さて、クライアントは常に正しいので、 バザーコンテンツを適切にフィルタリングする方法を説明します。


XSSについて少し


XSSの哲学は、悪意のあるコードをページに挿入する規則に従ってテキストが使用されないことです。 彼らはどうあるべきか:

これはすべてメインからのもので、既存のタイプの攻撃の詳細についてはこちらをご覧ください。

どうすれば自分を守ることができますか?


ほとんどのXSS防止ソリューションは、潜在的に危険な構造の厳密なフィルタリングを使用します。
しかし、この例を見てみましょう:
< a href = http: // habrahabr . ru > javascript:alert("Hello"); </ a >

このコードの危険レベルはゼロです。 ただし、CodeIgniterは以下を返します(他のフレームワークではチェックしていませんが、コメントを読むと便利です)。
< a > [removed]alert("Hello"); </ a >

そのため、CodeIgniter銃からのスズメが殺されます。

より柔軟なフィルターがあります。


最近、 Platcodeフレームワークを開発しています。 しかし、ここではPRを思いつきませんでしたが、自分のXSSフィルターについて話をしました。

操作の原理は単純です-入力文字列をタグ/属性/値に解析し、フィルターを適用して危険なタグと属性値を削除します。 したがって、テキスト全体の過度のフィルタリングを省略し、タグ/属性を個別にターゲット変更します。 この場合、上記の例は元の外観を保持します。 そして、顧客は幸せになります。

フィルターの機能:

ただし、コードの文書化は非常に不十分ですが、機能は100%実行可能です。 プロジェクトへの参加やXSSフィルターのハッキングに興味がある人は、PMで書いてください。

UPD。

XSSフィルターのテストはい、habraffectホストでは機能しません:)

UPD2。

habrasocietyのおかげで、バグのトラップと修正は鼻孔から鼻孔になります。

ユーザーの尊重:insa、 isisrecompilemefloppyformator 、ICQ:32523553

Source: https://habr.com/ru/post/J70795/


All Articles