笔记:web漏洞

  • SQL注入

SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。在设计程序,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,从而使数据库受到攻击,可能导致数据被窃取、更改、删除,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。
通常情况下,SQL注入的位置包括:
(1)表单提交,主要是POST请求,也包括GET请求;
(2)URL参数提交,主要为GET请求参数;
(3)Cookie参数提交;
(4)HTTP请求头部的一些可修改的值,比如Referer、User_Agent等;
(5)一些边缘的输入点,比如.mp3文件的一些文件信息等。

防范:

  1. 参数化查询接口
  2. 字符过滤
  3. 数据类型检测
  4. 编码统一
  • XSS攻击

跨站脚本攻击。为了不与CSS混淆,缩写为XSS。它允许攻击者将恶意代码植入到提供给其它用户使用的页面中。
常见两类:
1.存储型XSS,主要出现在让用户输入数据,供其他浏览此页的用户进行查看的地方,包括留言、评论、博客日志和各类表单等。应用程序从数据库中查询数据,在页面中显示出来,攻击者在相关页面输入恶意的脚本数据后,用户浏览此类页面时就可能受到攻击。2.反射型XSS,主要做法是将脚本代码加入URL地址的请求参数里,请求参数进入程序后在页面直接输出,用户点击类似的恶意链接就可能受到攻击。

防御:

  1. 过滤字符
  2. 使用HTTP头指定类型
  • CSRF攻击

跨站请求伪造。简单理解为攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。
CSRF攻击一般场景是:
1、用户登录受信站点A,生成本地cookie;
2、用户没有退出站点A,访问了恶意站点B。

预防

  1. 将Cookie设置为HttpOnly
  2. 增加token
  3. 通过Referer识别
  • DDoS攻击

分布式拒绝服务攻击,大量请求导致服务器瘫痪相比DoS,DDoS杀伤力更大攻击设备更多

预防:

  1. 检测过滤
  2. 清洗异常流量

你可能感兴趣的:(笔记:web漏洞)