0

シェル スクリプトを呼び出す cgi スクリプトがあります。シェル スクリプトはデータベース クエリを実行し、そのクエリの結果をサーバー上のファイルに保存します。

cgi-script はとを入力として取りDATABASE_NAME、それをシェル スクリプトに渡します。HOST_IPQUERY

今、私はそれが作成するセキュリティの抜け穴について非常に心配しています.

私が行っているチェックの 1 つは、クエリを解析して、SELECTステートメントのみが渡されるようにすることです。いずれかのINSERT/UPDATEタイプのクエリが渡された場合、シェル スクリプトは実行されません。

このような CGI スクリプトが悪用される可能性がある他の方法をいくつか指摘していただけないでしょうか。

私のサーバーはuserA(sudo権限を持つ)として実行されており、シェルスクリプト内のクエリuserBは(dbadminユーザー)として実行されます。

クエリを実行するシェル スクリプトのコマンドは次のようになります。

sudo su -c "query" userB

DATABASE_NAMEandHOST_IPもクエリ内で渡されます。

4

1 に答える 1

1

何らかの方法でユーザーを認証し、HTTPSを使用して、中間者攻撃や認証情報とCGIパラメーターのスニッフィングを防止していることを願っています。

適切に解析するようにしてください。マルチステートメントクエリをチェックする必要があります。

また、DOS攻撃を検討することをお勧めします。これは、戻って大量のリソースを使用するのに長い時間がかかるSELECTクエリを作成するのが非常に簡単だからです。

また、許可されたホストIPアドレスをホワイトリストに登録します。そうしないと、サーバーにアクセスすることで、ユーザー名とパスワードを非常に簡単に取得できます。

また、許可されたデータベースをホワイトリストに登録して、システムテーブルからの読み取りを防止します。

于 2012-07-12T13:51:19.700 に答える