五种不寻常的身份验证绕过技术

2024-05-29 15:52

本文主要是介绍五种不寻常的身份验证绕过技术,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

身份验证绕过漏洞是现代web应用程序中普遍存在的漏洞,也是隐藏最深很难被发现的漏洞。

为此安全防护人员不断在开发新的认证方法,保障组织的网络安全。尽管单点登录(SSO)等工具通常是对旧的登录用户方式的改进,但这些技术仍然可能包含严重的漏洞。无论是业务逻辑错误还是其他软件漏洞,都需要专业人员来分析其中的复杂性。

我们将在本文中介绍五种真实的身份验证绕过技术。

 

技术1——刷新令牌终端配置错误

在这种情况下,一旦用户使用有效凭证登录到应用程序,它就会创建一个在应用程序其他地方使用的承载身份验证令牌。该认证令牌在一段时间后过期。就在过期之前,应用程序在终端/refresh/tokenlogin中向后端服务器发送了一个请求,该请求在标头和HTTP主体部分的用户名参数中包含有效的身份验证令牌。

进一步的测试表明,删除请求上的Authorization标头并更改HTTP主体上的用户名参数将为提供的用户名创建一个新的有效令牌。利用此漏洞,拥有匿名配置文件的攻击者可以通过提供用户名为任何用户生成身份验证令牌。

1665667564_634811ec7f462dc492c7a.png!small

技术2 ——SSO配置不正确

大多数应用程序都使用SSO系统,因为与处理许多身份验证门户相比,SSO系统更容易安全管理。但是简单地使用SSO并不能自动保护系统,因为SSO的配置也应得到保护。

现在,一个应用程序使用Microsoft SSO系统进行身份验证。当访问internal.redacted.com URL时,web浏览器会重定向到单点登录系统:

1665667600_634812104e4774d75f1d0.png!small

乍一看,它似乎是安全的,但对后端请求的分析显示,应用程序在重定向响应上返回了异常大的内容长度(超过40000字节)

1665667657_63481249099210890c6c8.png!small

为什么应用程序要这样做呢?当然是配置错误。在将用户发送到SSO的重定向时,应用程序向每个请求泄露了其内部响应。因此,可以篡改响应,将302 Found头更改为200 OK,并删除整个Location标头,从而获得对整个应用程序的访问。

1665667683_634812633ae2a628e82ed.png!small

此外,可以通过在Burp Suite中添加Match & Replace规则来自动删除标题并自动更改值,从而实现这个过程的自动化。

1665667740_6348129c13070c8db44e5.png!small

技术3——基于CMS的访问漏洞

内容管理系统(CMS),如WordPress、Drupal和Hubspot也需要进行安全配置,以免它们在使用中中引入漏洞。

在发现的一个示例中,在一个内部应用程序中使用了一个流行的CMS平台Liferay。该应用程序只有一个不需要身份验证就可以访问的登录页面,所有其他页面都在应用程序UI中受到限制。

对于那些不熟悉Liferay的人来说,CMS为应用程序工作流使用了portlet,它的参数是数字中的p_p_id。对于该应用程序,可以通过将参数值更改为58来访问登录portlet。在正常的登录页面中,只有登录表单是可访问的。然而,通过直接访问portlet,可以达到Create Account功能,然后在不需要适当的授权情况下就可以进行自注册并访问内部应用程序。

1665667762_634812b21f51d1731e610.png!small

请注意,虽然Liferay以前使用过这个工作流,但它的最新版本使用了portlet名称而不是数字ID。不过,也可以通过更改名称来访问其他portlet。

技术4 ——JWT令牌的使用

JWT令牌或JSON web令牌,在新的web应用程序中很流行。但是,虽然它们默认具有安全机制,但后端服务器配置也应该是安全的。

我的一项任务是在他们的内部应用程序中使用SSO身份验证。当直接访问时,应用程序将用户重定向到Microsoft SSO web页面。到目前为止,一切顺利。

然而,一些JS文件不需要身份验证就可以访问。测试显示,该应用程序使用了安全登录后通过Microsoft SSO系统发送的JWT令牌。在后端机制上,存在一个安全错误配置,即不检查是否为特定的应用程序生成了JWT令牌。相反,它接受任何具有有效签名的JWT令牌。因此,使用来自微软网站的JWT令牌示例如下:

1665667802_634812da73d015c308827.png!small

在通用值内:

1665667828_634812f458c007ced624a.png!small

有可能访问内部终端,泄露公司数据。

1665667851_6348130bd78b95db394da.png!small

技术5——将身份验证类型更改为Null

在此情况中,应用程序通过 base64 编码的 XML 请求向 HTTP 发布数据上发送所有请求。在登录机制上,它将用户名作为参数别名发送,将密码作为scode发送。scode 参数内的值已进行哈希处理。分析显示,它使用了所提供密码值的 md5 值。请求中还有另一个有趣的标志:scode 有一个属性,其类型值为 2。

1665667876_634813242f4d6c359bb86.png!small

我尝试将该值赋值为1,它将接受明文密码。成功了!因此,在明文值中使用暴力攻击中是可能的。没什么大不了的,但这标志着我走对了路。把它赋值给空值怎么样?或者其他值,如-1、0或9999999999?大多数都返回了除0之外的错误代码。我用属性0做了几次尝试,但没有成功,直到我将密码值作为空值发送出去。

1665667900_6348133caadb9762eced0.png!small

我意识到只需提供用户名和密码即可访问任何帐户。事实证明,这是一个很大的错误。

总结

复杂的身份验证机制可能成为攻击者使用的最具隐蔽性的攻击手段,特别是在容易出现业务逻辑漏洞的应用程序上。因为自动扫描器大多无法进入这类漏洞,所以仍然需要手工来找到它们。鉴于现代软件环境的复杂性,没有任何一个安全研究人员能够发现所有可能的漏洞或攻击载体。

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

 大厂面试题

 

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击) 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

这篇关于五种不寻常的身份验证绕过技术的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1013972

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的

小技巧绕过Sina Visitor System(新浪访客系统)

0x00 前言 一直以来,爬虫与反爬虫技术都时刻进行着博弈,而新浪微博作为一个数据大户更是在反爬虫上不遗余力。常规手段如验证码、封IP等等相信很多人都见识过…… 当然确实有需要的话可以通过新浪开放平台提供的API进行数据采集,但是普通开发者的权限比较低,限制也比较多。所以如果只是做一些简单的功能还是爬虫比较方便~ 应该是今年的早些时候,新浪引入了一个Sina Visitor Syst