首页
学习
活动
专区
圈层
工具
发布

记一次从JS源码分析到任意用户登录

前言 此网站是某个众测的项目,主要漏洞还是通过前端源码分析到任意用户登录,攻击者可据构造认证数据包进行任意用户登录从而获取用户数据,比较经典。...漏洞 老样子,开局登录框,这一步把小狐狸打开,使用burp检测网站的所有接口数据 发现某js文件泄露appId以及clientId 通过查看小熊猫插件发现/auth/oauth/token接口 查看前端源码...,全局搜索该接口 我们通过上述源码逻辑发现token生成格式为 Authorization = 'Basic ' + btoa(''.concat(o, ':').concat(c)) 其中o为clientId...我们也可直接通过浏览器控制台使用btoa函数进行处理我们想要的字段即可,如下图: 最终形成这种格式 Authorization:Basic dnhpxxxxxxxxxxxxxxxx 构造数据包获取token 查看登录接口...,可以发现主要通过userId进行登录控制用户名 因此我们可以构造登录认证的链接并指定userid进行任意用户登录 登录成功,获取到姓名,手机号等信息

32300
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS逆向之国航登录

    分享另一个破解JS登录的案例 抓包 网站如下:http://www.airchina.com.cn/www/jsp/userManager/login.jsp 下面是登录的抓包: ?...因为 JS 代码一般是根据输入框的 id 标签取相应的值,然后做加密! ? id标签 搜索结果如下: ? 结果 猜测应该是 RSA 加密! 分析 在加密的位置打上断点,重新发请求: ?...点击该函数进入,可以发现 RSAUtils 的定义及其相应的函数都在这个 JS 文件中,直接一把梭,将该文件中的 JS 代码全部复制下来吧: ?...所以也将bodyRSA 函数对应的的 JS 代码复制下来。最终本地 JS 文件内容如下: ? 最后,自己写个 JS 函数,执行一下,并和抓包的数据进行对比验证结果: ?...总结 可以看到在流程当中比较重要的地方就是: 1.找规律,寻找这些数据的加密规则 2.调试 JS,使用浏览器或者在本地进行调试 3.模拟数据,将这些数据通过代码模拟生成,然后加入到数据当中

    1.9K60

    JS逆向案例:破解登录密码

    最近在学习JS逆向方面的知识,由于之前做过12306的自动抢票软件,因此对12306情有独钟,接下来就给大家介绍一下12306用户登录密码的参数破解办法。...首先我们打开12306的登录界面,打开抓包工具,输入用户名和一个错误的密码(例:123456),点击登录按钮并滑动验证码进行验证,在Ajax包中我们可以点击login这个包进入查看,我们可以发现password...打上断点后,我们在此输入用户名和密码,点击登录,此时发现浏览器停在了该断点位置,如下图所示 此时我们仔细分析一下该行 JS 代码,发现最后生成的参数是"@"加上一个加密函数返回的结果组成,该函数的第一个参数很显然就是我们输入的明文密码...此时有小伙伴要问了,我都全部将base64js全部都放进来了,怎么还不行呢?其实base64js这个对象比较复杂,在我们抠出来的JS代码中是不能识别的。...最后,补充完毕后的代码进行调试运行,结果如下: 将该JS代码打包成一个JS文件,利用python的execjs包可运行js代码,直接调用JS文件中的getpwd函数即可,python代码如下: import

    6K10

    SSO单点登录流程源码学习

    SSO单点登录流程源码学习 应用背景 过去若是部署多台单点登录系统,会通过nginx配置做会话保持,从而保证不同客户端发起的登录请求会一直落在同一台机器,保证正常登录,nginx配置如图举例:...当去掉nginx会话保持时,SSO系统会出现在进入登录页面时在A上生成了验证码,默认放在了A的session,而提交时请求到了B上,而B的session中没有页面提交过来的验证码导致登录验证不通过。...,增加参数uuid的get、set方法 再回到验证码登录校验类,更改原来的获取sessionId为通过Credentials获取uuid 后续实际校验验证码的内容无需更改,同原验证码登录校验...SSO系统LT存入redis 首先看下lt在登录页面中的位置,位于登录提交表单的隐藏域, lt的作用简单来说就是为了应对登录用户点击退出后,在浏览器点击回退操作时,系统不会自动提交登录参数从而在操作人员无意识情况下再次登录系统...也就会完成后面对service的登录授权并分发ST票据了。

    72510

    SpringBoot人脸识别登录注册,附源码

    接着辗转第二家 百度AI ,这次还是比较顺利的,中间只出现过一次错误 ❌ ,而且官方大大还给出了解决方案,很是贴心,最终还是实现了开始的预想:成功使用人脸来实现注册和登录功能。...自我感觉这是❗️❗️最难❗️❗️的部分) 项目回顾(百度云AI) 最终效果演示: 技术选型: SpringBoot BootStrap Thymeleaf 百度云AI / Face++ 项目需求分析 为了用户登录的便捷...,不再输入账号密码进行手动登录与注册,而是使用JQuery调用本机的摄像头进行拍摄照片,然后调用人脸识别接口将人脸信息自动注册进所使用的平台(百度云/Face++)后,用户即可进行人脸扫描实现登录操作。...true : false; } 想要了解全部封装代码请移步Gittee仓库 ④编写Controller前端控制器代码 首选创建一个FaceLoginController类 跳转到人脸登录页面的控制器...@RequestMapping("/") public String toLogin(){ return "index"; } 实现人脸登录逻辑 /** * 人脸登录 * @return

    2.8K40
    领券