banner
osuni

osuni

XSS-LABS(更新待ち)

レベル 1#

注意深く観察すると、name パラメータの値を変更することで、name の値がページに表示され、値の文字数も表示されることがわかります。
挿入される位置は次のようになります。

<h2><h2/>

したがって、ポップアップウィンドウを作成しようと試みます。

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

ポップアップウィンドウが表示されます。

反射型 xss#

レベル 2#

レベル 2 に入り、get パラメータを確認します。
ソースコードを見ると、検索ボックスの内容が get メソッドで level2.php に送信されることがわかります。
サーバーで処理され、パラメータの値が h2 タグに挿入され、input の value 属性にも追加されます。
悪意のあるコードを入力すると、エラーが発生することがわかります。
ウェブページのソースコードを確認すると、h2 の場所にある悪意のあるコードがエンコードされていることがわかります。
サーバーサイドのソースコードを確認すると、

<h2 align=center>没有找到和&lt;script&gt;alert('xss')&lt;/script&gt;相关的结果.</h2><center>

<input name=keyword value="<script>alert('xss')</script>">

keyword パラメータがhtmlspecialchars関数で処理されていることがわかります。
観察によると、JavaScript コードはタグの属性内にあるため、属性値内の悪意のあるコードを実行する方法を考える必要があります。
実行するためには、属性内の引用符とタグを閉じる必要があります。

payload:"><script>alert('xss')</script>//

<input name=keyword value=""><script>alert('xss')</script>//

レベル 3#

上記の方法で試してみましたが、成功しませんでした。
ウェブページのソースコードを確認します。
この時点で、h2 と value の値にある悪意のあるコードがエンコードされていることがわかります。おそらく、両方のパラメータにはhtmlspecialchars()関数が使用されていると思われます。

<h2 align=center>没有找到和&quot;&gt;&lt;script&gt;alert('xss')&lt;/script&gt;//相关的结果.</h2><center>

<input name=keyword value='&quot;&gt;&lt;script&gt;alert('xss')&lt;/script&gt;//'>

したがって、onfocus イベントの特殊性を考慮します。

payload:'onfocus=javascript:alert('xss') > //

<input name=keyword  value=''onfocus=javascript:alert('xss') &gt;'>

あまり理解していませんが、インターネットで調べてみます。

最も単純な例は、ウェブページ上のテキストボックスです。マウスでテキストボックスをクリックすると、テキストボックスが選択され、内容を入力するときにはフォーカスが当たります。したがって、テキストボックスがフォーカスを受けると、onfocusイベントがトリガーされます。したがって、現在のページのテキストボックスをクリックすると、ポップアップが表示されます。

レベル 4#

簡単に試してみます。

<h2 align=center>没有找到和&lt;script&gt;alert('xss')&lt;/script&gt;相关的结果.</h2><center>

<input name=keyword  value="scriptalert('xss')/script">

h2 がエンコードされ、value の値 ' <' '> ' が削除されます。
レベル 3 の方法を試してみますが、うまくいきません。
よく考えてみると、レベル 3 とレベル 4 の違いは、value=の後のシングルクォート(')とダブルクォート(")です。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。