登录框界面之渗透测试思路总结

news2024/11/15 11:59:04

前言

大家都知道,渗透的过程中,遇见登录框是很常见的。下面就简单总结一下渗透中遇见登录页面的思路:

首先登录页面可能产生哪些漏洞呢?

1、弱密码与暴力破解

2、万能密码、SQL与XSS(注入)

3、登录时,不安全的用户提示:比如提示用户名不存在或者密码验证码错误

4、查看登录页面源代码,看是否存在敏感信息泄露

5、不安全的验证码

6、在注册账号的时候,是否存在不安全的提示

7、不安全的密码,在注册账号的时候密码没有限制复杂度

8、任意无限注册账号

9、在暴力破解的时候不会限制ip,锁定用户

10、一个账号可以在多地登录,没有安全提示

11、账户登录之后,没有具备超时功能

12、OA,邮件,默认账号等相关系统,在不是自己注册的情况下,应该在登录之后强制要求更改密码

13、逻辑漏洞,任意更改密码

14、越权漏洞,纵向、横向越权

15、数据包含有风险信息泄露,比如COOKIE

16、不安全的数字传输,密码为明文,未使用https证书

首先从登录框突破

对于突破登录框的方法,由简到难总结如下:

1.弱密码与暴力破解

弱密码与爆破可以说是非常常见的。为啥把他们放在一起归类呢,因为在尝试从登录框突破的思路中,我首先会尝试使用类似admin/admin这样的弱密码进行登录,如果失败,那么在条件允许的情况下,便会开始爆破了,爆破的核心也是弱密码。

2.万能密码、SQL与XSS(注入)

2.1 万能密码

万能密码其实是一种SQL注入方法,所以这里就把它与sql、XSS归类到一起。
万能密码与sql注入的原理相同,例如:
一般Mysql数据库的登录框sql语句如下:
select name.passwd from users where username=‘name’ and password=‘pwd’,通过创造一个特殊的字符串带入查找语句,我们可以构造例如下列万能密码尝试绕过:

’ or  ‘1’=’1
‘ or 1=1 - -
admin‘ or 1=1 - -
1'or'1'='1'or'1'='1   

2.2 sql注入

要检验登录框是否存在sql注入,要抓包观察回显信息,原理于上面万能密码相同,也就是使用常规sql注入的方法,例如在登录框中添加’后,观察回显是否不同,是否报错,就可以在登录框实现注入了。也可以利用参数溢出的思路查看是否有报错信息。

2.3 XSS+CSRF

xss在登录框比较少见,而且输入框也有字数限制,但是也不是没有,这里主要提供思路,使用目标不限于登录框。这里有两种情况:
一种是存储型xss没有csrf,存在的xss也不属于self-xss简称自插,面对这种情况,就要利用到xss平台,创建项目后,在可能存在xss的地方注入。

Self-XSS的场景:
一些网站为了用户体验在提交信息失败并且需要返回去填的时候会帮你自动把之前填写的信息补全回来但是很多网站也不会对输出进行过滤,这样就可能存在 XSS 的漏洞,比如:用户登录失败的时候网站会自动把上次尝试登陆的用户名补全,但是并没有对用户名信息进行过滤,所以就存在 XSS。

另一种情况是当网站同时存在xss与csrf,但是xss是没啥用的self-xss(self-xss是:只能对本地客户端产生影响的跨站脚本攻击,举例来说就是获取到的cookie是自己的),虽然selfxss没有什么实际危害,但是一旦结合跨站请求伪造则会导致危害升级,并且成为存储型的跨站脚本攻击。当然前提是测出来了存在这两处漏洞。
操作就是用bp拦截xss的数据包,然后生成POC
在这里插入图片描述

寻找逻辑漏洞

如果在登录框无法找到切入点去深入,也可以从发现漏洞的目的挖掘逻辑漏洞。

1.用户名枚举

利用登陆时输入系统存在的用户名错误密码和不存在的用户名错误密码,返回不同的出错信息可枚举出系统中存在的账号信息。通过这种思路,利用手工方式,输入系统中存在的用户名和不存在的用户名,密码随意,尝试登录,查看其回显内容。
例如:输入存在的用户名admin,密码错误;输入不存在的用户名test,用户不存在。

2.任意密码重置

很多网站存在找回密码功能,但是未对发起密码重置请求的用户身份做校验,导致任意密码重置漏洞的产生。
比如有些网站的忘记密码,重置密码功能中只需要输入待重置密码的账号,并没有向用户绑定手机发送验证消息,导致攻击者可以重置管理员的密码。

这里举例的是最简单的一种情况,即便有些网站有向用户手机发送验证短信的功能,也可能存在这样的漏洞。
比如有时候验证码会直接在返回包中生成,或者验证码在本地认证,验证码可爆破,或者网页在找回密码时,向用户填写的手机号发送短信,由于没有校验机制,导致攻击者可以填写自己手机号重置管理员的密码,类似思路有很多,可以根据实际情况随机应变。

