ホームページ >バックエンド開発 >PHPチュートリアル >特定のモジュール ストレージ タイプに関する phpcms Q&A xss_PHP チュートリアル
ブラックリストによるトラブル
返信エリアにはエディタ機能があります。
ソースコードを編集できるエディタがある、これが当時の私の最初の反応でした。ここには間違いなくxssがあります。
当然ですが、最初にテストしてください
<script>アラート(1)</script>
と
したところ、jsコードが実行できないことが分かりました。
そこで、私は http://html5sec.org/ にアクセスして、いくつかの型破りなコード テストを見つけました。
テスト時:
の時、フィルターがないことに気づき驚きました。写真に示すように、
をクリックするとトリガーされます。
もちろん、これでもクリックする必要があります。結局のところ、返信した人全員がクリックするわけではありません。では、どうすれば xss の成功率を高めることができるのでしょうか?
心配しないでください。
http://html5sec.org/ には、使用できるコードがまだたくさんあります。例:
ページを開いたときにトリガーされます (ie10、Google、Firefox 4.5 で有効)
上記以外にも、ブラウザを強制終了するために使用されるブラウザが多数あります。私たちはそれらを 1 つずつテストすることはしません。これは、害を証明するためにのみ使用されます。
このようにして、広い網を投げて魚を捕まえることができます。
脆弱性の証明: 言及する価値があります。 jsはonfocusで実行していますが。ただし、まだ eval があることを忘れないでください。 を構築できます
攻撃を完了します。構築されたjsは次のとおりです:
ユーザーがこの投稿にアクセスすると、そのユーザーは被害者になります。
一つ一つ試す必要はもうありません。 phpcms チームもこの問題に注目してくれることを願っています。
修正:
エディターはブラックリスト フィルターに基づいています。どうしてもソースコード編集機能を有効にしたい場合は、ホワイトリストフィルタリングを使用することをお勧めします。それ以外の場合は、オープン ソース編集機能のアクセス許可をオフにすることをお勧めします。クロスサイト エンジニアがどのようなコードを使用するかわからないためです。
ちなみに、ここには反射型 XSS もあります:
http://118.244.225.145/index.php?m=ask&c=team&a=team_list&order=team_point&catid=&belong=team&name=">