0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鉴源实验室 | Web应用程序常见漏洞浅析

上海控安 来源:上海控安 作者:上海控安 2024-01-26 11:33 次阅读

作者 |肖博阳 上海控安可信软件创新研究院汽车网络安全组

来源 |鉴源实验室

引言:在如今的数字化时代,Web应用程序已经渗透到我们生活的每个角落。从购物平台、社交媒体到企业级系统,无论是用户还是组织,都依赖于这些应用程序来满足各自的业务需求。然而,随着Web应用程序的蓬勃发展,与之而来的网络攻击也日益复杂、防不胜防。这些攻击不仅对用户的隐私和数据构成威胁,还可能对企业造成金融损失、声誉受损等严重危害。因此,理解和防范Web应用程序的常见漏洞变得尤为重要。

01

OWASP Top 10

为了帮助开发者、安全专业人员和组织更好地了解Web应用程序的主要风险,全球网络安全专业组织OWASP(Open Web Application Security Project)制定了OWASP Top 10,包括了当前Web应用程序面临的最重要的十大漏洞。

本文将聚焦于近年来OWASP Top 10中的若干漏洞,深入浅出地探讨它们的原理、危害以及防范策略。

02

SQL注入

注入漏洞被认为是最严重的漏洞之一,SQL注入漏洞是一种典型的注入漏洞,它允许攻击者通过构造SQL语句,绕过应用程序的身份验证和授权机制,访问、修改甚至删除数据库中的敏感信息。下面用一个例子具体说明SQL注入的原理。

2.1 SQL注入实例

在购物网站点击种类为“Accessories”的商品

wKgZomWzKNOACkOOAAErkxJ3yno098.png

此时跳转到该种类的商品页面,url参数为“/filter?category=Accessories”

wKgaomWzKPOAQZjXAAGC_sSVHDM975.png

上述url参数将转化成SQL语句,用于查询数据库中的信息:SELECT * FROM products WHERE category = 'Accessories',即从数据库全部内容中查询类别为“Accessories”的商品,并将结果返回到页面中。

在理解url参数和SQL语句作用后,对url参数稍作更改即可实施SQL注入攻击。

将url参数更改为“/filter?category=Accessories'or+1=1--”。其中:

单引号“'”用于闭合原始的 SQL 查询;

“or”为逻辑运算符,用于连接两个条件,若其中一个条件为真,整个条件就为真;

“+”为url参数的连接符;

“1=1”为始终为真的条件;

“--”为SQL 中的注释符,它会注释掉后面的所有内容,从而防止查询语句因为被闭合的引号而变得不完整。

上述url参数最终将转化成SQL语句:SELECT * FROM products WHERE category = 'Accessories' or 1=1--,由于第二个条件始终为真,故整个条件为真,达到了跳过第一个条件的目的。从页面返回结果可知,本次查询绕过了类别过滤,从而获取到了所有商品的信息。

wKgaomWzRUSAS_h0AAGt0ceUcRY575.png

2.2 SQL注入小结

上述结果得知网站并未对SQL注入做防御措施,而进一步的SQL注入攻击可能导致更严重的后果,如读取、修改或删除敏感数据,绕过身份验证,破坏数据完整性,执行拒绝服务攻击,甚至获取操作系统级别的权限。这可能导致泄露用户隐私、系统崩溃、服务不可用、甚至整个系统被入侵,因此对SQL注入进行防御是必要的。

上述网站是Burpsuite官方实验室提供的SQL注入安全练兵场(下文XSS攻击使用的网站是XSS安全练兵场),因此未对SQL注入做任何防御措施。所幸目前绝大部分网站不存在这样的漏洞,已通过各种方式进行防御,如:验证过滤用户输入、使用参数化查询等。例如在对百度网使用相同的注入方式时,无法绕过过滤。

wKgZomWzJzuAX-8RAAGhj4r8pzo432.png

03

XSS攻击

XSS(Cross-Site Scripting)是另一种常见的web应用安全漏洞,它允许攻击者向网页注入恶意脚本代码,使这些脚本在用户浏览器中执行,从而达到攻击的目的。XSS可分为反射型XSS、存储型XSS和DOM型XSS。