3.任意用户注册

应用程序未使用验证码等防自动化操作的方法,可批量注册。注册不需要验证码时,攻击者通过编写自动化脚本,实现程序自动提交注册信息;若注册需要验证码,但验证码位数不多于4位且为纯数字时,通过使用软件burpsuite的intruder功能穷举得到正确的验证码后,再结合自动化脚本工具即可实现批量注册垃圾账号。

4.短信轰炸

短信轰炸——赏金猎人的最爱
短信轰炸攻击是常见的一种攻击,攻击者通过网站页面中所提供的发送短信验证码的功能处,通过对其发送数据包的获取后,进行重放,如果服务器短信平台未做校验的情况时,系统会一直去发送短信,这样就造成了短信轰炸的漏洞。
短信轰炸又分为任意手机号短信轰炸和当前手机号轰炸,不同情况威胁级别不同。

操作方法用burp重放或爆破都可以:
在这里插入图片描述
在这里插入图片描述利用Null payloads 模块可以指定次数反复重放同一数据包。

5.任意用户覆盖

任意用户覆盖是用户注册模块中存在的逻辑漏洞,攻击者可以在注册页面恶意注册与已知用户同名的账号达到注销用户的目的。

同样的思路也可以利用到重置密码的思路中,在正常重置密码的流程最后一步修改重置密码用户。不同网站思路不同,主要根据数据包内容决定思路。

6.验证流程绕过

密码修改一般分为三个步骤:1)用户输入需要修改密码的账号;2)验证;3)密码重置。如果服务器在最后密码重置中没有对上一步流程进行进一步的校验,则可能导致验证步骤可以被绕过,从而可以修改任意用户密码。

测试方法: 在找回密码页面输入自己的账号,点击下一步进入获取验证码页面。点击获取验证码,提交获取的验证码,进入密码重置页面,记录密码重置页面的URL。在找回密码页面输入需要重置密码的他人账号,点击下一步进入获取验证码流程,点击获取验证码。在浏览器地址栏输入记录密码重置页面的URL,测试是否可绕过第二步验证直接进入重置密码页面。如果可以进入,直接输入新密码测试是否可以成功修改密码。

验证码问题

1.验证码不生效/可爆破/可重复利用

找回密码的时候获取的验证码缺少时间限制,仅判断了验证码是否正确,未判断验证码是否过期,导致验证码可以重复利用,同时如果验证码为4位存数字,可以利用正确验证码与错误验证码的返回值不同判断枚举验证码是否正确。
在这里插入图片描述

2.验证码可识别

指图片验证码比较"存粹",没有点和线的干扰,可以利用工具自动识别验证码达到绕过。
插件使用指南:https://gv7.me/articles/2019/burp-captcha-killer-usage/
在这里插入图片描述

3.验证码绕过

3.1 验证码回显前端

获取验证码时验证码回显前端,并直接返回在Response内容中

3.2 本地验证的绕过

