【web安全】登录界面渗透的思路总结

前言

小菜作者的总结。

如果大家知道其他的安全问题,欢迎大家补充赐教。我们一起完善登录页面的渗透思路。

(如果大家有好的博客讲解对应的漏洞,欢迎分享~)

sql注入

登录页面是需要与数据库打交道的。是需要带入数据库查询的。(但。。。不排除有人真的用个文件,表格啥的存数据)

那么这个地方可能会存在post型的sql注入,盲注居多,配合注册等可以考虑一下二次注入。

越权漏洞

包含未授权访问,水平越权,垂直越权。

未授权访问:他会有返回的数据包,有时候把false改为true,或者0改成1,就可以错误密码登录网站。或者直接访问网站的对应页面的URL直接就进去完全不需要登录。

水平越权:观察登录后发送的get页面数据包,查看他参数,有时候可能会有个类似编号,或者干脆就是你用户名的参数,改这个参数可能就直接登录到了他人的界面。

垂直越权:有些网站的界面是管理跟用户不一样的,可以观察返回数据包的里面有没有一个像权限等级的参数,有时候把1改成2这类似的操作可能直接就进入管理员的页面了。

【web安全】逻辑越权漏洞-CSDN博客

万能密码登录

类似于sql注入,后台有可能是通过把用户输入的账户密码带入数据库对号,对上返回TRUE,那就是通过构建or true语句让他即使不输入正确的密码也能返回true。

【web安全】万能密码总结-CSDN博客

弱口令与密码爆破

一些网站的登录页面安全程度低,验证码可以被绕过,而且没有强制规定用户的密码长度等,就可以尝试进行密码爆破,虽然这个确实耗时间。

【web安全】密码爆破讲解,以及burp的爆破功能使用方法-CSDN博客

cookie脆弱点

分两种情况:

情况一

脆弱描述

我们在登录页面输入账号密码后,就会跳转到主页面,但是如果我们直接访问主页面,他会跳转到登录页面。这个程序有时候是根据cookie判断的,有的时候不安全的cookie验证会判断你的cookie,如果为空就跳转到登录界面。

利用方式

我们直接在cookie上写点东西试试就能绕过了

发现方法

1.绝大多数是从代码审计中挖掘出来,因为很难靠猜猜出来

2.看数据包,有时候明显有个cookie但是没有值,可能会存在这种判定,不过也有可能能sql注入

情况二

脆弱描述

他可能后面跟着的是用户的名称,类似于水平越权,改成别人的名字可能就会进入别人的账号

利用方式

改成别人的账号名称

发现方法

看数据包

短信轰炸

先说好一点,他们运行发送短信的接口也是要收费的,虽然能做成功,但是别去乱搞。

很多网站都是有这种发送短信的功能,但是呢虽然他设置了多少秒发一次,但是没设定只能发送几次。那么我们就可以找到大量的这种网站,通过轮流发送实现短信轰炸。

密码找回短信验证码绕过

密码找回的界面也是一个渗透的位置,密码找回界面通常是通过发送短信验证码进行找回的,这个部分的具体验证码思路我写在另一篇博客中了。

【web安全】短信等各类验证码的绕过思路整理-CSDN博客

注册页面xss打后台

有些网站对注册的用户名会在后台页面显示出来的。我的一些cms搭建的网站就会这样。

如果他没有对这些注册输入框进行过滤的话,我们可以写入xss代码去打他后台,盗取管理cookie等。

(毕竟这种地方sql注入防护的比较严,基本没人会想到防护xss)

注册页面用户名覆盖

这种逻辑漏洞见不大着,毕竟会影响网站运行。一般自己运营就能发现改掉了。

不过如果有的话,就是同用户名能够覆盖先前用户的内容,达到注销账号的目的。

后台页面信息泄露

这种情况是我之前遇到的一个案例。但是我找不到那个网站了大体描述一下。

他是一个后台登录页面。他的url后面明显有个login,我把他去掉之后直接就看到他后台的页面长相了。但是因为我没登录,所以他会给我跳转到登录页面。

因为他有逻辑问题,所以先跳转后台页面检测到我没登录后再跳转登录页面。

利用中间时差我就截图后台页面,基本上后台的一些功能点我就都看到了。

比如他的后台就有显示余额的功能。

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

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

相关文章

JVM之jinfo虚拟机配置信息工具

jinfo虚拟机配置信息工具 1、jinfo jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机的各项参数。 使用jps -v 可以查看虚拟机启动时显示指定的参数列表,但是如果想知道未被显示指定的参数的系统默认值,除 …

GCP 创建1个windows vm 并连接

有时需要临时使用1台windows 的机器 创建windows vm 既然是临时 直接用gcloud command gcloud compute instances create instance-windows \--zoneeurope-west2-c \--machine-typen2d-standard-4 \--boot-disk-size100GB \--image-projectwindows-cloud \--imagewindows-se…

Rust学习笔记001:HELLOW WORLD + Cargo

Rust介绍 Rust(中文称为“锈”)是一种由Mozilla开发的系统编程语言,它着力于提供安全性、并发性和实用性。Rust的设计目标是消除程序出现的内存安全性问题,如空指针引用、数据竞争等。它通过在编译时进行严格的所有权和借用检查来…

Vue(三):Vue 生命周期与工程化开发

2023 的最后一篇博客,祝大家元旦快乐,新的一年一起共勉! 06. Vue 生命周期 6.1 基本介绍 生命周期就是一个 Vue 示例从 创建 到 销毁 的整个过程,创建、挂载、更新、销毁 有一些请求是必须在某个阶段完成之后或者某个阶段之前执行…

