Kyp*_*lez 0 mysql sql oracle sql-injection
我正在测试客户的查询,并遇到了一个有趣的问题.一个不好意图的黑客SQL会注入以下查询:
SELECT * FROM mytable WHERE 1
AND cfield='0'
AND (
field1 like '%$searchterm%' OR
field2 like '%$searchterm%' OR
)
Run Code Online (Sandbox Code Playgroud)
例如,在我看来,他无法评论第一个$ searchterm之后的内容,只是插入其他查询:
field1 like '%$searchterm%'
Run Code Online (Sandbox Code Playgroud)
不过,我可能错了.期待您的意见.先感谢您!
试试这个:
SELECT * FROM mytable WHERE 1
AND cfield='0'
AND (
field1 like '%' || :searchterm || '%' OR
field2 like '%' || :searchterm || '%' OR
)
Run Code Online (Sandbox Code Playgroud)
... :searchterm输入参数填充在您最喜欢的语言提供的whateter函数中.