请选择 进入手机版 | 继续访问电脑版

[安全相关] 详解常见web攻击本领

[复制链接]
查看78 | 回复9 | 2021-9-13 06:21:48 | 显示全部楼层 |阅读模式
目次

Web攻击

在互联网中,攻击本领 不可胜数 ,我们平常 不能以本身 只是平凡 的开辟 程序员而不是安全方向的开辟 者为来由 ,而不去把握 基本的 Web 攻击本领 !我们来熟悉 一下有哪几种常见的 Web 攻击本领

详解常见web攻击本领

常见的 Web 攻击本领 紧张 有

  1. XSS 攻击
复制代码
  1. CSRF 攻击
复制代码
  1. SQL 注入攻击
复制代码
  1. DDos 攻击
复制代码
  1. 文件漏洞攻击
复制代码
等。这几种攻击方式的防护本领 并不复杂,却还是有很多企业遭受了该攻击,朔源到头,还是由于 人为的疏忽。

一、XSS 攻击

XSS 攻击的全称为

  1. 跨站脚本攻击(Cross Site Scripting)
复制代码

  1. 为什么不叫[code]CSS
复制代码
,那是由于 为了不跟层叠样式表(Cascading Style Sheet,CSS)混淆[/code]

XSS攻击 是 Web 应用中最常见到的攻击本领 之一。

跨站脚本攻击,关键词

  1. 脚本
复制代码

攻击者常常在网页中嵌入了恶意的脚本程序,当用户打开该网页的时间 ,脚本程序便开始在客户端的欣赏 器后台实行 ,常用于盗取客户端的 cookie,用户名暗码 ,下载实行 病毒的木马程序,以及获取客户端 Admin 权限。

1、攻击原理

前端常用表单的情势 向后台提交信息

  1. <input type="text" name="username" value="cbuc" />
复制代码

很平凡 的一段html代码,向后台提交 username 的信息,正常环境 下,用户一样寻常 会输入本身 的 username,这个时间 毫无题目 ,但是在不正常的环境 下,用户输入的不是一个正常的字符串,而是

  1. "/><script> alert("bingo") </script><!-
复制代码
。按这个时间 表单的内容就会变成

  1. <input type="text" name="username" value=""/><script> alert("bingo") </script><!-" />
复制代码

这个时间 向后台提交参数,由于 username 的不合法性,校验大概 不通过,服务端就重定向会该页面,并且带上以上参数,这个时间 页面就会弹出一个告诫 框:

详解常见web攻击本领

告诫 框题目 不是很大,是由于 取决于这段脚本,假如 攻击者稍做修改,那么性子 大概 就不一样了~

以致 ,攻击者可以对URL举行 操作,正常提交的地址为

  1. www.xxx.com/login?username="/><script> alert("bingo") </script><!-"
复制代码

攻击者可以对 URL 举行 编码用来疑惑 用户:

  1. www.xxx.com/login?username="%2F%3E%3Cscript%3E%20alert(%22bingo%22)%20%3C%2Fscript%3E%3C!-"
复制代码

2、防护本领

知道了怎样 攻击,防护起来就不难,我们对症下药即可。既然输入的参数不合法,我们就很有必要对入参举行 校验,比如

  1. <、>、"、"、'、'
复制代码
这些特殊 字符我们很有必要举行 转义与校验。

二、CSRF 攻击

CSRF 攻击全称

  1. 跨站请求伪造 (Cross site request forgery)
复制代码
。是一种对网站的恶意利用 ,我们上面说到的 XSS攻击 是利用 站点内的信托 用户,本身 去触发脚本而导致的攻击。而 CSRF 则是通过伪装来自受信托 用户的哀求 去利用 受攻击的网站。

CSRF 攻击,关键词:

  1. 伪造
复制代码

攻击这盗用了访问用户的身份,以访问者的名义向第三方网站发送恶意哀求 ,常用于利用 访问者的身份发送消息,举行 交易转账以及盗取账号。

1、攻击原理

详解常见web攻击本领

受害者起首 在信托 站点完成了登录,并且天生 了 Cookie,Cookie会在欣赏 器保存肯定 的时间。到这一步,用户假如 在没有登出 信托 站点 的环境 下,访问了 恶意站点,这个时间 恶意站点 就会向 信托 站点 发起哀求 ,这个哀求 就会带上以上天生 的 Cookie,当恶意哀求 来到 信托 站点信托 站点 看到哀求 携带的 Cookie,就会判定 该哀求 是 受害者 发出的。因此 信托 站点 就会根据 受害者 的权限来完成 恶意哀求 的指令,而这个指令大概 是利用 受害者 的身份发送消息,转账付出 等等操作,如许 恶意站点 就达到了伪造 受害者 哀求 信托 站点 的目标 。

