一、SQL注入
示例:
select * from user where id='1' or 1='1'
注入方式
1、常规注入
在接收用户输入是未过滤
2、宽字节注入
数据库为gbk编码时,通过addslashes()函数 转义后会转为中文,之后便可注入 如:%df%5c%27 转以后 为 運'
3、二次编码注入
urldecode 注入,%27 转码后为 ‘
4、base64编码注入
base64_decode 转换后未进行过滤
5、注入工具
SQLMap工具
6、如何防范
addslashes()函数 过滤单引号
数据库为utf-8编码
验证传入类型
二、XSS跨站(又叫跨站脚本攻击)
如:http://www.youkuaiyun.com/postlist?key=test</div><script>alert('123')</script>
指攻击者往web页面插入恶意html代码,当用户浏览网页时,嵌入web页面的html代码会被执行,从而盗取用户cookie信息
漏洞类型
反射型
存储型
DOM型
防范方法
1,过滤html标识符中的(<,>,;,')
2, 返回html数据时用 htmlspecialchars() 过滤下
三、代码注入
当攻击者提交的参数被当作代码执行的时候,我们称之为代码注入漏洞
漏洞类型
1.常规eval注入
2.eval单引号包裹
3.preg_replace /e 注入
4.动态调用函数
四、CSRF跨站请求伪造
五、文件包含
六、文件上传