项目gitHub地址:https://github.com/Lxstrive/DjangoCombat
sql注入的危害:
1.非法读取,篡改,删除数据库中的数据
2.盗取用户的各类敏感信息,获取利益
3.通过修改数据库来修改网页上的内容
4.注入木马等
登录时候 会模拟sql语句 进行获取数据库查询操作
xss跨站脚本攻击(Cross Site Scripting)的危害
1.盗取各类用户账号,如网银账号,各类管理员账号
2.盗取企业重要的具有商业价值的资料
3.非法转账
4.控制受害者机器向其他网站发起攻击,注入木马等等
xss攻击流程
受害机 =========请求url=======>>>>服务器(bank.com)
受害机 <<<<=====返回数据==========服务器(bank.com)
http://www.bank.com/list/?name='iphone6'
黑客:通过xss漏洞 (服务器不对用户传递的参数校验)
http://www.bank.com/list/?name=<script>x=document.cookie;alert(x);</script>
可以通过服务器拿到受害机的cookie信息
xss防护
1. 首先代码里对用户输入的地方和变量都需要仔细检查长度和对 " < ; >' 等字符做过滤
2.避免直接在cookie中泄露用户隐私, 例如Email,密码等 通过使用cookie和系统ip绑定来降低cookie泄露后的危险
3.尽量采用POST而非用GET提交表单
csrf跨站请求伪造(Cross-site request forgery)的危害
1.以你的名义发送邮件
2.盗取你的账号
3.购买商品
4.虚拟货币转账
django 会在每个form提交中提供一个{% csrf_token %}防止csrf攻击