看到这个流程不知道你是否有所开导 ,不知道屏幕前的小伙伴是否有过

  1. QQ
复制代码
被盗用的履历 ,当然,有些盗用的本领 与上面的流程是相似的。

该攻击本领 在一样寻常 中非常 常见。假如 某个支付系统的转账地址为

  1. www.xxx.com/pay?accountNum=xxxx&money=xxx
复制代码
。此中 accountNum 为转账目标 的账户,money 为转账金额。那这个时间 假如 你刚巧登录过了该支付系统,又没有及时的登出,在访问
  1. 恶意站点
复制代码
的时间 ,假如 你点开了某张图片,而图片的地址为 :

  1. <img src="www.xxx.com/pay?accountNum=xxxx&money=xxx" />
复制代码

当你美滋滋地欣赏 图片的时间 ,却不知道此时你的账户上已经悄悄 的少了指定金额!

这就是由于 你没有及时的登出

  1. 支付系统
复制代码
,而又点击了
  1. 恶意站点
复制代码
的 恶意链接,携带了你未过期的 Cookie,成功盗取 了你的金额。

2、防护本领

同样知其症下其药!防护本领 如下:

1)将 cookie 设置为 HttpOnly

CSRF 攻击的关键就在于利用 了用户未过期的 Cookie,那么为了防止 Cookie 的盗取,就必要 在 Cookie 中设置 HttpOnly 属性,如许 通过程序(

  1. XSS 攻击
复制代码
)就无法读取到 Cookie 信息,避免了攻击者伪造 Cookie 的环境 出现。

2)增长 token

该防护本领 还是针对 Cookie 的盗取,由于哀求 中全部 的用户验证信息都存放于 Cookie 中,由于 我们抵御 CSRF 的关键就在于:怎样 在哀求 中放入攻击者所不能伪造的信息,并且该信息不能存放在 Cookie 中。那么我们就可以在哀求 返回中加入一个随机天生 的

  1. token
复制代码
,当哀求 来到时举行 token 的校验,假如 校验不通过则以为 是 CSRF 攻击而拒绝该哀求 。

3)通过 Referer

根据 HTTP 协议,在 HTTP 哀求 头上有一个字段叫做

  1. referer
复制代码
,它记录了该Http 哀求 的泉源 地址。在通常环境 下,访问一个安全受限的页面的哀求 都来自同一个网站。

在 CSRF 中恶意哀求 是从 恶意站点 发出的,因此要防御 CSRF 攻击,必要 对每一个哀求 验证其 referer 值即可。

详解常见web攻击本领

三、SQL 注入攻击

SQL注入 是程序员最常常 遇到 的,所谓 SQL注入,就是通过把 SQL 下令 伪装成正常的哀求 参数,传递到服务端,诱骗 服务器终极 实行 恶意的 SQL下令 ,达到入侵的目标 。攻击者常常利用 SQL 注入的弊端 ,来查询非授权的关键信息,修改数据库服务器的数据,改变表布局 ,危害极大!

1、攻击原理

我们查询用户存不存在每每 是通过以下 SQL:

  1. SELECT * FROM s_user WHERE username = '' and password = ''
复制代码

当我们后端利用 以下代码查询时,便会出现致命的弊端

  1. Connection con = getConnection();
  2. Statement st = (Statement) con.createStatement();
  3. String sql = "SELECT * FROM s_user WHERE username = '"+ username +"' and password = '"+ passward+"' ";
  4. ResultSet rs = st.executeQuery(sql);
  5. while(rs.next()){
  6. ...
  7. }
复制代码

上面代码逻辑便是利用 前端传入的参数举行 数据库查询,乍看之下感觉毫无题目 ,但是这个时间 假如

  1. password
复制代码
前端传过来的值是
  1. ' or '1'='1
复制代码

那这个时间 SQL 就会变成

  1. SELECT * FROM s_user WHERE username = '' and password = '' or '1'='1'
复制代码

如许 的 SQL 不用试都知道会把数据库中的用户全都查出来,显着 没有输入精确 的暗码 ,却返回了登录成功。而这便是一次简单且典型的 SQL 注入攻击。

  1. ' or '1'='1
复制代码
危害是让用户免暗码 登录,假如 传过来的值为
  1. '; drop table xxx; --
复制代码
这个时间 题目 就大了!

2、防护本领

1)利用 预编译语句

预编译语句 PreparedStatement 是 java.sql 中的一个接口,继承自 Statement 接口。

预编译语句和 Statement 的不同之处在于,创建 PreparedStatement 对象时就指定了 SQL 语句,该语句立刻 发送给 DBMS 举行 编译,当该编译语句必要 被实行 时,DBMS 直接运行编译后的 SQL 语句,而不必要 像其他 SQL 语句那样先将其编译:

  1. String sql = "SELECT * FROM s_user WHERE username = ? and password = ? ";
  2. PreparedStatement st = conn.preparedStatement(sql);
  3. st.setString(1, username);
  4. st.setString(2, password);
  5. ResultSet rs = st.executeQUery();
