网络攻击之sql注入 xss攻击 CSRF ddos攻击

一.sql 注入

   描述:就是将sql语句通过web表单提交或页面请求,达到欺骗服务器执行恶意sql命令,攻击数据库的行为。

   类型:sql注入分为平台型注入和代码层注入

    平台型注入的原因是数据库配置不安全和数据库平台漏洞造成的

    代码层注入是因为coder未对输入的数据进行细致的过滤,而执行了非法的sql命令

   防御措施:对于平台型注入:不要用管理员权限做数据库连接,为每个应用使用单独的权限做数据库连接

                   对于代码层注入:不要相信任何用户的输入:要对输入信息做校验,做长度限制等。

                                                 不要做动态拼接sql语句:可以使用参数化的sql语句或存储过程进行数据查询存储

                                                 不要直接存放敏感信息:对敏感信息进行加密或做hash 处理等

二.xss攻击

   描述:xss(cross-site-scripting) 即为跨站脚本攻击,是服务器对客户端的输入检测不严格,导致客户端的输入的恶意jiavascript嵌入到html代码中,当其他用户打开浏览器访问时,

             这些js代码会自动执行而达到攻击目的。

    防御措施:不要相信任何用户输入,对用户的信息进行处理,只保留合法的数据,其他都过滤掉

三.CSRF攻击

  描述:csrf(cross-site request forgery)即跨站点请求伪造,攻击者盗用了合法用户的身份,以合法者的身份发送恶意请求。因为身份合法,这个请求在服务器端被看作是合理的,如以合法者的身份发送邮件,盗取账号,购买商品等

  CSRF攻击攻击原理及过程如下:
       1. 用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;

       2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户登录网站A成功,可以正常发送请求到网站A;

       3. 用户未退出网站A之前,在同一浏览器中,打开一个TAB页访问网站B;

       4. 网站B接收到用户请求后,返回一些攻击性代码,并发出一个请求要求访问第三方站点A;

       5. 浏览器在接收到这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求其实是由B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的恶意代码被执行。 

    防御措施:

       目前防御 CSRF 攻击主要有三种策略:验证 HTTP Referer 字段;在 HTTP 头中自定义属性并验证。

       验证HTTP Referer字段:HTTP referer 记录了http请求的来源地址。由于当用户通过黑客的网站发送请求到银行时,该请求的 Referer 是指向黑客自己的网站,所以可以验证referer 的源地址是否为合法的,如果是其他网站的请求,则拒绝请求。

       弊端是:referer是由浏览器提供的,如果浏览器不安全,由于浏览器漏洞导致referer被篡改,也可能会造成csrf攻击

       在HTTP头中添加自定义属性并验证:要抵御 CSRF,关键在于在请求中放入黑客所不能伪造的信息,并且该信息不存在于 cookie 之中。可以在 HTTP 请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求。这里并不是把 token 以参数的形式置于 HTTP 请求之中,而是把它放到 HTTP 头中自定义的属性里。

四.ddos攻击

     描述:ddos(Distributed Denial of Service)即分布式服务拒绝。一般来说是指攻击者利用“肉鸡”对目标网站在较短的时间内发起大量请求,大规模消耗目标网站的主机资源,让它无法正常服务。

     防御措施:

     1. 高防服务器:主要是指能独立硬防御 50Gbps 以上的服务器,能够帮助网站拒绝服务攻击,定期扫描网络主节点等,这东西是不错,就是贵

  2.黑名单:设置黑名单,此方法秉承的就是“错杀一千,也不放一百”的原则,会封锁正常流量,影响到正常业务。

  3..ddos清洗:会对用户请求数据进行实时监控,及时发现DOS攻击等异常流量,在不影响正常业务开展的情况下清洗掉这些异常流量。

     4.cdn加速:CDN 服务将网站访问流量分配到了各个节点中,这样一方面隐藏网站的真实 IP,另一方面即使遭遇 DDoS 攻击,也可以将流量分散到各个节点中,防止源站崩溃。

 

posted @ 2021-03-31 12:13  coder菜鸟玩家  阅读(468)  评论(0)    收藏  举报