3.1反射型XSS

反射型XSS指恶意脚本通过URL参数传递,被目标服务器反射回响应,并在用户浏览器中执行。常见于具有输入参数功能(如搜索功能)的页面,如下所示:

wKgZomWzRY-APOZtAAEhnAqDX1Q852.png

在搜索栏内输入“”,执行该javascript语句将在用户浏览器内弹出内容为“hello”的对话框:

wKgaomWzJ0mABRIjAACYo0-CPFc546.png

3.2 存储型XSS

存储型XSS指恶意脚本被存储在目标服务器上,当其他用户访问包含恶意脚本的页面时,脚本被执行。常见于具有存储输入功能(如评论功能)的页面,如下所示:

wKgZomWzJ1GAboQwAAEaibW2ifk608.png

在评论区输入“”,显示提交成功后回到原页面,用户浏览器内弹出内容为“hello”的对话框:

wKgZomWzJ1eATz4PAACAfOscBX8717.png

也就是说,任意用户只要浏览到该评论,均会弹出该对话框。存储型XSS比反射型XSS更容易产生危害,因为它无需用户主动进行操作,在浏览页面时无意识中被攻击。

3.3 DOM型XSS

DOM型XSS指恶意脚本直接影响浏览器的 DOM,通过修改页面的结构来执行攻击。DOM(Document Object Model)即文档对象模型,可简单理解为网页内容。DOM型XSS与前两类XSS攻击的最大区别在于不会被插入到服务器响应中,而是通过修改页面现有DOM结构来触发,这一特点使得DOM型XSS难以被服务端检测

如下所示,在输入“1”后点击搜索:

wKgZomWzRcSAIP_AAADhxksMCoQ425.png

出现搜索结果后通过开发者工具查看网页结构:

wKgaomWzJ2WAZYo7AAELBCniCLc575.png

在DOM中发现用户输入的参数“1”被包裹在img标签内部。根据此信息,可在搜索框内输入“">”,该参数在截断img标签后,新增一个svg标签,并在该标签内部通过“onload”事件属性触发弹窗事件:

wKgZomWzJ2uAQmrKAAD8d9qG1ag934.png

点击搜索后出现了弹窗“1”,此时再通过开发者工具查看网页结构:

wKgaomWzJ3SAY-8PAAIa_lULtcQ887.png

发现原本的img标签已被截断,出现了新增的svg标签且标签内部包含弹窗事件。

3.4 XSS总结

以上三类XSS示例均为攻击者展开攻击的第一步,攻击者通过该步骤判断网站是否进行了XSS防护。若攻击成功,可实施进一步攻击,如窃取用户信息、会话劫持等。

网站可通过输入验证、输出编码、CSP(Content Security Policy)等方式进行防御。

04

失效的身份认证

失效的身份认证指攻击者利用网站应用程序中的身份认证缺陷获取高权限并对应用服务进行攻击。通俗来说,攻击者能够破译密码等信息,绕过身份验证机制,暂时或永久地冒用其他用户身份从而进行攻击。

可能导致失效身份认证的因素包括:

弱密码策略:使用弱密码或允许用户设计弱密码,使攻击者更容易猜测或破解;

会话管理问题:Web应用程序中,会话指一种交互性的通信期间,即客户端和服务端进行通信的一段时间。若会话管理不当,如未设置会话过期时长或会话标识泄露时,攻击者将轻而易举地获取权限进行攻击;

不安全的密码重置:若密码重置功能不安全,攻击者可能通过恢复或绕过此功能来获取对用户账户的访问权限。

4.1失效的身份认证实例

如下所示,在某FOTA平台利用低权限账户进行登录(该账户无账户管理功能),并通过抓包工具BurpSuite获取该网络请求的详细信息,记录低权限账户的令牌信息Authorization:

wKgZomWzJ3yAOViRAAKO6U8b1nA486.png

再以高权限账户进行登录(该账户拥有账户管理功能),同样获取网络请求的详细信息,此时将高权限账户的令牌信息替换为低权限用户的令牌信息,并重新发送该请求:

