DVWA - XSS(反射)(反射XSS)

XSSは、被害者は、そのブラウザで悪意のあるコードをページを訪問した際にインジェクション攻撃の種類は、ページ内に悪意のあるスクリプトコードを注入する攻撃です意味では、クロスサイトスクリプティング、すなわち、クロスサイトスクリプティング攻撃の略実行は、あなたはXSSはJavaScriptに限定されるものではなく、ことを強調する必要がありますが、また、フラッシュなどの他のスクリプト言語。

悪意のあるコードがサーバーに保存されているかどうかに応じて、XSSは、メモリ型と反射型XSS XSSに分けることができます。なぜならその特異性のDOM XSS型は、しばしばXSS基づいてDOMツリーである第三、に分割されます。彼らは特定の変数は、DOM型XSSを生成することで、フィルタまたは小切手に機能しない場合たとえば、サーバ機能などは、多くの場合、動的に生成されたHTMLページdocunment.boby.innerHtmlを使用しています。DOM型XSSのタイプは、それが反射型であってもよいし、記憶することができます。

 

 

反射型XSS(反射)

 

 低いです

ソース

<?PHP 

ヘッダ( "X-XSS-保護:0")。

//任意の入力はありますか?
(array_key_exists( "名前"、$ _GET)&& $ _GET [ '名前']!= NULL)の場合{ 
    //フィードバックエンドユーザーのための
    エコー'こんにちは<PRE>'。$ _GET [ '名前']。'</ PRE>'; 
} 

?>

  直接コード名パラメータへの参照、および任意のフィルタリングおよび検査することなく、明白なXSS脆弱性を見ることができます。

開発します

 

 

ソース

<?PHP 

ヘッダ( "X-XSS-保護:0")。

//任意の入力はありますか?
もし(array_key_exists( "名前"、$ _GET)&& $ _GET [ '名前']!= NULL){ 
    //取得した入力
    $名= str_replace( '<スクリプト>'、 ''、$ _GET [ '名前']) ; 

    //エンドユーザーのためのフィードバック
    エコー"$ {名前}こんにちは<PRE> </ PRE>"; 
} 

?>

  これは、入力にstr_replace関数を使用するという考えに基づいて入力フィルタリング、ブラックリストは、<スクリプト> [削除]、この防御機構を簡単に迂回することができる上、ここで見ることができます。

開発します

①書き込みダブルバイパス

<sc<script>ript>alert(/xss/)</script>

 

 ②混乱バイパスケース

<ScRipt>alert(/xss/)</script>

 

 

 

高い

ソース

<?PHP 

ヘッダ( "X-XSS-保護:0")。

//任意の入力はありますか?
もし(array_key_exists( "名前"、$ _GET)&& $ _GET [ '名前']!= NULL){ 
    //入力を取得
    $名を=にpreg_replace(「/<(.*)s(.*)c(.*) R I P T / I」、 ''、$ _GET [ '名前'])(*)(*)(*。); 

    //エンドユーザーのためのフィードバック
    エコー"$ {名前}こんにちは<PRE> </ PRE>"; 
} 

?>

  あなたはハイレベルのコードもブラックリストフィルタ入力を適用し、見ることができる、にpreg_replace()関数は、正規表現の検索に使用され、ケースを混乱することはもはや有効ではバイパス、二重のバイパスを行うものではありませんこれは、交換してください。

開発します


タグやラベルはiframeなど、XSSコード注入の<script>タグを使用する方法はありませんしながら、しかしなどのjs SRCイベントIMG、体を介して悪質なコードを挿入することができます。

<IMG SRC = 1は、onerror =警告(/ XSS /)>

 

 

 

不可能

ソース

<?phpの

//任意の入力はありますか?
もし(array_key_exists( "名前"、$ _GET)&& $ _GET [ '名前']!= NULL){ 
    //チェックアンチCSRFトークン
    checkToken($ _REQUEST [ 'user_token']、$ _SESSION [ 'session_token'] ' index.phpの」); 

    //取得した入力
    $名=はhtmlspecialchars($ _GET [ '名前']); 

    //エンドユーザーのためのフィードバック
    エコー"$ {名前}こんにちは<PRE> </ PRE>"; 
} 

//トークンアンチCSRF生成
generateSessionTokenを(); 

?>

事前に定義された関数はhtmlspecialchars&文字を使用して、不可能レベルのコードを見ることができ、」、」、<、> HTML要素としてブラウザを防ぐHTMLエンティティに変換。

 

おすすめ

転載: www.cnblogs.com/c1047509362/p/12607488.html