from 慕课实战-强力Django+杀手级Xadmin打造在线教育平台
sql注入攻击与防范
sql注入的危害
- 非法读取、篡改、删除数据库中的数据
- 盗取用户的各类敏感信息,获取利益
- 通过修改数据库来修改网页上的内容
- 注入木马等
在参数中加入sql语句,没有对输入做安全性验证。
如在用户登录界面输入用户名:’ OR 1=1# 密码:任意输入
发现可以获取到我们数据库里面的用户名和密码。
xss攻击与防范
xss跨站脚本攻击(Cross Site Scripting)的危害
- 盗取各类用户账号,如用户网银账号、各类管理员账号
- 盗窃企业重要的具有商业价值的资料
- 非法转账
- 控制受害者机器向其他网站发起攻击、注入木马等等
xss攻击流程


xss攻击防护
- 首先代码里对用户输入的地方和变量都需要仔细检查长度和对<>;’等字符做过滤
- 避免直接在cookie中泄漏用户隐私,例如email、密码等
- 通过使cookie和系统ip绑定来降低cookie泄漏后的危险
- 尽量采用POST而非GET提交表单
csrf攻击与防范
csrf跨站请求伪造(Cross-site request forgery)的危害
- 以你的名义发送邮件
- 盗取你的账号
- 购买商品
虚拟货币转账
CSRF攻击流程:

例:
黑客服务器向用户返回Html中插入了一个图片,这个image实际是向某账户转10亿,浏览器会加载图片,默认发送这个请求。如果用户访问某信任网站A,这时用户再添加一个标签,此时信任网站cookie还未失效,再访问危险网站,这时就相当于向信任网站A发送请求,进行转账
CSRF攻击防范:
每个form里面加上 {{csrf_token}}
本文介绍了Django框架中常见的三种Web攻击:SQL注入、XSS和CSRF,并详细阐述了每种攻击的危害。针对SQL注入,通过示例展示了如何利用未过滤的用户输入获取敏感信息。XSS攻击则可能导致用户信息被盗和恶意操作,防范措施包括输入检查和避免在cookie中存储隐私信息。最后,讨论了CSRF攻击的原理,如通过伪装用户进行恶意操作,防止CSRF的方法是在表单中使用CSRF令牌。
1152

被折叠的 条评论
为什么被折叠?



