シェル スクリプトを呼び出す cgi スクリプトがあります。シェル スクリプトはデータベース クエリを実行し、そのクエリの結果をサーバー上のファイルに保存します。
cgi-script はとを入力として取りDATABASE_NAME
、それをシェル スクリプトに渡します。HOST_IP
QUERY
今、私はそれが作成するセキュリティの抜け穴について非常に心配しています.
私が行っているチェックの 1 つは、クエリを解析して、SELECT
ステートメントのみが渡されるようにすることです。いずれかのINSERT/UPDATE
タイプのクエリが渡された場合、シェル スクリプトは実行されません。
このような CGI スクリプトが悪用される可能性がある他の方法をいくつか指摘していただけないでしょうか。
私のサーバーはuserA
(sudo権限を持つ)として実行されており、シェルスクリプト内のクエリuserB
は(dbadminユーザー)として実行されます。
クエリを実行するシェル スクリプトのコマンドは次のようになります。
sudo su -c "query" userB
DATABASE_NAME
andHOST_IP
もクエリ内で渡されます。