客户端在本地进行验证码的正误的判断,判断结果也可以在本地修改,导致可以修改状态值达到绕过效果。
(绕过人机验证:https://www.cnblogs.com/H4ck3R-XiX/p/15165424.html)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/693329.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

渗透测试自动化报告脚本-----Nessus报告自动化解析--1-html解析

本专栏内容主要用于渗透测试工程师应对在工作中的自动化操作难题,高效摸鱼专用 解决问题 1、对Nessus导出的html报告进行自动化的提取操作,包括IP地址,漏洞个数,漏洞等级,漏洞描述,CVE编号等 2、由于Nes…

配置文件的优先级及maven打包和参数(port)的修改

1、配置文件的优先级 SpringBoot中支持五种配置格式:优先级:命令行参数(–xxxxxx) > java系统属性(-Dxxx xxx) > application.properties > application.yml > application.yaml 虽然springboot支持多种格式配置文件,但是在项目开发时&…

智能仓储货架的电子标签解决方案

近年来,电商和新零售行业的迅猛增长催生了仓储管理场景和运营模式的变革。企业不断寻求“低成本”和“更可靠”的解决方案,加快了仓储管理从粗放型向精细化转变的步伐。仓储管理的技术变革从机械化走向自动化,仓储数智化成为主流趋势。在这个…

chatgpt赋能python:Python语言冒泡排序-深入了解

Python语言冒泡排序 - 深入了解 冒泡排序是一种基本的排序算法,也是学习排序算法的入门算法之一。在Python中,我们可以很容易地实现冒泡排序。 冒泡排序的原理 冒泡排序的原理很简单,大概分为以下几个步骤: 比较相邻的元素&am…

Jnpf低代码开发平台

一、写在前面 低代码开发平台,一个号称能在几分钟的时间里开发出一套公司内部都可使用的应用系统开发工具。 很多人或许都隐隐听说过低代码,因为低代码不仅远名国外,国内的腾讯、阿里、华为、网易、百度等科技巨头也纷纷入局,足以…

蓝桥杯专题-试题版-【打印十字图】【剪格子】【错误票据】【翻硬币】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

【软考网络管理员】2023年软考网管初级常见知识考点(29)-进程管理与存储管理

涉及知识点 进程管理,进程状态,死锁问题,存储管理,页面置换算法,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总。 原创于:CSDN博主-《拄杖盲学轻声码》&…

高速电路设计系列分享-熟悉JESD204B(中)

目录 概要 整体架构流程 技术名词解释 技术细节 1.数据链路层 小结 概要 提示:这里可以添加技术概要 随着高速ADC跨入GSPS范围,与FPGA(定制ASIC)进行数据传输的首选接口协JESD204B。为了捕捉频率范围更高的RF频谱,需要宽带RFADC。在其推动下…

elasticsearch 明明有index但是查不出来

最近用python去query elastricsearch的data,但是我再kibana明明看到有,但是就是查不出来 因为涉及公司隐私,就不截图直接举例子了,我在 discover里面看到的是某条数据的index是 xxx-sss-a-b,但是我写query是xxx-sss-a-…

Spring Boot中的@EnableAutoConfiguration注解

Spring Boot中的EnableAutoConfiguration注解 介绍 Spring Boot是一个非常流行的Java框架,它可以快速创建基于Spring的应用程序。Spring Boot提供了许多自动配置功能,使得开发者可以非常容易地创建一个可运行的应用程序。其中,EnableAutoCo…

macOS Sonoma 14beta 2 With OpenCore 0.9.3 and winPE双引导黑苹果镜像

镜像特点 完全由黑果魏叔官方制作,针对各种机型进行默认配置,让黑苹果安装不再困难。系统镜像设置为双引导分区,全面去除clover引导分区(如有需要,可以自行直接替换opencore分区文件为clover引导文件)备注…

【江西省研究生数学建模竞赛】题目之一 蒸汽发生器倒U型管内液体流动 详细的数学模型及参考文献

【江西省研究生数学建模竞赛】题目之一 蒸汽发生器倒U型管内液体流动 1 题目 2023年江西省研究生数学建模竞赛题目之一 荧汽发生器倒U型管内液体流动 PACTEL压水堆整体测试设备在2009年建造,用于带有垂直倒U型管莱汽发生器的压水堆热液压相关的安全性研究&#x…

MobaXterm 的安装-迅为STM32MP157开发板

MobaXterm 是远端电脑的终极工具箱,作为一个单窗口程序,为程序员,网站管理员,IT 管理员以及更多需要处理远端任务的用户提供了很多实用的功能。MobaXterm 为 windows 桌面提供了所有重要的远端网络工具(SSH, X11, RDP, VNC, FTP, …

Spring Boot中的事务隔离级别

Spring Boot中的事务隔离级别 介绍 Spring Boot是一个流行的Java框架,它提供了许多方便的注解和工具,使得数据库操作变得更加容易。其中,事务隔离级别是Spring Boot中一个非常重要的概念,它可以帮助开发者控制数据库操作的并发性…

postman接口测试之发送post请求

目录 前言: 一、新建目录文件夹 二、新建请求(api接口) 三、添加请求方法、url、及参数 四、发送post请求并且查看请求结果 前言: Postman是一种广泛使用的API开发和测试工具,可以帮助测试人员快速创建请求并检查…

进程与进程间通信

一、什么是进程? 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位,是操作系统结构的基础。进程实体由程序段、数据段以及进程控制块 (PCB) 组成。…

java项目之旅游资源网站ssm源码

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的旅游资源网站。项目源码以及部署相关请联系风歌,文末附上联系信息 。 旅游资源网站源码下载地址: https://download…

【MOOC 测验】第4章 网络层

1‌、下列关于路由算法描述错误的是( ) A. 链路状态算法是一种全局路由算法,每个路由器需要维护全局状态信息B. OSPF 是一种域内路由协议,核心是基于 Dijkstra 最低费用路径算法C. RIP 是一种域内路由算法,核心是基…

手搓GPT系列之 - 通过理解LSTM的反向传播过程,理解LSTM解决梯度消失的原理 - 逐条解释LSTM创始论文全部推导公式,配超多图帮助理解(中篇)

近期因俗事缠身,《通过理解LSTM的反向传播过程,理解LSTM解决梯度消失的原理 - 逐条解释LSTM创始论文全部推导公式,配超多图帮助理解》的中下篇鸽了实在太久有些不好意思了。为了避免烂尾,还是抽时间补上(上篇在此&…

孚盟云 SQL注入漏洞

漏洞说明 孚盟与阿里强强联手将最受青睐的经典C系列产品打造成全新的孚盟云产品,让用户可以用云模式实现信息化管理,让用户的异地办公更加流畅,大大降低中小企业在信息化上成本,用最小的投入享受大型企业级别的信息化服务&#x…