いろいろ備忘録

雑記です。

2017-10-03から1日間の記事一覧

オープンリダイレクタ対策の正規表現によるドメインのチェック

preg_match('/example.com/',$url); これは$urlにexample.comが含まれることを確認する正規表現だが、 このように、example.comをファイル名に含むファイルを作っておくことで回避できる。http://wana.com/example.com.php 次に、/dir/test.phpのような、ス…

クリックジャッキング

例えば、ショッピングサイトの場合 正規サイトの内容をiframeで偽懸賞サイトの上にかぶせる。このとき、偽懸賞サイトのの応募と正規サイトの購入ボタンの位置を合わせる事で、もし正規サイトにログインしているユーザがボタンを押したら意図せず商品を購入さ…

DOMベースのXSS

検索画面で、検索した文字列を //keywordはクエリdocument.write(keyword);や document.innerHTML=keyword; こうしてエスケープ処理せずに表示するとkeywordにscriptタグが書けるのでXSSが可能な場合がある。 安全なやり方 文字表示用のdivを作っておき、var…

他テーブルをUNIONで結合するとき、列名にNULLを用いる理由

他テーブルをUNIONで結合するとき、列名にNULLを用いる理由は UNIONは列の数を合わせる必要があるため。 NULLでなくても、'a'とか0でも構わない。たぶん文字列やDATE型等にはNULL、数値には0を使う。

ブラインドSQLインジェクション

SQLの実行結果がそのまま表示されないページでもSQLインジェクションが可能な場合がある。 例えば会員登録フォームで、「このIDはすでに使われています。」と出る時にkatoというIDのユーザがすでに居るとする。 kato'AND SUBSTR((SELECT pass FROM user WHER…