登录框漏洞

2023-10-27

继上次登陆框引起的血案这个文章之后,时隔一个月笔者又写了续集,呃……升华版。

0×00 文章内容结构图

image

0×01 信息泄露

利用泄露的信息可以大大增加我们的可测试点,从而增加我们的成功率。

1. HTML源代码

必看的肯定要属HTML源代码了,源代码里包含了下面所说的JS文件。HTML源代码会泄露很多信息,像程序员未删除的注释、敏感路径等都可能在HTML源代码中找的到,从来增加发现漏洞的成功率。

2. JS文件

很多JS文件中会泄露其他路径,或者敏感函数等。泄露其他路径可以增加我们可以测试的点,泄露一些敏感函数可以实现未授权访问等恶意操作。

3. 其他敏感文件

还可以利用其他途径获得到的文件,如爆破、爬虫等其他方式得到的敏感文件,可能会发现日志文件、配置文件、网站的其他业务页面等。

0×02 点我链接登陆你的账号

这个问题多出现在第三方登陆功能中

1. 主站账号登陆

2. 微信登陆

3. QQ登陆

4. 微博登陆

5. ….

1. 一个二维码引领风骚

呃,小石师傅是真男神,把我带进了米斯特,从此不知归路..……

子业务选择使用主站账号扫码登陆时:

一个登陆框再次引起的血案

将二维转换为HTTP请求(https://cli.im/deqr/)

可以发现只有一个TOKEN参数:

一个登陆框再次引起的血案

使用主站APP 扫码进行登录扫描之后,会弹出确认登录框以确认登录。在点击“登录”按钮的之后,发送如下POST数据包来进行登陆:

POST https://xxx.com/xxxx/confirm HTTP/1.1

….

token=xxxxx&source=passport&fingerprint=一大长串字符

删除finderprint参数,发现对请求无影响=>删除

删除referer参数,发现对请求无影响=>可以CSRF

将请求方法改为GET型,发现失败=>只能构造表单进行CSRF

此时受害者只要是主站登陆状态下,发送了我们构造好的这个表单,那么我这里就可以直接登陆他的账号。

2. 二维码又起风波

使用账号所绑定的微信登陆:

一个登陆框再次引起的血案

扫描之后发现不需要点击确认就登录了,和常规的微信二维码扫描登录完全不一样,这时候才发现原来这里是使用的微信公众号绑定的账户去登录的,解析的二维码地址为:

一个登陆框再次引起的血案

条件:

受害者微信公众号绑定了账号;

受害者微信内点击我们的链接,我这里就这可以直接登陆了

0×03 劫持用户身份凭证

1. XSS劫持

子站使用主站账号登陆时,来来回回N个数据包,经过我仔细观察,得出重要结论:

如果主站是登陆状态,那么访问如下链接,主站便会返回身份凭证

经过测试发现:这个client_id参数必须存在,但是没有什么影响,不会影响整个攻击。

一个登陆框再次引起的血案

然后,我们便可以使用返回的这个链接来登陆受害者这个子站。为了获得响应包里面Locatin的值,我们可以使用该域下面的XSS来获得。

2. JSON劫持

当然,如果发现此处返回的用户凭证如下格式,那么当然首先考虑到的便是json劫持了。

一个登陆框再次引起的血案

关于json劫持,大家可以移步key师傅博客

http://gh0st.cn/archives/2018-03-22/1

0×04 XSS

1.登陆时XSS

一个登陆框再次引起的血案

POST类型,尝试修改改为GET类型:

一个登陆框再次引起的血案

发现成功弹窗,呃,即使不能修改成功,那么还可以组合CSRF一起使用。

2. 登陆成功时XSS

一个登陆框再次引起的血案

所有参数测试一遍,发现link参数,存在xss,直接在script标签里面,并且还送URL跳转一个。

一个登陆框再次引起的血案

3. 登陆失败时XSS

一个登陆框再次引起的血案

逐个参数进行测试后,最后发现gourl参数存在xss,过滤了script关键字,使用tab键进行绕过。

一个登陆框再次引起的血案

4. 利用泄露的文件进行XSS

通过源代码发现了一个隐藏的链接:

一个登陆框再次引起的血案

打开之后发现提示缺少sid参数,此时手动构造:

一个登陆框再次引起的血案

点击确定之后,跳过去的是一个荒废的页面,此时我回过头来看了一下源代码,尝试手动添加action、method参数:

一个登陆框再次引起的血案

发现了method参数有效,此时构造xss payload,成功弹窗(= = 没想到method参数也可以)。

一个登陆框再次引起的血案

5. 接口JSON XSS

发现请求链接是:http://xxxx/swap/im?callback=jQuery18900926711223842687

而响应包内容是:

jQuery18900926711223842687({"errorCode":1,"errorMessage":xxxxxxx})

灵光一闪:可以测试JSON劫持嘛。但是由于响应包的内容并没有啥作用,所以此处的JSON劫持完全没有危害,但是这里却还可以测试XSS漏洞。

一个登陆框再次引起的血案

构造如下链接,成功弹窗:

http://xxxx/swap/im?callback=<script>alert(1)</script>

一个登陆框再次引起的血案

0×05 URL跳转

用户登陆这个功能这里,可以测试的点可以但不仅仅并且不一定是如下几个:

1.登陆成功后跳转到的页面

此处link1参数可以控制跳转到的页面:

一个登陆框再次引起的血案

一个登陆框再次引起的血案

2.登陆失败后跳转到的页面

此处的gourl参数可以控制返回的页面:

一个登陆框再次引起的血案

可以看到设置了自动跳转,(呃……我们让他跳转到mstsec)。

一个登陆框再次引起的血案

一个登陆框再次引起的血案

0×06 未授权访问

1. JS文件背后的秘密

在查看源代码时发现引入了该JS文件,跟踪……

一个登陆框再次引起的血案

发现了两处接口,逐个跟踪。

一个登陆框再次引起的血案

发现下面那个接口直接未授权访问… 泄露了该站,所有的用户名,此时便可以进行有针对性撞库了。

一个登陆框再次引起的血案

2.看JS如何不见泰山

通过JS来验证权限时,还可以通过删除JS来实现未授权访问,例如登陆失败时通过JS来实现跳回主页面。简言之便是绕过客户端校验类型,so easy~

0×07 不安全的对象直接引用 | 设计缺陷

1. JS文件GETSHELL

通过读取JS代码时发现这么一段,竟然可以文件上传。

一个登陆框再次引起的血案

构造如下表单:

一个登陆框再次引起的血案

成功GETSHELL:

一个登陆框再次引起的血案

2. 任意用户登陆之绕过客户端校验

一个登陆框再次引起的血案

登陆成功后相应包里返回一条链接 http://xxx.com/user/login.php?id=MTAw。发现是用户ID的base64编码,此时遍历用户ID,实现任意用户登陆。

一个登陆框再次引起的血案

3. 最风骚之参数的FUZZ

1)任意后台地址,手动添加参数admin=1之后,发现返回了cookie,成功登陆

