It doesn't necessarily require a semi-colon. For example, if concatenating column names into a select statement, someone could potentially inject a sub-select so they could view information that they otherwise wouldn't have access to.
As has already been said here... making sure variables are only inserted via host vars for static statements, or parameter markers for dynamic statements is an easy way to protect against injection attacks.
On 2/3/2015 11:12 AM, Jon Paris wrote:
An injection attack requires as a minimum a semi-colon in the string
because to be effective it has to terminate your statement so that it
can start a new nasty one. It would also normally have a — marker at
the end to make any of the original SQL a comment.
This is the Web Enabling the IBM i (AS/400 and iSeries) (WEB400) mailing list
To post a message email: WEB400@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
As an Amazon Associate we earn from qualifying purchases.
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.