タグ

Securityとsqlに関するat_yasuのブックマーク (10)

  • websec-room.com - websec room リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • JSON SQL Injection、PHPならJSONなしでもできるよ

    DeNAの奥さんと、はるぷさんがJSON SQL Injectionについて公表されています。 The JSON SQL Injection Vulnerability 不正なJSONデータによるSQL Injectionへの対策について (Json.pm+SQLクエリビルダー) 上記の記事は、主にPerlスクリプトがJSONデータを受け取るシナリオで説明されています。もちろん、この組み合わせに限定したはなしではないわけで、それではPHPではどうだろうと思い調べてみました。 JSON SQL Injectionとは 以下、はるぷさんの「不正なJSONデータによる…」にしたがってJSON SQL Injectionについて説明します。 Perl向けのSQLジェネレータの一つであるSQL::Makerにおいて、以下のスクリプトを想定します。 my ($sql, @bind) = $builde

  • とある診断員とSQLインジェクション

    7. 通常のWebサーバとの通信 <html> <body> <form action=“register” method=“POST”> 氏名:vultest<BR> メールアドレス:vultest@example.jp<BR> 性別:男<BR> (以下略) </html> POST /confirm.php HTTP/1.1 Host: example.jp (以下略) Cookie: PHPSESSID=xxxxxxxxxx name=vultest&mail=vultest%40example.jp&gender=1 HTTP Response HTTP Request 8. 色々いじってみてどういう応答があるか確認 POST /confirm.php HTTP/1.1 Host: example.jp (以下略) Cookie: PHPSESSID=xxxxxxxxxx name

    とある診断員とSQLインジェクション
    at_yasu
    at_yasu 2014/05/26
    ほー…てか、検証するときはダミーサーバを用意しないと…
  • 深刻な「ブラインドSQLインジェクション」の脅威

    2013年11月18日から11月21日の4日間にわたり、アメリカ合衆国ニューヨークでWebアプリケーションのセキュリティに関する国際的なカンファレンスである「OWASP AppSec USA 2013」が開催されました。 世界各国から開発者・研究者が一堂に会するこの一大イベントに参加してきましたので、その模様を報告します。 Webアプリセキュリティにまつわるあらゆる話題を扱う「OWASP」 OWASP(Open Web Application Security Project)は、WebアプリケーションおよびWebサービスセキュリティ向上を目的とした、ボランティアによるプロジェクトです。 今回参加した「AppSec」をはじめとするカンファレンスの開催による知識の展開やトレーニングを通じた開発者のスキル向上の他、開発者向けガイドラインの作成、テストツールの開発・公開などを行っています。ツー

    深刻な「ブラインドSQLインジェクション」の脅威
  • XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス

    メールアドレスの「ルール」に関する話題が盛り上がっていますね。 「メールアドレスのルール」系まとめがそろって間違ってるのでご注意を 「メールアドレスのルール」なんて使ってはいけない3つの理由 これらのエントリに異論があるわけでありません。メールアドレスに関するルールというとRFC5322などがあるものの、現実の運用では簡易的な仕様を用いている場合が大半である…という事情は、私も以前ブログに書きました。、 稿では、「空前のメールアドレスのルールブーム(?)」に便乗する形で、RFC5322に準拠したメールアドレスで、XSSやSQLインジェクションの攻撃ができることを紹介します。と言っても、SQLインジェクションについては、過去に書きましたので、稿では、RFC5322バリッドなメールアドレスでSQLインジェクションとXSSの両方ができるメールアドレスを紹介します。 まず、攻撃対象として、以下

    XSSとSQLインジェクションの両方が可能なRFC5322適合のメールアドレス
  • SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?

    コードゴルフという競技があります。与えられた問題(例えばFizzBuzz)を解くコードを、いかに短いプログラムで実現できるかというものです。 脆弱性の世界でもXSS Golfというものは既にあるようで、我らが はせがわようすけ氏にも、「短いXSSの話」というプレゼン資料が公開されています。第2回のOWASP Japanローカルチャプターミーティングでの講演ですね。これ、面白いので、まだ見ていない方はぜひご覧になって下さい。 XSSがあるならSQLインジェクションはどうかということで、ちょっと考えてみました。この手の遊びは、問題のルールが命というというところはありますが、最初なのであまり厳密に考えずにだらだらとやってみます。 攻撃対象プログラム やはり、SQLインジェクション攻撃でみなさまおなじみの認証回避がよいのではないかと思いました。拙著「体系的に学ぶ 安全なWebアプリケーションの作り

    SQLインジェクションゴルフ - 認証回避の攻撃文字列はどこまで短くできるか?
  • 889649 – (CVE-2012-5664, CVE-2012-6496) CVE-2012-6496 rubygem-activerecord: find_by_* SQL Injection

    at_yasu
    at_yasu 2013/01/03
    RoRにSQLInjectionがある話。修正版はまだぽい
  • 「ブラインドSQLインジェクションとは何ですか?」への回答

    以下は、Yahoo!知恵袋での下記質問に対する回答です。 ブラインドSQLインジェクションとは何ですか? できるだけ詳細に教えて下さい 回答した後に、質問が取り消されてしまいました。Yahoo!知恵袋の仕様として、取り消しされた質問は2週間で削除されるため、備忘のため転載します。 ブラインドSQLインジェクションというのは、SQLインジェクション攻撃の一種です。 通常のSQLインジェクション攻撃では、検索結果の文字列が表示されたり、SQLのエラーメッセージが表示される箇所があり、それら表示の一部に、来とは別のSQL文の検索結果を表示させることで、隠れた情報を表示します。 しかし、SQLインジェクション脆弱性はあるが、表示として検索結果の表示もなく、エラーメッセージにもSQLのエラーが表示されない場合があります。例えば、以下に紹介する例では、指定したメールアドレスが登録済みかどうかのみを返

    「ブラインドSQLインジェクションとは何ですか?」への回答
  • ちょっと変わったSQLインジェクション

    IT編集部のセミナーに出てきました 3月2日に、@IT編集部主催の「@IT セキュリティソリューション Live! in Tokyo」にて、NTTデータ先端技術の辻さんとインターネットイニシアティブの根岸さんとともに、ランチセッションに出演してきました。辻さん&根岸さんのトークに絡ませてもらい、あっという間にランチセッションは楽しく終了しました。 事前の準備中はあれだけいろいろと話そうと思っていたのに、いざ始まると時間が足りないくらい盛り上がりました。ちょっと物足りないと思うくらいがいいのかもしれませんね。その会場で使った、2002年と2012年付近の出来事を示した資料がこちらです。 私はちょうど10年前の2002年にラックに入社しました。振り返ってみればあっという間の10年の社会人生活です。こうしてみると、いろんなインシデントがリアル世界とサイバーの世界で起こっていたんだなと懐かしくな

    ちょっと変わったSQLインジェクション
    at_yasu
    at_yasu 2012/03/26
    ほぉ
  • pg_sleepをSQLインジェクション検査に応用する - ockeghem's blog

    SQLインジェクションの進化形として、ブラインドSQLインジェクションという手法があります。通常のSQLインジェクションは、検索結果表示やエラー表示のところに、アプリケーションの想定とは別のテーブル・列の値を表示するものですが、ブラインドSQLインジェクションは、SQLの結果がエラーになる・ならないを1ビットの情報として悪用し、これを積み重ねることで、データベース内の任意情報を得ることができるというものです。 1ビットの情報が得る手段としては、SQLのエラー表示に限らないわけで、現実問題として、SQLのエラーが外部からは判別しにくい場合もあります。そのような場合の究極形として、時間差を利用するという手法があります。 MS SQL Serverには、waitfor delayという命令があって、時・分・秒指定でスリープさせることができます。金床には、MySQLやPostgreSQLの場合の

    pg_sleepをSQLインジェクション検査に応用する - ockeghem's blog
  • 1