2)普通用户时,手动添加debug=1之后,发现权限竟然多了一些。。

呃。。关于参数的fuzz,增删改都可以进行尝试

 

原文:http://www.freebuf.com/articles/web/178687.html

json劫持

http://www.cnblogs.com/hyddd/archive/2009/07/02/1515768.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

登录框漏洞 的相关文章

  • 攻防世界web进阶区--php_rce write up

    打开靶机 这道题没有什么难点 重点在于RCE的认识和thinkphp的漏洞 那RCE是什么嘞 RCE 远程代码执行漏洞 远程命令 代码执行漏洞 简称RCE漏洞 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码 从而控制后台系统 RC
  • 正交矩阵

    正交性 是从几何学中借来的术语 如果两条直线相交成直角 它们就是正交的 比如图中的坐标轴 用向量术语说 这两条直线互不依赖 沿着某一条直线移动 你投影到另一条直线上的位置不变 在计算技术中 该术语用于表示某种不相依赖性或是解耦性 如果两个或
  • 设计模式:结构型模式-----适配器模式

    1 概述 将某个类的接口转换成客户端期望的另一个接口表示 目的是消除由于接口不匹配所造成的兼容性问题 示例 生活中的适配器 即充电器 将220v的交流电转换为手机可以接受的直流电 2 分类 a 类的适配器模式 当希望一个类转换成满足另一个新
  • Qt::WA_NoMousePropagation用法

    在QT中 鼠标事件包含 鼠标按键按下 鼠标按键释放 鼠标双击事件 鼠标移动事件 分别由下面的event handler 事件处理器 实际上就是一些可override的函数 来处理 virtual void mousePressEvent Q
  • 计算机科普杂文一篇

    最近这一两年 因为工作需要 学了杂七杂八的很多语言 再加上平时看的从美国来的书籍 正好有空 写一篇关于计算机入门级的杂文 那我先从网络说起 我希望讲的简单明了 各位一看就懂 由于在现实世界 十进制 六十进制等方式表达数字不是很稳定 容易出错
  • 笔记本电脑显示屏忽明忽暗怎么解决

    笔记本电脑在工作时忽明忽暗 这是由于笔记本接通了电源线 处于边充电边工作的状态 当电池已经充满时 充电电源就会时而接通 时而断开 导致电脑在电源线供电和电池供电之间来回切换 在一般情况下利用电池供电时屏幕亮度会设置得低一些 因此在这种情况下
  • 亚马逊云科技的十年创新之路

    2006年3月14日 计算时代的新纪元由此拉开帷幕 就在这一天 Amazon Web Services发布了Simple Storage Service 简称S3 从技术角度讲 Simple Queuing Services的发布时间更早一
  • 好分数阅卷3.0_高考出现的“神仙卷面”,阅卷老师都舍不得扣分,值得学习!...

    来源 教育导向 2020年的高考已经进入阅卷的阶段 各地的阅卷老师都在进行紧张的评卷工作 由于现在都是实行随机的电脑评卷 所以考生的试卷都会被扫描到电脑当中 然后阅卷老师都是根据电脑扫描的内容进行评分 在整个过程当中 考生所写的字体情况 就
  • 字符设备驱动开发总概

    字符设备是 Linux 驱动中最基本的一类设备驱动 字符设备就是一个一个字节 按照字节流进行读写操作的设备 读写数据是分先后顺序的 比如我们最常见的点灯 按键 IIC SPI LCD 等等都是字符设备 这些设备的驱动就叫做字符设备驱动 在
  • jqGrid 列表操作

    jQuery list jqGrid url users do colNames 流水号 姓名 性别 工号 入职时间 手机 职务 定位 colModel name id index id hidden true 隐藏ID列 name nam
  • 基础概念:抽象和接口、继承和组合

    在面向对象编程中 抽象类和接口是两个经常被用到的语法概念 是面向对象的四大特性 以及很多设计模式 设计思想 设计原则编程实现的基础 如 可以使用接口来实现面向对象的抽象特性 多态特性和基于接口而非实现的设计原则 使用抽象类来实现面向对象的继
  • Linux系统执行git pull命令拉取代码,每次都要输入用户名和密码

    执行该命令后 再输入一次用户名和密码 以后就不需要再输入了 会在 root 目录下生成一个 gitconfig 的文件 git config global credential helper store
  • 华为手机如何与台式计算机连接不上,华为手机连接不上电脑怎么处理

    您好 场景A 连接电脑后盘符可以显示 但是没有文件 无法拷贝数据至电脑或手机 确认USB线是否良好 可以通过是否能正常充电来判断USB线的好坏 下拉通知栏里USB已连接下方是否显示仅充电 如果是 则点击管理文件即可 然后点击 计算机 选择便
  • jmeter JDBC数据库连接与数据库压测

    数据库配置 数据库配置 JDBC Connection COnfiguration 连接池管理 variable Name for created poll 创建数据池的名称 这里的名称 下面的jdbc要一致 Max Number of C

