zoukankan      html  css  js  c++  java
  • 网站攻击以及解决方案

    :  XSS攻击

     1:XSS攻击原理:

          Xss(cross-site scripting)攻击即跨站点脚本攻击,指黑客通过篡改页面,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作.

    2:XSS攻击的两种类型:

       1>反射型:

           攻击者诱使用户点击一个嵌入恶意脚本的连接,达到攻击的目的.

           

       2>持久型:

            黑客提交含有恶意脚本的请求,保存在被攻击的web站点的数据库中,  用户浏览网页时,恶意脚本被包含在正常页面中,达到攻击的目的.

    3:XSS攻击的危害包括

         盗取各类用户帐号,如机器登录帐号、用户网银帐号、各类管理员帐号
         控制企业数据,包括读取、篡改、添加、删除企业敏感数据的能力
         盗窃企业重要的具有商业价值的资料
         非法转账
         强制发送电子邮件
         控制受害者机器向其它网站发起攻击

    4:XSS攻击的处理:

          (1) 对一些特殊的标签进行转义;
          (2) 直接过滤掉JavaScript事件标签和一些特殊的html标签;
          (3) 将重要的cookie标记为http only;
          (4) 只允许用户输入我们期望的数据;
          (5) 对数据进行html encode处理等。

    二  :SQL注入攻击

         

      1:SQL注入攻击原理:

          攻击者在HTTP请求中注入恶意SQL命令,服务器用请求参数构造数据库SQL命令时,恶意SQL被一起构造,并在数据库中执行.

      2:SQL攻击的处理:

            1>可通过正则匹配.

            2>可通过addslashes函数对数据库操作关键字进行过滤.

            3>sql语句书写时尽量不要省略小引号和单引号

            4>开启PHP安全模式safe_mode=on

            5>打开magic_quotes_gpc来防止SQL注入

            6>使用MYSQLI或PDO预处理

    三:CSRF攻击

     

           1: Csrf攻击原理:

           

                攻击者通过跨站请求以合法用户的身份进行非法操作.

           2:csrf攻击的处理主要是识别请求者身份:

               

                 1>表单Token:  通过在请求参数中添加随机数来阻止攻击者获   得所有请求参数.

                 2>验证码:   请求提交时,用户输入验证码,以避免用户在不知情的情况下被攻击者伪造请求.

                 3>Referer:  HTTP请求头的referer域中记录着请求来源,可通过请求来源,验证是否合法.

           3:csrf攻击的危害包括:

              

                  转账交易,非法评论

    四:Error code(错误回显)

       原理:

            通过故意制造非法输入,使系统运行时出错,获得异常信息,从而寻找系统漏洞进行攻击.

       解决方式:

           通过配置web服务器的参数,跳转500页面到专门的错误页面.

    五:HTML注入

         原理:

           Php,jsp等服务器页面程序中使用HTML注释,这些HTML注释就会显示在客户端浏览器,给黑客造成攻击便利

    解决方式:

       程序发布前需要进行代码review或自动扫描,避免HTML注入.

    六:文件上传

       原理:

       如果上传的是可执行的程序,并通过该程序获得服务器端命令执行能力,那么攻击者就可以攻击集群环境和其他机器

       解决方法:

          设置上传文件白名单.修改文件名,使用专门的存储.

    七:路径遍历:

         原理:

           攻击者在请求的url中使用相对路径,遍历系统未开放的目录和文件.

        

         解决方法:

            将js,css等资源文件部署在独立服务器上,使用独立域名,其他文件不使用静态URL访问,动态参数不包含文件路径信息.

          

                     

           

          

          

  • 相关阅读:
    sqlite 修改 id 自增值
    欧拉图与哈密顿图12:22
    nps 配置 vnc内网穿透
    0 范数、1 范数、2 范数有什么区别?
    相关测试
    golang学习笔记---channel(通道)
    golang学习笔记---pflag包
    Nginx+Keepalived配置Nginx自动启动和7*24不间断服务
    Keepalived+Nginx双机主备配置实践
    虚拟机中使用域名通过宿主window访问
  • 原文地址:https://www.cnblogs.com/wydblog/p/5593339.html
Copyright © 2011-2022 走看看