欢迎光临
感谢一路有你

sql注入学习笔记(基础)

如果你对该文章中的内容有疑问/不解,可以点击此处链接提问
要注明问题和此文章链接地址 点击此处跳转
 

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预处理

https://www.wangmingchang.com/2728.html

赞(0) 打赏
未经允许不得转载:王明昌博客 » sql注入学习笔记(基础)
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