1.如何理解SQL注入?
SQL注入是一种将SQL代码添加到输入参数中,传递到SQL服务器解析并执行的一种攻击手法。
2.SQL注入是如何产生的?
web开发人员无法保证所有的输入都已经过滤。
攻击者利用发送给SQL服务器的输入数据构造可执行的SQL代码
数据库未做相应的安全配置。
3.如何寻找SQL注入漏洞?
借助逻辑推理:
识别web应用中所有输入点。
了解哪些类型的请求会触发异常。(get特殊字符‘ “)
检测服务器响应中的异常。
4.如何进行SQL注入攻击?
数字注入。
(1)select * from name where id=-1 OR 1=1; 这样就会查询全表。
字符串注入。
(1)SQL,#后面会被注释掉的
select * from name= 'llsydn'#' and password = "123456";
(2)SQL,--后面会被注释掉的
select * from name= 'llsydn'--' and password = "123456";
5.如何预防SQL注入?
严格检查输入变量的类型和格式。
过滤和转义特殊字符。
利用mysql的预编译机制。