mySQL(10)-动态注入

    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编程时的疏忽,通过SQL语句,实现无帐号登录,甚至篡改数据库。
实际应用时其实有点小复杂,比如;PreparedStatement,正则过滤参数,字符串过滤之类,不在此赘述。本文就这个知识点MARK一下基础语法.
3步:

begin

   1.预检测某个东西,sql语句合法性
   2.SQL=格式化+arg
   3.执行sql语句

end

delimiter \\
CREATE PROCEDURE p (
in nid int
)
BEGIN
set @nid=nid;
PREPARE prod FROM 'select * from student where sid > ?'; --名字变量prod, ?是占位符
EXECUTE prod USING @nid; -- 不能写成 EXECUTE prod USING arg --而要写成 -@nid
DEALLOCATE prepare prod; -- 执行已经格式化完成后的sql语句 prod 得到结果集
END\\
delimiter ;

 

posted @ 2020-05-10 17:12  jasmineTang  阅读(96)  评论(0)    收藏  举报