注入的实质就是追加命令,正常的命令是程序中的“常量”,能动手脚的只能是可输入的用户、密码这些可输入的“变量”。
拼接方式是常量、变量拼在一起编译,才可以在正常的命令后追加后门命令。
参数化的方式仅常量参与编译,就无法追加后门命令。

解决方案 »

  1.   

    是不是编译的时候,参数化就是用参数参与编译,这样就全是常量了。但是什么时候把参数的值传进去,能否详细讲一下编译后的执行过程?谢谢
      

  2.   

    只要知道参数化查询,编译执行计划时并没有用的参数,所以命令是确定的。
    至于驱动程序怎么去执行,不用关心。
      

  3.   


    大师,是否知道就是我最终还是得把参数的值传过去,传过去后还是不是替换掉参数,那么这样为什么就会不产生注入,上面讲的我还是没有理解为什么
      

  4.   

    编译后执行计划就确定了,传参数只是为了运行执行计划。
    执行计划不变,就不会多出命令来。