复制代码

可以看到,SQL 语句中原有的白能量已经用占位符 ? 更换 了,变量通过

  1. setString()
复制代码
方法举行 设置。

2)利用 ORM 框架

防止 SQL 注入的关键本领 在于对一些关键字举行 转义,而常见的一些 ORM 框架,如 Mybatis,Hibernate等,都支持对相应 的关键字或者特殊 符号举行 转义,可以通过简单的设置 ,很好的防备 SQL 注入的弊端 ,降低平凡 开辟 职员 举行 安全编程的门槛。

四、文件上传弊端

很多网站都有上传的功能,如上传图片、文件、压缩包等等。而这些资源每每 是保存在远端服务器上。文件上传攻击指的就是攻击者利用 一些站点没有对文件范例 做很好的校验,上传了可实行 的文件或脚本,并且通过脚本对服务器举行 肯定 的权限操作,或是通过诱导外部用户访问该脚本文件,达到攻击的目标 。

当然,这种攻击防护上也是比较简单,为了防止用户上传恶意的可实行 脚本文件,以及将文件上传服务器当做免费的文件存储服务器来利用 ,我们必要 对上传文件的范例 举行 白名单校验,并且必要 限定 上传文件的大小,上传的文件必要 举行 重新定名 ,使攻击这无法猜测到上传文件的访问路径。

此中 对上传文件的范例 举行 白名单校验,并不能单单通过后缀名称来判定 文件的范例 ,由于 攻击者很有大概 可以通过将可实行 文件的后缀名称改为其他可上传的后缀名称举行 上传,由于 判定 文件范例 就必要 利用 更加安全的方式。

很多范例 的文件,着实 的几个字节内容是固定的,因此根据这几个字节的内容,就可以确定文件范例 ,而这几个字节也被成为 魔数

详解常见web攻击本领

以上便是文件范例 的魔数,然后我们通过获取文件的文件头与文件范例 的魔数相比较来判定 文件范例

详解常见web攻击本领

五、DDOS攻击

DDos攻击 又称为 分布式拒绝服务攻击 (Distributed Denial of Service),是现在 最为强大 ,最难以防御的攻击方式之一。

在相识 DDoS 之前,我们必要 先知道什么是 DoS。最基本的 DoS 就是利用 合理的客户端哀求 里占用过多的服务器资源,从而使合法用户无法得到服务器的相应 。DDoS 攻击便是在传统的 DoS 攻击的基础上产生的一类攻击方式。传统的 DoS攻击一样寻常 是一对一的方式,当攻击目标 的CPU速率 、内存或者网络带宽等各项性能指标不高的环境 下,它的效果 是显着 的,但随着计算机与网络技术的发展,计算机的处理本领 明显 增长 ,内存不断增大,这便使得 DoS 攻击渐渐 失去了效果 。

  1. 这就跟单体应用向分布式架构的演进一样,传统的 DoS 演进到了分布式DoS (DDoS) 。
复制代码

1、攻击原理

DDoS 攻击指的便是攻击者借助公共网络,将数目 巨大 的计算机装备 团结 起来作为攻击平台,对一个或多个目标 发动攻击,从而达到瘫痪目标 主机的目标 。通常在攻击开始之前,攻击者会提前控制大量的用户计算机,这类计算机称之为

  1. 肉鸡
复制代码
,并通过指令使大量的的肉鸡在同一时间 对某个主机举行 访问,从而达到瘫痪目标 主机的目标 。

2、DDoS分类

DDoS 是一种攻击本领 ,此中 又分为好几种 DDoS攻击

1)SYN Flood

SYN Flood 是互联网中最经典的攻击方式之一,要相识 该攻击方式,我们必要 从 TCP 协议毗连 的过程提及 。众所周知,TCP 协议在通讯 之前,必须先建立基于 TCP 协议的一个毗连 ,以下是建立毗连 的过程:

详解常见web攻击本领

这是一张非常建议的 TCP 三次握手的过程。

  1. 第一步,客户端发送一个包含 SYN 标识的 TCP 报文,SYN 即同步(Synchronized)的意思,SYN报文会指明客户端的端标语 以及 TCP 毗连 的初始序列号
  2. 第二步,服务器在收到客户端的 SYN 报文后,会返回一个 SYN+ACK 的报文,表示客户端哀求 被吸收 ,同时 TCP 序列号被加 1,ACK 即确认(Acknowledgment)的意思
  3. 第三步,客户端在吸收 到服务端的 SYN + ACK 报文后,也会返回一个 ACK 报给服务端,同样,TCP 的序列号加 1,这时,TCP毗连 便建立好了,接下来便可以举行 数据通讯 了。

