2023/08/31

XSSポリグロットとは ~入れ歯のポリグリップじゃないぞ~

 

Cross-site scripting (XSS)は、ウェブアプリケーションのセキュリティ脆弱性の一つであり、攻撃者が悪意のあるスクリプトを正当なウェブページに挿入することができます。この脆弱性をテストする際、さまざまなインジェクションの文脈に直面することがよくあります。それぞれの文脈に合わせてペイロードを変更するのは時間がかかる場合がありますが、XSSポリグロットはこの問題を解決するのに役立ちます。

XSSポリグロットとは何か?

XSSポリグロットは、その生の形式でさまざまなインジェクション文脈内で実行可能なXSSベクトルとして定義できます。

GitHubのHackVaultに掲載されているポリグロットは以下の通りです:


jaVasCript:/*-/*`/*\`/*'/*"/**/(/* */oNcliCk=alert() )//%0D%0A%0d%0a//<stYle/<titLe/<teXtarEa/<scRipt/--!><sVg/<sVg/oNloAd=alert()//>


このポリグロットは、さまざまな文脈でのXSS攻撃をカバーしており、その解剖学的な構造は非常に興味深いものとなっています。

まとめ
XSSポリグロットは、複数のインジェクション文脈で動作するXSSペイロードを作成する技術です。これにより、セキュリティ研究者やペネトレーションテスターは、特定の文脈に合わせてペイロードを変更する手間を省くことができます。HackVaultの記事は、この技術の深い洞察と実用的な例を提供しており、XSSの研究をしている人にとって非常に価値のあるリソースとなっています。

興味を持たれた方は、こちらのリンクから詳細を確認することができます。