wKgZomWzJ4OALW_IAAG_PSwU3QA195.png

发现仍能成功获取相关信息,攻击者通过低权限账号直接获取了系统内敏感数据。

在上述实例中,将高权限令牌替换为低权限令牌,相当于模拟使用一个已登录的低权限账户去访问高权限接口。从实际攻击的角度出发,攻击者可通过一个普通账户(如游客账户),去访问一个高权限账户(如管理员账户)接口,进而使用超出自身权限的功能。

4.2 失效的身份认证小结

失效的身份认证是一种常见的安全漏洞,主要涉及到身份验证机制的不足或不正确使用,导致攻击者有可能通过不同的手段绕过身份验证,获得未经授权的访问权限。为防范此类漏洞,可采用实施强密码策略、设置会话过期时间、采用安全会话标识等措施。

05

小结

本文介绍了三种常见的Web应用程序漏洞:SQL注入、XSS攻击和失效的身份认证。

SQL注入允许攻击者通过在输入字段中注入恶意SQL代码来绕过验证,执行未经授权的数据库操作。为了防范SQL注入,Web应用程序应采用验证过滤用户输入、使用参数化查询等安全措施。

XSS攻击通过在网页中注入恶意脚本来在用户浏览器上执行恶意代码。分为存储型、反射型和DOM型XSS。为了预防XSS,Web应用程序应采用输入验证、输出编码和CSP(Content Security Policy)等关键措施。

失效的身份认证允许攻击者绕过已有的身份认证机制,获取未经授权的访问权限。为预防该攻击可加强会话管理,同时在密码强度上进行一定强制要求。

总体而言,通过综合使用这些安全措施,可以有效保护Web应用程序免受部分攻击的影响。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Web
    Web
    +关注

    关注

    2

    文章

    1262

    浏览量

    69441
  • SQL
    SQL
    +关注

    关注

    1

    文章

    762

    浏览量

    44117
  • 应用程序
    +关注

    关注

    37

    文章

    3265

    浏览量

    57679
  • XSS
    XSS
    +关注

    关注

    0

    文章

    24

    浏览量

    2373
