Является ли JdbcBatchItemWriter уязвимым для SQL-инъекций?

Например, вот код:

<bean id="sqlServerItemWriter"
    class="org.springframework.batch.item.database.JdbcBatchItemWriter" scope="step">
    <property name="dataSource" ref="dataSource" />
    <property name="sql">
        <value>
        <![CDATA[
        INSERT into GENERIC_TABLE
        (col1, col2, col3, col4)
        VALUES (:value1, :value2, :value3, '#{jobParameters['someValue']}')
        ]]>
        </value>
    </property>
    <property name="itemSqlParameterSourceProvider">
        <bean
            class="org.springframework.batch.item.database.BeanPropertyItemSqlParameterSourceProvider" />
    </property>
</bean>

Если бы у меня было какое-то значение, например "Value"); DROP TABLE GENERIC_TABLE; - ", для любого из четырех значений, которые нужно вставить, было бы сброшено таблицу?

Спасибо!

РЕДАКТИРОВАТЬ: Я проверил это сам, и кажется, что он не уязвим для SQL-инъекций. JDBC, кажется, использует подготовленные операторы с параметризованными установщиками в соответствии с регистратором, так что все хорошо.

0 ответов

Другие вопросы по тегам