HTTP协议--常见攻击
HTTP常见攻击
1.HTTP中间人攻击
攻击人处于C/S通信线路中间
攻击过程
1.服务端向客户端发送公钥
2.攻击者截获公钥,保留在自己手上
3.攻击者伪造公钥发送给客户端
4.客户端收到伪造公钥后,生成加密hash值发送给服务端
5.攻击者截获加密hash值,用私钥解密并获取真密钥
6.攻击者生成并加密假hash值并发送给服务器
7.服务器收到假hash密文并解密,获得假密钥
攻击前提:客户端相信攻击者伪造的CA证书,并与其建立连接
2.XSS攻击
攻击原理
攻击者向web页面插入html+js的恶意脚本和代码,当用户浏览该页时嵌入的恶意脚本被执行以攻击用户。
攻击分类
1.反射型攻击
2.持久型攻击
3.DOM型攻击
反射型攻击
通过图片诱导点击URL,点击后URL返回到浏览器并运行,即可控制浏览器的行为
持久型攻击
在某论坛或社交网站之类的系统发布一些携带恶意脚本的评论内容提交到网站数据库中,其他用户在浏览到该评论内容的恶意代码返回到浏览器中执行
DOM型攻击
通过恶意脚本修改页面DOM结构,取出和执行都有浏览器端完成,属于前端JS自身代码漏洞
攻击防范
对输入内容进行转义,对关键字进行过滤
对重要的cookie设置httpOnly,禁止js访问cookie,防止客户端通过document.cookie读取cookie
对输出URL参数前做格式检测
不使用eval解析不确定的数据或代码
3.SQL注入攻击
攻击原理
通过构建特殊输入参数改变SQL语句组合以执行攻击操作
攻击防范
关闭web错误回显
采用预编译方法,不要直接拼接SQL语句
4.CSRF跨站点请求伪造
攻击原理
利用XSS攻击获取cookie,再伪造身份发送伪造请求
攻击防范
设置白名单,限制上传文件的类型
读取数据流并判断文件格式
对文件采取压缩,避免文件在服务器被直接执行
5.DDOS攻击
攻击原理
大量的傀儡机在攻击主机的控制下,发送一对请求数据给目标主机,使得目标主机的线程资源占满,使正常访问用户无法发送请求
攻击方式
SYN Flood攻击
攻击方通过伪造大量的SYN请求去向目标机请求建立TCP连接,使得目标机建立了大量的半连接而导致半连接等待队列被占满,使得正常的连接请求无法获取足够的资源建立TCP连接
DNS Query Flood攻击
攻击方攻击DNS服务器,伪造大量的域名解析请求(这些域名大多是随机生成的,或者根本就不存在。)使得DNS服务器需要花费大量的资源去解析,令其他正常用户浏览网页解析域名请求无法响应
cc攻击 HTTP Flood
控制HTTP 代理服务端去给目标机发送大量HTTP请求,使得目标机宕机