データベースのログインユーザー名とパスワードが分からない状態でSQLインジェクション攻撃は可能でしょうか
サーバーの構成は以下の通りです
ウィンドウズ2008サーバーR2のIIS7.0+SQLサーバ2008EXPRESS
以前win2000サーバーでウェブサイトを運営中コンテンツをごっそり抜かれてしまったことがあるので,
攻撃者はソース上からテーブル構造の知っていると考えられます。
現在テーブルに対してinsert処理もしくはUPDATE処理しているファイルは中国方面あるいはアジア圏のIPアドレスからは
アクセスできないようにしており、403エラーが出るように設定していますので、ファイルに対してポストできないように
なっているはずです。
この状態でテーブルへのスクリプトの書き込みは可能なのでしょうか
現在この状態でもスクリプトが書き込まれてしまいます。
仕方ないので、データベースのすべてのログインユーザーに対して書き込み・上書き権限を除外しました。
こうしたところ書き込みはなくなりました
こうしてしまうと、商品情報などを登録するたびに、ユーザーに対して書き込み・上書き権限を与える必要があり、非常に生産性が悪い状態になってしまっています。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
IP指定でのアクセス拒否は、プロキシを経由すれば簡単に回避可能です。
また、BASIC認証はBASE64でユーザ名やパスワードがエンコードされます。
BASE64方式での認証は認証される時点でのパケットを傍受されれば、参考URLのようなアプリケーションで簡単にその中身を確認可能です。
SQLインジェクションを仕掛けるような技術力を持った攻撃者にとっては、それらのセキュリティ対策はザルと同然です。
参考URL:http://www.ahref.org/app/base64/
No.1
- 回答日時:
ご質問の内容を拝見すると、SQLインジェクションとは具体的にどのような手段で実施されるのかをご存知無いように見受けられます。
SQLインジェクションは、外部からの攻撃者が直接SQLを実行している訳ではありません。
実際に攻撃者が仕組んだスクリプトを実行しているのはWebアプリケーションを起動しているプロセスであり、攻撃者はWeb入力フォームの入力規則ルール等の穴を見つけ出してWebアプリケーション経由で任意のスクリプトを実行させるよう、入力フォームへ巧みにスクリプトを埋め込みます。
Webアプリケーションのプロセスは常にデータベースにログインしている状態ですから、当然ながら攻撃者はデータベースのユーザアカウントやパスワード等を事前に知っておく必要は全くありません。
改善すべきは権限の設定では無く、Webフォームからの入力をエスケープ文字に変換するとか、特殊文字を一切受け付けなくすると言った入力規則の厳密化が最優先の課題です。
参考URL:http://www.atmarkit.co.jp/fsecurity/column/ueno/ …
この回答への補足
ご回答ありがとうございます。
入力フォームファイル自体に対する攻撃者IPからのアクセス拒否(エラー403が出るようにするかもしくはベーシック認証をかける)してもダメなのでしょうか?
ありがりがとうございます。大変勉強になりました。
データベースへの入力フォームは、フロントエンドには一切ないWEBサイトで
ハックエンド管理画面しか存在ないのですが、
ここにもエスケープ処理しないといけないのですね。
。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 「掲示板のログイン画面」はPHP~MySQLに「データベース認証のシステム」方式です。 1 2022/09/27 05:00
- JavaScript Typescript が必要な理由 1 2023/01/07 11:45
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- WordPress(ワードプレス) ワードプレスの管理画面でユーザー名が違うと出るのですがどこで設定したユーザー名を打てばいいのでしょう 1 2022/03/31 19:36
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- LINE simフリー端末で前回もっていた端末でline引継ぎ 2 2022/10/07 10:11
- Windows 10 Windows Updateが動作しません 7 2022/08/12 16:26
- MySQL 複数DBテーブルからのデータ取得 3 2022/05/17 15:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQL Date型の列から年月だけを...
-
【VB.NET】日付型の列にNULLを...
-
SQLSERVERのデータファイル圧縮...
-
chr(13) と char(13) の違いっ...
-
[SQLServer] テーブル名からカ...
-
SQL文 複数実行
-
Access2021 「ISNULL関数には引...
-
SQLの条件順番について(SQLser...
-
Visuaal Studio Community 2022...
-
SQL 変化を知りたい
-
時給毎の勤務時間を求めるSQL
-
SQLCMDにて教えていただきたい...
-
SQLサーバで和暦から西暦に変換...
-
ACCESS2007 フォーム 「バリア...
-
sqlserverで集計結果をUPDATEし...
-
<SQL>重複しているデータの場合...
-
【SQLサーバ】float型における...
-
インストール可能なISAMド...
-
サーバー破壊
-
甘いものがすきなのってなおせ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
mysqlにおけるホストのパーセン...
-
ERROR 1044
-
メンテナンスプランについて
-
MySQLのエラーメッセージ(エラ...
-
ACCESSからリンクでのレコード...
-
MySQLにログインできなくて困っ...
-
ODBC登録の権限について
-
ASP.NETからのデータベースの作成
-
MySQL 192.168.0.1の端末から 1...
-
phpmyadminでの特権が表示方法
-
ユーザー名にアンダーバーを含...
-
PHPでMySQLのデーター...
-
レンタルサーバーでトリガーを...
-
行ごとにアクセス権限
-
MySQLで新規DB作成時、エラーが...
-
NortonInternetSecurity2007で...
-
ワークフロー承認システムを作...
-
mysql使用中エラー1044が出...
-
XAMPPのSQLの「エラー#109」とは
-
データベースファイル(.db)を開...
おすすめ情報