Django开发web安全防护

<1> sql注入攻击与防范

  (1)、sql注入的危害

    1、非法读取,篡改,删除数据库的中的数据;

    2、盗取用户的各类敏感信息,获取利益;

    3、通过修改数据库来修改网页上的内容;

    4、注入木马等等;

    (2)、sql注入的防范

   1、对于用户的输入进行合法性判断;

    2、参数中加入sql语句拼接字符串使之为真;

       3、使用django的orm,它已经对这些做了处理;

 

 

<2> XSS攻击

 

  (1)、XSS跨站脚本攻击(Cross Site Scripting)的危害

 

    1、盗取用户各类账号,如用户网银账号,各类管理员账号;

 

    2、盗取企业重要的具有商业价值的资料;

 

    3、非法转账;

 

    4、控制受害者的机器向其它网站发起攻击,注入木马等等;

    

    正常流程:

        

            http://www.bank.com/product/list/?name='iphone6'

 

        当传入商品参数iphone6时,这个字符串会被显示在页面中!

 

            http://www.bank.com/product/list/?name=<script>x=document.cookie;alert(x);<script>

        

        将代码修改为js代码

        

        攻击者拿到你的cookie信息,然后伪装成用户        

      

 

    (2)、XSS攻击防范

 

   1、首先代码里对用户输入的地方和变量都需要仔细检查长度和对

     "<" , ">"  , "," ," ' "等字符做过滤;

 

    2、避免直接在cookie中泄露用户隐私,列入email,密码等等通过使cookie

     和系统ip绑定来降低cookie泄露之后的危险;

 

       3、尽量使用POST而不是GET来提交表单数据;

 

 

<3> CSRF攻击与防护

 

  (1)、csrf跨站请求伪造(Cross-site request forgery)的危害

 

    1、以你的名义发邮件;

 

    2、盗取你的账号;

 

    3、购买商品;

 

    4、虚拟货币转账;

    

    

    用户并没有向a请求,而是访问了b。b要求用户访问a的。
    原因:用户向a的每次请求都会带上session id

    

 

    (2)、csrf跨站请求伪造的防范

 

   *、提交form表单必须添加crsf token,攻击网站无法生成crsf token;

 

posted @ 2018-07-13 10:29  非洲小白脸non  阅读(254)  评论(0编辑  收藏  举报