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