我发现我的一个演示网站容易受到SQL注入的攻击(我目前正在做CEH)SELECT column_1,column_2,column_3 from table_1 where column_4='3' order by id [*INJECTION POINT FOUND HERE*]SELECT column_1,column_2
我正在学习SQL注入教程。我不明白SQL语句的一个方面,该语句用于确定表中的不同列将显示在网页上,然后用于执行语句的位置。以前的SQL注入语句用于确定表中的列数,即6列。SELECT * FROM TableName Where id=12 union all select 1,2,3,4,5,6SELECT * FROM TableName Where id=12 union a
因此,我通过JDBC在基于SQL的数据库中使用了PrepareStatements,以防止SQL注入攻击。我想知道,如果使用得当,使用Neo4J的Java API ExecutionEngine.execute(String,Map<String,Object>) (参见)是否可以防止针对Cypher的注入攻击更详细地说,如果早期执行参数替换,然后解析Cypher,我看不出这将如何帮助防止注入攻击,但如果解析Cypher,然后稍后替换参数,那么我可以看到它如何防止注入