限时免费试用:欢迎注册 api.bigmodel.org ,快速体验大模型 API 接入服务。
当前位置:首页 >数据库

sql注入学习笔记(基础)

分类:数据库时间:2018-04-08浏览:2798

1.什么是sql注入

sql注入是将sql代码添加到输入参数.传递到服务器解析并执行的一种攻击手段 产生原因: 开发人员无法保证所有代码都进行过滤 攻击者发送给服务器的经过构造的可执行的sql语句 数据库未做相对应的安全配置

2.寻找sql注入漏洞

逻辑推理法: 1.识别web应用中的所有输入点(get/post/http头信息)
get:   
a.php?id=-1 or 1 = 1

2.了解哪些类型特殊字符的请求会触发异常
get:
'
"
post:
'

3.进行sql注入攻击

1.数字注入
a.php?id=-1 or 1 = 1
2.字符串注入
select * from user where name='xxx' and pwd='123456';

填用户名时填入 xxx'#  
select * from user where name='xxx'#' and pwd='123456';

填用户名时填入 xxx'--  
select * from user where name='xxx'-- ' and pwd='123456';

4.预防sql注入

1.严格检查输入变量的强校验 判断id 使用正则限制 2.对输入的特殊字符进行转义
name="mysqli_real_escape_string($db,$username)" and pwd=1111;
3.mysqli预编译机制
$sql = select * from user where name=? and pwd= ? ;
 bind_param($sql,'ss',$name,$pwd);
4.pdo预处理 http://www.wangmingchang.com/2728.html
本站文章如未注明出处均为原创,转载请注明出处,如有侵权请邮件联系站长。
0/500
Share your thoughts respectfully.