10TB海量JSON数据从OSS迁移至MaxCompute

前提条件 开通MaxCompute。 在DataWorks上完成创建业务流程,本例使用DataWorks简单模式。详情请参见创建业务流程。 将JSON文件重命名为后缀为.txt的文件,并上传至OSS。本文中OSS Bucket地域为华东2(上海)。示例文件如下。 {&qu…

zabbix通过自动发现-配置监控项、触发器(小白教程)

自动发现配置参考链接(不小白,不友好) zabbix-get介绍 1配置 zabbix server:版本7(不影响),IP地址:192.168.0.60zabbix agent:版本agent1(不影响)&#xff…

Megatron-LM源码系列(六):Distributed-Optimizer分布式优化器实现Part1

1. 使用说明 在megatron中指定--use-distributed-optimizer就能开启分布式优化器, 参数定义在megatron/arguments.py中。分布式优化器的思路是将训练中的优化器状态均匀地分布到不同数据并行的rank结点上,相当于开启ZERO-1的训练。 group.add_argument(--use-distr…

SpringIOC之ClassPathXmlApplicationContext

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

PostgreSQL16.1(Windows版本)

1、卸载原有的PostgreSQL   点击Next即可。  点击OK即可。 卸载完成。 2、安装 (1) 前两部直接Next,第二部可以换成自己想要安装的路径。 (2) 直接点击Next。…

云原生Kubernetes系列 | Job和CronJob使用

云原生Kubernetes系列 | Job和CronJob使用 1. Job和CronJob的作用2. Job3. CronJob1. Job和CronJob的作用 Kubernetes官网-Job和CronJob使用手册 传统运行的pod,比如Deployment管理的Pod,或手工管理的Pod,只要创建好Pod该Pod会一致运行下去。Pod里面运行的是一个daemon守护进…

雪花算法(Snowflake)介绍和Java实现

1、雪花算法介绍 (1) 雪花算法(SnowFlake)是分布式微服务下生成全局唯一ID,并且可以做到去中心化的常用算法,最早是Twitter公司在其内部的分布式环境下生成ID的方式。 雪花算法的名字可以这么理解,世界上没有两片完全相同的雪花,…

前端学习笔记 2:Vue

前端学习笔记 2:Vue Vue 是一个目前最流行的前端响应式框架,关于它的简单介绍可以观看这里。 1.快速入门 Vue 的官网提供一个快速上手指南,有多种方式可以安装和使用 Vue,这里展示一个最简单的方式——直接导入官方提供的在线的…

Linux高并发服务器开发之网络编程

Linux网络编程 网络基础TCP和socketTCP状态转移和IO多路复用反应堆模型和线程池模型libeventwebserver项目 网络基础 TCP和socket TCP状态转移和IO多路复用 反应堆模型和线程池模型 libevent webserver项目

Select缺点及代码示例

一、Select缺点 二、服务器端 #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <stdlib.h> #include <string.h> #include <sys/select.h>int main() {// 创建socketint lfd socket(PF_INET, SOCK_STREAM, 0)…

006、函数

1. 一个小技巧 在前面文章中&#xff0c;我们提到&#xff0c;在黑窗口中输入 code . 命令可以快速在 Visual Studio Code 中打开新建的项目&#xff0c;这个是你刚刚新建了项目&#xff0c;并且黑窗口正好是打开的情况下。 如果是之前创建的项目&#xff0c;用上面的方法就会有…

git(安装,常用命令,分支操作,gitee,IDEA集成git,IDEA集成gitee,IDEA集成github,远程仓库操作)

文章目录 1. Git概述1.1 何为版本控制1.2 为什么需要版本控制1.3 版本控制工具1.4 Git简史1.5 Git工作机制1.6 Git和代码托管中心 2. Git安装3. Git常用命令3.1 设置用户签名3.1.1 说明3.1.2 语法3.1.3 案例实操 3.2 初始化本地库3.2.1 基本语法3.2.2 案例实操3.2.3 结果查看 3…

【Java】log4j和slf4j区别

log4j&#xff1a;Apache Software Foundation 开源 slf4j&#xff1a;不支持日志滚动等高级功能 在开源库或内部库中使用 SLF4J&#xff0c;将使其独立于任何特定的日志记录实现&#xff0c;这意味着无需为多个库管理多个日志记录配置&#xff0c;您的客户端将会很需要这一点…

【k8s】deamonset文件和说明

目录 deamonset的相关命令 deamonset的定义 deamonset的使用场景 deamonset的例子 deamonset字段说明 serviceAccountName DaemonSet的结构及其各个部分的作用 deamonset的相关命令 #查看<name-space>空间内有哪些deamonset kubectl get DaemonSet -n <na…

Django 学习教程- Django 入门案例

Django学习教程系列 Django学习教程-介绍与安装 前言 本教程是为 Django 5.0 编写的&#xff0c;它支持 Python 3.10 至以上。如果 Django 版本不匹配&#xff0c;可以参考教程 使用右下角的版本切换器来获取你的 Django 版本 &#xff0c;或将 Django 更新到最新版本。如果…

判断素数的方法大全

质数又称素数。一个大于1的自然数&#xff0c;除了1和它自身外&#xff0c;不能被其他自然数整除的数叫做质数&#xff1b;否则称为合数&#xff08;规定1既不是质数也不是合数&#xff09;。 一、直接暴力法求素数 n的素数的判断&#xff0c;我自己只想到了把2到n-1&#xf…