随机推荐

  • C知识点总结(格式以后再整理,近期笔试面试太多)

    1 局部变量能否和全局变量重名 答 能 局部会屏蔽全局 要用全局变量 需要使用 局部变量可以与全局变量同名 在函数内引用这个变量时 会用到同名的局部变量 而不会用到全局变量 对于有些编译器而言 在同一个函数内可以定义多个同名的局部变量 比如
  • 吐血熬夜一个月整理出这一份自动化测试超全学习指南【附网盘资源+项目+面试攻略】

    最近看到很多粉丝在后台私信我 叫我做一期Python自动化测试学习路线图和想要学习资料 其实关于这个问题 功能测试想转自动化 请问应该怎么入手 有没有好的资源推荐 学习路线和网盘资源 实战项目都放在文末了 我也早就在着手准备了 所以今天它来
  • Android Studio 显示Git的Local Changes窗口

    前言 因为使用新的mac环境 下载了最新的android studio 今天在做开发后 想看看本地修改了哪些文件 结果发现本人熟悉的Local Changes窗口居然找不到了 不习惯的让我浑身难受 解决方法 打开Preferences 选择
  • linux编译运行build.sh,linux下libwebsockets编译及实例

    最近想自己搭建一个webscoket协议的服务器 打算用libwebsockts这个库 下载代码编译 编写一个shell脚本 bin sh wget http git warmcat com cgi bin cgit libwebsocke
  • c语言常用关键字既其解释(1)

    数据类型类 1 auto 自动 自动变量类型 局部变量都是自动创建 自动销毁的 所有局部变量都是自动变量 为了书写方便就全部省略了 int a gt auto int a 省略 2 char 字符 字符变量类型 char c1 a char
  • git提交出现remote rejected master -> XX changes closed

    问题现象 提交git的时候出现 remote rejected master gt refs for master change http XXXX com myreview changes 1721438 closed error fai
  • 制作精良讲解清晰的Lumen原理

    老奇 阴差阳错 撼动世界的游戏引擎 哔哩哔哩 bilibili 推荐一个制作精良讲解清晰的Lumen原理视频给大家 这种有营养但又很可口的技术科普视频 来之不易啊
  • WPF,如何让TextBox中的文字垂直居中

    VerticalContentAlignment Center
  • 基础算法题——位运算之谜(数论)

    位运算之谜 题目链接 数论 a b a xor b 2 a b 变式可得 a xor b a b 2 a b 另外还要排除两种不能被组成的情况 a b 2 a b lt 0 a xor b最小为0 不存在小于0的值 a b a b 2 a
  • WebRTC 用例和性能

    WebRTC 用例和性能 实现低延迟 点对点传输是一项艰巨的工程挑战 有 NAT 遍历和连接检查 信令 安全 拥塞控制和无数其他细节需要处理 WebRTC 代表我们处理以上所有内容 这就是为什么它可以说是自网络平台成立以来最重要的补充之一
  • undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11

    三段式 现象 分析 总结 方法 是理解提升能力的最佳思维模式 1 现象 在cuda 版本是最新的11 8 运行torch写的模型 import torch报出来的错误 2 分析 网上很多是说torch版本和cuda版本不一致 去官网按照版本
  • FatFS的文件操作

    1 文件操作 1 1 f open 打开 创建文件 FRESULT f open FIL fp OUT Pointer to the file object structure const TCHAR path IN File name B
  • WEB前端网页设计-Bootstrap 按钮下拉菜单

    目录 Bootstrap 按钮下拉菜单 分割的按钮下拉菜单 按钮下拉菜单的大小 按钮上拉菜单 Bootstrap 按钮下拉菜单 本章将讲解如何使用 Bootstrap class 向按钮添加下拉菜单 如需向按钮添加下拉菜单 只需要简单地在一
  • c# 简单httpGet、httpPost方法以及http提交Form表单

    httpGet和httpPost public static class HttpHelper
  • 安装Nginx教程(CentOS8)

    这件事是不是神迹 并不重要 重要的是神感动了我 低俗小说 此文针对centos8操作 1 centos8安装完毕后安装基本工具 yum install gcc openssl openssl devel pcre pcre devel zl
  • postman重新安装后collection数据恢复

    目录 前言 恢复collection数据 前言 记录postman重新安装后collection数据恢复的方法 恢复collection数据 1 登录postman账号后 选择My Workspace 点击import 2 点击Upload
  • Linux Polkit权限提升漏洞(CVE-2021-4034)

    漏洞描述 Linux Polkit权限提升漏洞 CVE 2021 4034 是由于pkexec无法正确处理调用参数 从而将环境变量作为命令执行 具有任意用户权限的攻击者都可以在默认配置下通过修改环境变量来利用此漏洞 从而获得受影响主机的ro
  • 猜数字小游戏

    猜数字小游戏 有随机数 保底机制玩法 package pxc cn import java util Random import java util Scanner public class sc public static void ma
  • MATLAB仿真噪声信号、单多音信号、LFM、2ASK、2FSK、BPSK、16QAM

    文章目录 背景 1 高斯白噪声 2 噪声调幅信号 3 噪声调频信号 4 单音信号 5 多音信号 6 线性扫频信号 7 2ASK信号 8 2FSK信号 9 BPSK信号 10 16QAM信号 缩略对照表 背景 临近毕业整理毕业论文的资料时 看
  • 登录框漏洞

    继上次登陆框引起的血案这个文章之后 时隔一个月笔者又写了续集 呃 升华版 0 00 文章内容结构图 0 01 信息泄露 利用泄露的信息可以大大增加我们的可测试点 从而增加我们的成功率 1 HTML源代码 必看的肯定要属HTML源代码了 源代