ネットワークセキュリティ:XSSのクロスサイトスクリプティング攻撃

簡単な紹介

XSSはまた、CSS(クロスサイトスクリプト)、クロスサイトスクリプティング攻撃として知られています。ユーザーがページを閲覧する際に、悪意のある攻撃者は、HTMLコードで悪質なWebページを挿入するには、HTMLコード内に埋め込まれたWebは、悪意のあるユーザーの特定の目的を達成するために実行されます。

原則

HTMLは、例えば、テキストおよび数字を区別するために特別な治療により、一部の文字HTMLで、以下のシンボルより(<)HTMLタグの始まりと見られている、<title></title>の文字がページなどのタイトルの間にあります。(例えば<など)これらの特殊文字が含まれている動的ページのコンテンツに挿入すると、これらはユーザプログラムの意志でJavaScriptのスクリプトの一部導入されたときに、ユーザーのブラウザは、HTMLタグ、HTMLタグを挿入すると誤解されますブラウザの実行。だから、これらの特殊文字を確認するか検査するのは間違いの動的なページであることができないとき、それはXSSの脆弱性を持つことになります。

攻撃のタイプ

まず、XSS反射型攻撃は、悪意のあるコードが攻撃のターゲットに悪意のあるWebサイトリンクへのリンクをユーザーがクリックをだましことにより、標的部位に格納されていません。

第二に、XSS蓄積型攻撃は、悪意のあるコードは、ターゲットサイト内のサーバーに保存されます

攻撃

一般的なXSS攻撃や目的があります:
1、盗まれたクッキー、機密情報へのアクセス。
2、クロスドメインの権限により、さらに高い権限のために、使用してFlash注入、Javaの、または同様の操作を使用して得られたような。
図3は、インラインフレーム、フレーム、のXMLHttpRequestを使用したりすることは、アイデンティティ(攻撃)、ユーザは、いくつかの管理アクションを実行する、またはいくつかの追加は、そのようなマイクロブログなど、一般的な友人を実行し、プライベートメッセージや他の操作を送信する方法のようなフラッシュを述べました。
4は、ドメインの使用は、要求の信頼できるソースは、通常、議決権の不適切な行為として、いくつかの操作を許可しないよう、他の信頼されるドメインの特性によって攻撃することができます。
5、ページのいくつかの素晴らしい景色におけるXSSは、DDoS攻撃の効果を達成するために、小規模なサイトの数を攻撃することができます。

解きます

そこにユーザーの入力をチェックするために、ユーザの入力をフィルタリング違法なコンテンツのコンテンツです。<>(角括弧)、「(引用符)、「(シングルクオート)、%(パーセント記号),;(セミコロン)、()(括弧)、&(アンパサンド)、+(プラス)などが挙げられます。厳格な制御出力

可以利用下面这些函数对出现xss漏洞的参数进行过滤
1、htmlspecialchars() 函数,用于转义处理在页面上显示的文本。
2、htmlentities() 函数,用于转义处理在页面上显示的文本。
3、strip_tags() 函数,过滤掉输入、输出里面的恶意标签。
4、header() 函数,使用header("Content-type:application/json"); 用于控制 json 数据的头部,不用于浏览。
5、urlencode() 函数,用于输出处理字符型参数带入页面链接中。
6、intval() 函数用于处理数值型参数输出页面中。
7、自定义函数,在大多情况下,要使用一些常用的 html 标签,以美化页面显示,如留言、小纸条。那么在这样的情况下,要采用白名单的方法使用合法的标签显示,过滤掉非法的字符。

各语言示例:
  PHP的htmlentities()或是htmlspecialchars()。
  Python的cgi.escape()。
  ASP的Server.HTMLEncode()。
  ASP.NET的Server.HtmlEncode()或功能更强的Microsoft Anti-Cross Site Scripting Library
  Java的xssprotect(Open Source Library)。
  Node.js的node-validator。

いくつかの例

良いの謝Gongziギャング要約、およそターンhttps://blog.csdn.net/qq_36119192/article/details/82469035

公開された165元の記事 ウォン称賛59 ビュー30000 +

おすすめ

転載: blog.csdn.net/weixin_43972437/article/details/103530647