首页 > 其他分享 >某网站登录协议分析

某网站登录协议分析

时间:2023-12-25 18:46:34浏览次数:34  
标签:协议 moduleName 登录 callback 网站 验证码 密码 step PasswordModule

目录

使用工具

# 浏览器 谷歌
# 抓包工具 Fiddler
# 语言 python与js

流程分析

  • 访问首页点击登录按钮

# 登录包为 http post请求 提交参数(json)如下
{
	"callbackVOList": [{
		"callback": {
			"loginName": "91XXXXXXXXXXXXXX", # 账号
			"moduleName": "PasswordModule",
			"prompt": "用户名",
			"step": 1,
			"subjectNeedFill": true
		},
		"callbackType": "cn.org.bjca.am.authframework.callback.LoginNameCallback",
		"order": 0
	}, {
		"callback": {
			"encoding": false,
			"moduleName": "PasswordModule",
			"password": "3F647993D5419FFD275CB405A319F5CE644C0549", # 加密后的密码
			"prompt": "密码",
			"step": 1,
			"subjectNeedFill": true
		},
		"callbackType": "cn.org.bjca.am.authframework.callback.PasswordCallback",
		"order": 1
	}, {
		"callback": {
			"choices": {
				"1": "个人用户",
				"2": "单位用户",
				"3": "代办人"
			},
			"defaultChoice": "",
			"moduleName": "PasswordModule",
			"multipleSelectionsAllowed": false,
			"prompt": "111",
			"selectedKey": "1",
			"step": 1,
			"subjectNeedFill": true
		},
		"callbackType": "cn.org.bjca.am.authframework.callback.ChoiceCallback",
		"order": 2
	}, {
		"callback": {
			"moduleName": "PasswordModule",
			"prompt": "验证码",
			"step": 1,
			"subjectNeedFill": true,
			"validateCode": ""
		},
		"callbackType": "cn.org.bjca.am.authframework.callback.ValidateCodeCallback",
		"order": 3
	}, {
		"callback": {
			"moduleName": "PasswordModule",
			"step": 1,
			"subjectNeedFill": true,
			"type": ""
		},
		"callbackType": "cn.org.bjca.am.authframework.callback.AppTypeCallback",
		"order": 4
	}],
	"indexName": "initService",
	"indexType": "service",
	"moduleName": "PasswordModule",
	"step": 1
}

需要处理的点

1.密码被加密了
2.存在一个登录验证码
  • 密码加密算法还原

strEnc(e.legelPwd, t.randomCode, "", "") -> 'A6C9AF79F04BEA097DBDAB8B968AECBB'
strEnc函数传入4个参数,返回了加密后的密码
参数1 e.legelPwd就是我们输入的密码 
参数2  t.randomCode -> "Ljg0MDAwNzk3Mw==" 是一个字符串 

strEnc(输入密码, 响应的值, "", "") -> 就能拿到加密后密码

  • 这样密码算法就还原了,接下来分析一下验证码

检查这两个请求发现,提交验证码的token也没再登录请求携带,过验证码成功也没有响应cookie,这个验证码可能可以直接绕过(相当于只做了页面的验证码,通过协议模拟可以绕过这个步骤?),直接不请求验证码,模拟登录请求验证一下猜想

模拟浏览器请求

# 测试发现返回验证码错误,看来还是要过这个验证码估计是这个cookie在后台做了过验证码记录

# 那就继续把验证码过了

# 找一下这个clientUid值怎么来的

使用文心一言生成个uuid的代码拿来用一下

# 猜想x 应该是距离 y 为高度 

# 验证后发现   x = 310 * 滑动距离 / 400  y = 5 固定值
# 发现保存到本地的图片是310长度,那x值就不用做处理,直接识别出来使用就行

标签:协议,moduleName,登录,callback,网站,验证码,密码,step,PasswordModule
From: https://www.cnblogs.com/guokaifeng/p/17926720.html