收藏 人收藏

    评论

    相关推荐

    实验室·基于MQTT协议的模糊测试研究

    作者 |  张渊策 上海控安可信软件创新研究院工控网络安全组 来源 |  实验室 社群 |  添加微信号“ TICPShanghai ”加入“上海控安51fusa安全社区” 随着物联网技术的快速
    的头像 发表于 07-30 15:21 606次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b><b class='flag-5'>实验室</b>·基于MQTT协议的模糊测试研究

    [原创]认证与实验室

    认证、实验室特写、电磁兼容、走进实验室、Q博士案例栏目。认证实验室专题范围:认证程序、工厂审查、标准理解、测试设备管理、标准的差异化等。栏目将对一次或多次不能通过认证的企业或产品,提出
    发表于 10-29 16:57

    基于LabVIEW和Matlab虚拟实验室的实现

    优点。通过对比,SIT技术可以使得LabVIEW调用Matlab的过程变的简单,易于实现,但不能脱离Matlab环境,而动态链接库(DLL)技术实现的过程比较复杂,却可以完全脱离Matlab编程环境。两种方法都成功实现了软件仿真及虚拟实验室Web发布。
    发表于 12-19 22:56

    锂电材料截面制样-氩离子抛光CP离子研磨 金实验室分享(下)

    锂电池正极片氩离子抛光(CP离子研磨)制样后效果图(正极片氩离子抛光制样后效果图-如上图所示-金实验室罗工提供)锂电池负极片氩离子抛光(CP离子研磨)制样后效果图(负极片氩离子抛光制样后效果图-如上图所示-金
    发表于 12-16 15:47

    lims实验室管理系统是什么?实验室信息管理系统介绍!

    采用实验室信息管理系统或LIMS可能是提高实验室生产力的最有效方法之一。此页面的目的是帮助目前未使用LIMS的科学家和实验室人员分析采用LIMS的潜在好处。对于已经使用LIMS的组织,本文可能会让
    发表于 11-03 11:17

    实验室设计指南

    实验室设计指南LBSALE[1000]LBSALE第一章 基础知识主要内容:实验室基础知识及日常管理实验室基本操作技术分析数据的处理石油产品分析仪器配置要求第一节实验室
    发表于 11-09 15:43 1642次阅读

    基于Scrapy的爬虫框架的Web应用程序漏洞检测方法

    不断提高和完善防御的方法和手段。针对此问题,提出了一种基于Scrapy的爬虫框架的Web应用程序漏洞检测方法。通过框架提供的便利条件对页面进行提取分析,根据不同的攻击方式生成特有的攻击向量,最后使页面注入点与攻击向量组合达到测试
    发表于 12-07 09:48 2次下载
    基于Scrapy的爬虫框架的<b class='flag-5'>Web</b><b class='flag-5'>应用程序</b><b class='flag-5'>漏洞</b>检测方法

    腾讯玄武实验室发现苹果M1的首个高危漏洞

    苹果换芯了,安全漏洞也来了。就在刚刚,腾讯安全玄武实验室对外公布了他们近期发现的一个苹果的安全漏洞
    的头像 发表于 11-19 09:58 1658次阅读

    广东金实验室科技有限公司介绍

    实验室是一家专注于第三代半导体氮化镓和碳化硅芯片和器件失效分析的新业态的科研检测机构,具备国家认可及授权的CMA/CNAS资质,并且是工信部认定的“国家中小企业公共服务示范平台”,广东省工信厅
    发表于 11-25 17:19 1808次阅读
    广东金<b class='flag-5'>鉴</b><b class='flag-5'>实验室</b>科技有限公司介绍

    聊聊PHP的web应用程序开发框架存在的漏洞有哪些

    简单说下Yii 是一个高性能PHP的web 应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个 web 应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务
    的头像 发表于 11-16 10:37 1763次阅读

    高精度电流在电子实验室中的应用

    高精度电流是一种能够提供恒定、稳定电流输出的设备,被广泛应用于电子实验室中。电子实验室是电子工程师进行实验、测试和研发的场所,而高精度电流
    的头像 发表于 06-12 09:13 615次阅读
    高精度电流<b class='flag-5'>源</b>在电子<b class='flag-5'>实验室</b>中的应用

    信息与安森美设立应用联合实验室

    2023年6月13日,力信息与安森美(onsemi)应用联合实验室揭牌成立。力信息董事长兼总经理赵马克先生、力信息副总经理兼销售及市场总监陈福鸿先生、安森美全球销售执行副总裁Mi
    的头像 发表于 07-31 18:02 1434次阅读
    力<b class='flag-5'>源</b>信息与安森美设立应用联合<b class='flag-5'>实验室</b>

    实验室协助鸿利智汇产品顺利通过AEC-Q102认证

    实验室
    的头像 发表于 08-18 09:43 899次阅读
    金<b class='flag-5'>鉴</b><b class='flag-5'>实验室</b>协助鸿利智汇产品顺利通过AEC-Q102认证

    浅析RFID技术在学校实验室管理中的应用

    一直以来,多数高校实验室设备管理采取传统手工方式,无法满足当前高校的发展需求。同时,对于实验室设备的资产进行清查时也多是通过扫描手写编码或是条形码标签的方式进行核实,这样的盘查效率极低,且极易出现错误,很难实现实验室设备的账物核
    的头像 发表于 12-13 16:48 482次阅读
    <b class='flag-5'>浅析</b>RFID技术在学校<b class='flag-5'>实验室</b>管理中的应用

    实验室·HTTP协议网络安全攻击

    作者 | 李芷若 上海控安可信软件创新研究院工控网络安全组 来源 |  实验室 社群 |  添加微信号“ TICPShanghai ”加入“上海控安51fusa安全社区” 01 背 景 随着
    的头像 发表于 07-30 13:48 313次阅读
    <b class='flag-5'>鉴</b><b class='flag-5'>源</b><b class='flag-5'>实验室</b>·HTTP协议网络安全攻击