XSS 跨站脚本攻击
恶意攻击者将代码通过网站注入到其他用户浏览器中的 攻击方式。
- 攻击者会把恶意 JavaScript 代码作为普通数据放入 到网站数据库中;
- 其他用户在获取和展示数据的过程中,运行 JavaScript 代码;
- JavaScript 代码执行恶意代码(调用恶意请求,发送 数据到攻击者等等)
解决方案
XSS 跨站脚本攻击 使用自带的render 或者使用http.escape对数据进行转义处理
CSRF
CSRF(Cross-site request forgery,简称:CSRF 或 XSRF)
恶意攻击者在用户不知情的情况下,使用用户的身份来操作
- 用户正常的访问淘宝网站 cookie中保存了用户信息
- 用户访问了黑客的网站 恶意程序会以用户的身份去请求淘宝网站 做一些用户不知情的操作
黑客的准备步骤
- 黑客创建一个 请求网站 A 类的 URL 的 Web 页面,放在恶意网站 B 中 ,这个文件包含了一个创建 用户的表单。这个表单加载完毕就会立即进行提交。
- 黑客把这个恶意 Web 页面的 URL 发送至超级管理员,诱导超级管理员打开这个 Web 页面
解决方案
使用django自带的中间件
'django.middleware.csrf.CsrfViewMiddleware',
SQL 注入攻击
SQL 注入漏洞: 攻击者直接对网站数据库执行任意 SQL语句,在无需 用户权限的情况下即可实现对数据的访问、修改甚至是删除
原始 SQL 语句,切记避免拼接字符串,这是错误的调用方式:
如果输入条件 where or 1=1
解决方案
Django 的 ORM 系统自动规避了 SQL 注入攻击