Web安全常见攻击

这篇具有很好参考价值的文章主要介绍了Web安全常见攻击。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本篇主要简单介绍在 Web 领域几种常见的攻击手段。

1. Cross Site Script(XSS跨站脚本攻击)

首先插播一句,为毛叫 XSS,缩写明显是 CSS 啊?没错,为了防止与我们熟悉的 CSS(Cascading Style Sheets)混淆,所以干脆更名为 XSS。

那 XSS 是什么呢?一言蔽之,XSS 就是攻击者在 Web 页面中插入恶意脚本
,当用户浏览页面时,促使脚本执行,从而达到攻击目的。XSS 的特点就是想尽一切办法在目标网站上执行第三方脚本。

 

Web安全常见攻击

举个例子。原有的网站有个将数据库中的数据显示到页面的上功能,document.write("data from server")。但如果服务器没有验证数据类型,直接接受任何数据时,攻击者可以会将 <script src='http:bad-script.js'></scirpt> 当做一个数据写入数据库。当其他用户请求这个数据时,网站原有的脚本就会执行 document.write("<script src='http://www.evil.com/bad-script.js
'></scirpt>"),这样,便会执行 bad-script.js。如果攻击者在这段第三方的脚本中写入恶意脚本,那么普通用户便会受到攻击。

XSS 主要有三种类型:

  • 存储型 XSS: 注入的脚本永久的存在于目标服务器上,每当受害者向服务器请求此数据时就会重新唤醒攻击脚本;

  • 反射型 XSS: 当用受害者被引诱点击一个恶意链接,提交一个伪造的表单,恶意代码便会和正常返回数据一起作为响应发送到受害者的浏览器,从而骗过了浏览器,使之误以为恶意脚本来自于可信的服务器,以至于让恶意脚本得以执行。

Web安全常见攻击

 

  • DOM 型 XSS: 有点类似于存储型 XSS,但存储型 XSS 是将恶意脚本作为数据存储在服务器中,每个调用数据的用户都会受到攻击。但 DOM 型 XSS 则是一个本地的行为,更多是本地更新 DOM 时导致了恶意脚本执行。

那么如何防御 XSS 攻击呢?

  • 从客户端和
    服务器端
    双重验证所有的输入数据,这一般能阻挡大部分注入的脚本
  • 对所有的数据进行适当的编码
  • 设置 HTTP Header: "X-XSS-Protection: 1"

 

2. SQL Injection (SQL 注入)

所谓 SQL 注入,就是通过客户端的输入把 SQL 命令注入到一个应用的数据库中,从而得以执行恶意 SQL 语句。

先看个例子。

uname = request.POST['username']
password = request.POST['password']

sql = "SELECT all FROM users WHERE username='" + uname + "' AND password='" + password + "'"

database.execute(sql)

上面这段程序直接将客户端传过来的数据写入到数据库。试想一下,如果用户传入的 password 值是: "password’ OR 1=1",那么 sql 语句便会变成:

sql = "SELECT all FROM users WHERE username='username' AND password='password' OR 1=1"

那么,这句 sql 无论 username 和 password 是什么都会执行,从而将所有用户的信息取出来。

那么怎么预防 sql 的问题呢?

想要提出解决方案,先看看 sql 注入得以施行的因素:

  • 网页应用使用 SQL 来控制数据库

  • 用户传入的数据直接被写入数据库

根据OWASP,下面看看具体的预防措施。

  • Prepared Statements (with Parameterized Queries): 参数化的查询语句可以强制应用开发者首先定义所有的 sql 代码,之后再将每个参数传递给查询语句
  • Stored Procedures: 使用语言自带的
    存储程序
    ,而不是自己直接操纵数据库

  • White List Input Validation: 验证用户的输入

  • Escaping All User Supplied Input: 对用户提供的所有的输入都进行编码

3. Distributed Denial of Service (DDoS攻击- 分布式拒绝服务  

DoS 攻击就是通过大量恶意流量占用带宽和计算资源以达到瘫痪对方网络的目的。

举个简单的例子,老郑家面馆生意红火,突然有一天一群小混混进了点,霸占了座位,只闲聊不点菜,结果坐在店里的人不吃面,想吃面的人进不来,导致老郑无法向正常客户服务。

而 DDoS 攻击就是将多个计算机联合起来一同向目标发起攻击,从而成倍地提高拒绝服务攻击
的威力。


Web安全常见攻击

 一般 DDoS 攻击有两个目的:

  • 敲诈勒索,逼你花钱买平安

  • 打击竞争对手

在技术角度上,DDoS攻击可以针对网络通讯协议
的各层,手段大致有:TCP类的SYN Flood、ACK Flood,UDP类的Fraggle、Trinoo,DNS Query Flood,ICMP Flood,Slowloris类、各种社工方式等等,这些技术这里不做详细解释。但是一般会根据攻击目标的情况,针对性的把技术手法混合,以达到最低的成本最难防御的目的,并且可以进行合理的节奏控制,以及隐藏保护攻击资源。

阿里巴巴的安全团队在实战中发现,DDoS 防御产品的核心是检测技术和清洗技术。检测技术就是检测网站是否正在遭受 DDoS 攻击,而清洗技术就是清洗掉异常流量。而检测技术的核心在于对业务深刻的理解,才能快速精确判断出是否真的发生了 DDoS 攻击。清洗技术对检测来讲,不同的业务场景下要求的粒度不一样。 

 

4. Cross Site Request Forgery (CSRF 跨站请求伪造)

简单来说,CSRF 就是网站 A 对用户建立信任关系后,在网站 B 上利用这种信任关系,跨站点向网站 A 发起一些伪造的用户操作请求,以达到攻击的目的。

举个例子。网站 A 是一家银行的网站,一个转账接口是 "http://www.bankA.com/transfer?toID=12345678&cash=1000
"。toID 表示转账的目标账户,cash 表示转账数目。当然这个接口没法随便调用,只有在已经验证的情况下才能够被调用。

此时,攻击者建立了一个 B 网站,里面放了一段隐藏的代码,用来调用转账的接口。当受害者先成功登录了 A 网站,短时间内不需要再次验证,这个时候又访问了网站 B,B 里面隐藏的恶意代码就能够成功执行。

那怎么预防 CSRF 攻击呢?
OWASP 推荐了两种检查方式来作为防御手段。

  • 检查标准头部,确认请求是否同源: 检查 source origin 和 target origin,然后比较两个值是否匹配

  • 检查 CSRF Token: 主要有四种推荐的方式

    1.Synchronizer Tokens: 在表单里隐藏一个随机变化的 token,每当用户提交表单时,将这个 token 提交到后台进行验证,如果验证通过则可以继续执行操作。这种情况有效的主要原因是网站 B 拿不到网站 A 表单里的 token;

    2.Double Cookie Defense: 当向服务器发出请求时,生成一个随机值,将这个随机值既放在 cookie 中,也放在请求的参数中,服务器同时验证这两个值是否匹配;

    3.Encrypted Token Pattern: 对 token 进行加密

    4.Custom Header: 使用自定义请求头部,这个方式依赖于同源策略
    。其中最适合的自定义头部便是: "X-Requested-With: XMLHttpRequest"

参考:

  1. Cross-site scripting -- MDN

  2. XSS Tutorial


  3. Cross-Site Request Forgery (CSRF) Prevention Cheat Sheet_Prevention_Cheat_Sheet)

  4. SQL Injection (SQLi)

  5. SQL Injection

  6. SQL Injection Prevention Cheat Sheet

  7. DDoS,并没有想象中那么可怕

  8. 互联网黑市分析:DDoS 启示录

  9. DDoS,网络安全世界里的暗黑杀手文章来源地址https://www.toymoban.com/news/detail-462222.html

到了这里,关于Web安全常见攻击的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 水星路由器网络安全和常见攻击的介绍

      一、地址欺骗和会话拦截 1、由于802.11无线网对数据帧不进行认证操作,攻击者可以通过欺骗帧去重定向数据流和使ARP表变得混乱,通过非常简单的方法,攻击者可以轻易获得网络中站点的MAC地址,这些地址可以被用来恶意攻击时使用。 2、除攻击者通过欺骗帧进行攻击外,

    2024年02月05日
    浏览(33)
  • 请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能?

    请简单介绍一下Shiro框架是什么? Shiro框架是一个强大且灵活的开源安全框架,为Java应用程序提供了全面的安全解决方案。它主要用于身份验证、授权、加密和会话管理等功能,可以轻松地集成到任何Java Web应用程序中,并提供了易于理解和使用的API,使开发人员能够快速实

    2024年04月11日
    浏览(43)
  • 请简单介绍一下Shiro框架是什么?Shiro在Java安全领域的主要作用是什么?Shiro主要提供了哪些安全功能

    会话管理(Session Management):Shiro能够管理用户的会话状态,包括会话的创建、维护和销毁。它支持多种会话存储方式(如内存、数据库等),并提供了会话超时、会话失效等机制,以确保会话的安全性。 跨平台集成:Shiro不仅适用于Web应用程序,还可以轻松集成到桌面应用

    2024年04月13日
    浏览(42)
  • 在前端开发中需要考虑的常见web安全问题和攻击原理以及防范措施

    随着互联网的发展,Web应用程序越来越普及,但是Web安全问题也随之增加。前端开发者作为Web应用程序的构建者之一,需要了解和掌握Web安全的基本知识和解决方案。本文将介绍前端开发者必须知道的Web安全问题和防范措施。 一、XSS攻击 XSS攻击指的是跨站脚本攻击,是一种

    2024年01月20日
    浏览(35)
  • 常见的Web安全漏洞有哪些,Web安全漏洞常用测试方法介绍

    Web安全漏洞是指在Web应用程序中存在的可能被攻击者利用的漏洞,正确认识和了解这些漏洞对于Web应用程序的开发和测试至关重要。 一、常见的Web安全漏洞类型: 1、跨站脚本攻击(Cross-Site Scripting,XSS):攻击者通过向Web页面注入恶意脚本来执行恶意操作,例如窃取用户敏感信

    2024年02月11日
    浏览(41)
  • web安全主要包括哪些方面的安全

    web安全主要包括哪些方面的安全:web安全主要分为保护服务器及其数据的安全、保护服务器和用户之间传递的信息的安全、保护web应用客户端及其环境安全这三个方面。 web安全介绍 Web应用安全问题本质上源于软件质量问题。但Web应用相较传统的软件,具有其独特性。 Web应用

    2024年02月06日
    浏览(32)
  • 信息安全的脆弱性及常见安全攻击

    信息安全 :防止任何对数据进行未授权访问的措施,或者防止造成信息有意无意泄漏、破坏、丢失等问题的发生,让数据处于远离危险、免于威胁的状态或特性 网络安全:计算机网络环境下的信息安全 传统安全防护逐步失效 传统防火墙、IPS、杀毒软件等基于特征库的安全检

    2024年01月22日
    浏览(35)
  • 网络安全攻击的常见类型

    网络安全攻击的常见类型包括以下几种: 木马程序(Trojan Horse):木马程序是一种假扮成正常程序的恶意软件,一旦被安装或执行,攻击者就能够远程控制被感染的系统,进行非法操作。 计算机病毒(Computer Virus):病毒是一种能够自我复制并传播的恶意软件,通过感染正常

    2024年02月09日
    浏览(41)
  • 7 种常见的前端安全攻击

    随着 Web 应用程序对业务运营变得越来越重要,它们也成为更有吸引力的网络攻击目标。但不幸的是,与后端和 DevOps 同行相比,许多 Web 开发人员在构建安全前端方面已经落后。这种差距增加了破坏性数据泄露的风险。 最近发生的诸如Balancer 协议泄露之类的事件暴露了攻击者

    2024年02月03日
    浏览(28)
  • API安全学习笔记(常见攻击面)

    前后端分离已经成为web的一大趋势,通过Tomcat+Ngnix(也可以中间有个Node.js),有效地进行解耦。并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。而API就承担了前后

    2024年02月03日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包