TCP 协议 是可靠的传输协议,在三次握手的过程中设置了一些非常 处理机制。第三步中假如 服务器没有收到客户端的 ACK 报文,服务端一样寻常 会举行 重试,也就是再次发送 SYN + ACK 报文给客户端,并且不停 处于 SYN_RECV 的状态,将客户端加入等待列表;另一方面,服务器在发出 SYN + ACK 报文后,会预先分配一部分资源给即将建立的 TCP 毗连 ,这个资源在等待重试期间不停 保留,由于服务器的资源有限,可以维护的等待列表超过极限之后就不会再吸收 新的 SYN 报文,也就是拒绝建立新的 TCP 毗连 。

这个时间 我们便可以说说 SYN Flood 是怎么回事了,SYN Flood就是利用 了 TCP 协议三次握手的过程来达到攻击的目标 。攻击者伪造大量的 IP 地址给服务器发送 SYN 报文,由于 伪造的 IP 地址不大概 存在,也就不大概 从客户端得到任何相应 ,就会不停 卡在第三步,服务端就得维护一个非常大的半毗连 等待列表,并且不断对这个列表中的 IP 地址举行 遍历重试,占用了大量的体系 资源。而由于服务器资源有限,恶意的毗连 占满了服务器的等待队列,导致服务器不再吸收 新的 SYN 哀求 ,使正常的用户无法完成通讯 。

2)DNS Query Flood

DNS Query Flood 实际 上就是 UDP Flood 攻击的一种变形,由于 DNS 服务在互联网中具有不可更换 的作用,因此一旦 DNS 服务器 瘫痪,影响将非常大!

DNS Query Flood 攻击采用的方法是向被攻击的服务器发送海量的域名分析 哀求 。而这部分哀求 分析 的域名一样寻常 都是随机天生 的,大部分不存在,并且通过伪造端口和客户端IP,防止查询哀求 被 ACL(访问控制列表)过滤。被攻击的 DNS服务器 在收到域名分析 的哀求 后,起首 会在本身 的服务器上查找是否该域名的 IP,由于 域名的不存在,在自身自然 是找不到的,因此DNS 服务器便会向上层的 DNS服务器递归查询域名,直到环球 互联网的 13台 根DNS服务器。大量不存在的域名分析 哀求 给服务器带来了很大的负载,当分析 哀求 超过肯定 量级的时间 ,就会造成 DNS服务器 分析 域名超时,使正常的域名都查询不到对应的 IP,达到了攻击的效果 。

3)CC 攻击

CC(Challenge Collapsar)攻击是基于应用层 HTTP 协议发起的攻击,也称为 HTTP Flood

CC攻击的原理是通过控制大量的 “肉鸡” 或者利用 从互联网上征采 的大量匿名的 HTTP 代理,模仿 正常用户给网站发起哀求 直到该网站拒绝服务为止。大部分网站会通过 CDN 以及分布式缓存来加快服务端的相应 ,进步 网站的吞吐量。而这些恶意的 HTTP 哀求 会故意 的避开这些缓存,必要 举行 多次 DB 查询操作或者一次哀求 会返回大量的数据,加速体系 资源的斲丧 ,从而拖垮后端的业务处理体系 。

以上便是常见的 Web 攻击本领 ,知其然知其以是 然,安满是 极为紧张 也是极难防护的,每个开辟 职员 都应该引起器重 !更多关于web攻击本领 的资料请关注脚本之家别的 相干 文章!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 123456835 | 2021-10-3 02:17:06 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,影视频道的网站所有电影和连续剧都可以免费看的。访问地址:http://tv.mxswl.com
回复

使用道具 举报

avatar 天上跑鸟跑ac | 2021-10-3 08:14:19 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,运动刷步数还是免费刷的,QQ和微信都可以刷,特别好用。访问地址:http://yd.mxswl.com 猫先森网络
回复

使用道具 举报

avatar 今夕何夕535 | 2021-10-3 20:01:04 | 显示全部楼层
楼上的心情不错啊!
回复

使用道具 举报

avatar 淡淡如菊795 | 2021-10-5 12:34:08 | 显示全部楼层
哥回复的不是帖子,是寂寞!
回复

使用道具 举报

avatar 我们还在一起 | 2021-10-6 13:06:51 | 显示全部楼层
太高深了,理解力不够用了!
回复

使用道具 举报

avatar 度素告 | 2021-10-15 20:33:50 | 显示全部楼层
脑残片admin楼主今天吃了么?
回复

使用道具 举报

吹牛的人越来越多了!
回复

使用道具 举报

鸟大了,什么林子都敢进啊!
回复

使用道具 举报

avatar AriesHun | 前天 06:56 | 显示全部楼层
坚持回帖!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则