( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

XSSとかSQLインジェクションとかをチェックするためのGreaseMonkey

XSSとかSQLインジェクションとかをチェックするために、フォームの入力項目にスクリプトとかを入力するのが面倒だったので。

こんなん作りました。
Xss Check Helper
http://yuroyoro.com/greasemonkey/xsscheckhelper.user.js

機能

ページ内のフォームコントロール(input[text,checkbox,radio],textfield,select)のvalueを指定した値に強制的に書き換えるスクリプトです。

たとえば、以下のようなcheckboxがあったとして、

<input type="checkbox" name="test_check" value="1"/>

このスクリプトをかますと

<input type="checkbox" name="test_check" value="<b>TestValue</b>"/>

とかになります。

この状態でFormをsubmitしたりすると、XSSやSQLインジェクションのチェックができるはずです。

※攻撃ツールにもなりえるので、あくまで開発時のテスト補助として、自分が開発しているアプリケーションにのみ適用してください。

導入方法

以下のリンクから、スクリプトをインストールしてください。

Xss Check Helper
http://yuroyoro.com/greasemonkey/xsscheckhelper.user.js

デフォルトでは、全てのURLで無効になっているので、テストしたいURLをユーザスクリプトの管理で追加してください。

使い方

スクリプトを実行すると、画面の左上にこんな感じで黒い箱が表示されます。
f:id:yuroyoro:20080428210325j:image

▼をクリックすると、入力エリアが表示されます。
f:id:yuroyoro:20080428210405j:image

valueには、書き換えたい値を設定します。
デフォルトでは、何となくそれっぽい値をプルダウンから選択できるようになっています。
任意の値を入力したい場合は、Customチェックボックスをクリックすると、任意の値を入力できます。

XPath/CSSには、適用対象を決定するためのXPathまたはCSSセレクタを入力できます。
(JQueryで使えるセレクタが入力できます。)
未入力にするとページ内の全てのFormを対象にします。

Apply Hiddenにチェックすると、hiddenフィールドのvalueも書き換えます。

"Fill!"ボタンを押すと、書き換えを実行します。

その他

デフォルトで設定する値を追加したい場合は、スクリプト内の11行目の
配列に追加すればOKです。

var DEFAULT_VALUES = [
//ここに追加
"hogehoge",
・・・

中身について

Formのonsubmitとかのjavascriptで値をゴニョゴニョしている場合は、どうしようもないので、Proxomitronとかで書き換えるしかないです。


内部ではJQueryを使っています。
GreaseMonkeyからJQueryをLoadするには、

を使わせてもらいました。