相关文章

  • jenkins如何添加ssh认证登录
    1.本地写代码,然后把代码上传到gitlab网站上,这里不赘诉,不会的请参考步骤参考:https://www.cnblogs.com/pingguomang/p/17926569.html 2.搭建jenkins,这里不赘诉3.找到一台服务器,生成一对公钥和私钥。这里不一定是你部署服务的那台节点的公钥和私钥,任意一个服务器都可以哈,只要是一......
  • 分享5个夸克网盘资源搜索网站,增强找资源效率
    夸克网盘也算是现在比较主流的网盘了,功能体验下很强大,在线解压阅读,磁力离线功能都很快,那么夸克资源该怎么找呢?下面来分享几个神级夸克资源网站。1、夸父资源社地址:https://www.kuafuzys.com/请点击输入图片描述(最多18字)网站界面简介无广告,根据官方写的是夸父资源社专注分享夸......
  • EasyCVR如何添加fmp4播放流协议?
    近期有用户反馈,想在EasyCVR中加上MP4播放流,今天我们来分享一下具体步骤。主要操作如下:1)首先在easycvr.ini配置文件中添加MP4;2)在EasyCVR代码读写配置文件中添加fmp4,再将所有的all_media_type字段都修改,并添加fmp4的信息;3)根据以下前端请求接口,即可拿到fmp4的流配置参数:4)随后在接口中......
  • 如何在Go语言中处理网站登录和会话保持问题
    在进行网页爬取时,有些网站可能要求用户登录后才能访问特定页面或获取数据。为了处理这种情况,我们需要在Go语言中模拟用户登录并保持会话。本文将介绍一些在Go语言中处理网站登录和会话保持的方法和技巧。1.理解网站登录流程在开始处理登录和会话保持之前,首先需要理解目标网站的登录......
  • EasyCVR视频监控系统/智能监控方案平台如何添加fmp4播放流协议?
    视频监控/GB28181视频管理平台EasyCVR能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,在视频监控播放上,视频安防监控汇聚平台EasyCVR可支持1、4、9、16个画面窗口播放,可同时播放多路视频流,也能支持视频定时轮播。视频监控汇聚平台EasyCVR支持多种播放协议,......
  • php购物网站结题报告
    基于php的服装商城的设计与实现1.引言随着互联网的普及和电子商务的快速发展,网络购物已成为人们日常生活的一部分。网络购物商城网站作为电子商务的重要平台,具有便捷性、高效性和不受时空限制等优势,越来越受到消费者的青睐。本文旨在设计和实现一个功能完善、操作简便的网络购物......
  • zhihu 网站挂了 All In One
    zhihu网站挂了AllInOne知乎https://zhihu.com/demosThissitecan’tbereachedThewebpageathttps://zhihu.com/mightbetemporarilydownoritmayhavemovedpermanentlytoanewwebaddress.ERR_INSUFFICIENT_RESOURCES(......
  • 网站被攻击常见的形式有哪些?
    在当下,网站遭受攻击已经成为屡见不鲜的事情了,因为大大小小的网站都遭受过网络攻击,尤其是一些比较热门的行业更是被攻击整的焦头烂额。那么网站被攻击常见的形式有哪些?今天通过这篇文章为大家讲一讲。1、网站网页中出现大量的黑链网站的网页一般用户看着没有什么异常,但......
  • 用一行代码在几秒钟内抓取任何网站
    如果你正在寻找最强大的Python抓取工具?不要再看了!这一行代码将帮助你立即启动并运行。ScrapeasyScrapeasy是一个Python库,可以轻松抓取网页并从中提取数据。它可用于从单个页面抓取数据或从多个页面抓取数据。它还可用于从PDF和HTML表格中提取数据。Scrapeasy让你只用一行......
  • 基于SpringBoot的人才招聘网站
    项目源码获取方式放在文章末尾处项目技术数据库:Mysql5.7或8.0数据表:16张开发语言:Java(jdk1.8)开发工具:idea前端技术:layui后端技术:springboot附文档 功能简介项目获取关键字:招聘该项目是一个人才招聘网站,页面分为前台招聘页和后台管理,具体功能菜单如下:前台首页    求职者   ......