質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

1回答

641閲覧

SQLインジェクションについて

question-server

総合スコア30

セキュリティー

このタグは、コンピューターシステムの安全性やデータの機密性に関連したトピックの為に使われます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

2クリップ

投稿2019/05/22 04:33

編集2019/05/22 04:41

質問

先日サーバーのログを見ていたら気になるログがありました

1 /?パラメータ1=xxxxx&パラメータ2=xxxx AND 1=1 2 /?パラメータ1=xxxxx&パラメータ2=xxxx' AnD sLeep(3) ANd '0'='0 3 /?パラメータ1=xxxxx&パラメータ2=xxxx' AnD sLeep(3) ANd '0'='0 4 /?パラメータ1=xxxxx&パラメータ2=xxxx" union select unhex(hex(version())) -- "x"="x 5 /?パラメータ1=xxxxx&パラメータ2=xxxx or (1,2)= (select*from(select name_const(CHAR(111,108,111,108,111,115,104,101,114),1), name_const(CHAR(111,108,111,108,111,115,104,101,114),1))a) -- and 1=1

1 なぜorじゃないのかなと思ったんですが、おそらくsqlインジェクションが可能か確認している?
2,3は応答時間が3秒たつかどうか(確認するのには短い時間だとは思います。。)でsqlインジェクションが可能か確認している
4はdbのバージョンを調べている

質問1

5がよくわかりませんでした。これは一体何をしているのででしょうか??

質問2

例えばsqlインジェクションの脆弱性があったとしても画面へのエラー表示を抑制していた場合(サーバーエラーの場合予め用意しておいたページに誘導など)、DBの情報を知り得ることはできないとういことでよいのでしょうか?

質問3

1はすべてステータスコードが500になっていました。ただしシステムではパラメータを直接sqlの条件に入れていることはなく、またフレームワークのプレースホルダを使っているのでなぜ500エラーになったのかわかっていません。この値をurlから入れて500エラーを再現しようとしても再現できずステータスコード200になります。

質問3ですが、再現の仕方が悪いので再現できないのでしょうか?それとも別の要因でステータスコードが500になっているのでしょうか?
例えば1の場合下記をブラウザのURL欄に入力して再現しようとしています

ドメイン/?パラメータ1=xxxxx&パラメータ2=xxxx AND 1=1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

質問1

CHAR関数の中身を解読すると、ololosherとなりました。何かの名前なのか、詳細はわかりません。

質問2

いえ、正当な出力に混ぜ込んでしまうことや、応答時間を利用して情報を伝えることも考えられますし、データの漏洩とは別件ですがデータベースの破壊も可能です

質問3

ブラウザからリクエストを投げると、本来ならURLエスケープされますが、それとは違う形式のリクエストを投げていたのかもしれません(リクエスト時点でおかしいので500になる)。

投稿2019/05/22 04:39

maisumakun

総合スコア145183

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問