質問

私も探りながっているSQLインジェクションのいまを入力していると思うのですが、間違った末、スティックな分野のデータsanitising等-

私はjavaプログラムを呼び出す保存の手順にータを取り込み.の保存手順はCL/RPGコードす。この保存された手続きして呼び出されるパラメータのデータからのウェブページです。例えば、コールは、次のようになります:-

call library.prog('field1Value', 'field2Value')

私の心配をする必要が文字の入力のウェブサイト'field1Value"などなど、なので収納の方は、危険のsqlインジェクションが存在しない?いるかどうかによってRPGプログラムの裏を使用してfield1Value"の独自のSQL文の一環としてるんです。

分野長に渡されたproecdureは固定長でできませんので、例えば、変換'危'文字をhtmlに相当する

を担当するん先が愚かなこの問題です!) フィードバック(必ずしもータを取り込みに特定)。

役に立ちましたか?

解決

を使用していない限りそのパラメータの構築の動的sqlを集そのものでは

もできないクリーンでチェックによるパラメータ

こちらをご参照: SQLお誘いしてみて下さいを保護すること

以下のsqlサーバー構文

っきりと説明でき,このような

prDropDeadFred ' declare @d varchar(100) select @d = reverse(''elbaTdaB,elbatecin elbat pord'') exec (@d)'

またはこのような

prDropDeadFred ' declare @d varchar(100) select @d = convert(varchar(100),0x64726F70207461626C65204E6963655461626C652C4261645461626C65) exec (@d)'

または5000その他の方法でこのプログラムについて知らな

他のヒント

呼ばれるプログラムは、後に他のプログラムでは、動的SQLのために使用されているデータベーステーブルのフィールドに、動的SQLを構築するための入力パラメータを使用しない別のプログラムに情報を渡し、または店舗場合は、

あなたは、安全でない可能性がありますます。

あなたはJDBCのCallableStatementを使用している場合は、安全です。 CallableStatementのは、ただのPreparedStatementのサブタイプである、とSQLインジェクション攻撃が可能にすべきではありません。あなたのストアドプロシージャは、動的SQLを実行していた場合、私は真実ではないことが、このために考えることができる唯一の方法は次のようになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top