简易的JS逆向解码

在实战的漏洞挖掘中阅读JS有以下几个作用:

1.JS中存在插件名字,根据插件找到相应的漏洞直接使用

通过控制台大致阅读网站JS代码发现此网页引用了北京的一家公司的代码,并且使用了h-net的框架,接下来我们可以百度这家公司或者是这个框架 曾经爆出的一些漏洞来尝试拿下这个站。

图片

2.JS中还存在一些URL链接,根据链接找到相应的页面进一步测试和利用
那京东网站为例,假如网站上的所有功能点都测完了,但是发现没有漏洞,在你毫无头绪的时候可以打开控制台CTRL shift + f 全局搜索一下,可以看到有很多网站的更多路径,我们可以继续顺着这个路径尝试找到它的其他漏洞。

图片

3.JS中存在一些子域名,可以直接访问子域名
假如我们现在攻击的目标是jd.com,我们可以在全局搜索中查找泄露的子域名,帮助我们获得其他相关的信息

图片

4.JS中敏感信息泄露给用户
 

图片


一些开发喜欢在备注里写一些敏感信息,后来忘记删除,比如在这个备注里留有京东员工的名字,在之后需要爆破密码时,我们可以直接爆破他的密码。

5.使用JSfind工具获取 JS中泄露的URL链接和域名

图片

游览器控制台使用技巧和方式

JS断点调试
假如我们在测试过程中发现可疑函数时,可以打开调试器 ctrl shift +f全局搜索js文件中出现这函数的地方,辨别出定义这个函数的语句点击左边的“行数”进行断点调试,让网站从上向下运行到我们打了断点的地方停止运行,以便我们了解函数在我们刷新页面时运行情况;按F11可以运行到下一个语句结束,按ctrl+F11是退回到上一个语句。(谷歌游览器)
例如:在一个后台登陆页面,我们随便输入点击登录后在调试器的网络里查看POST请求时发现了可疑函数keydata

图片

后来利用全局搜索发现这个函数是将我们输入的用户名以及加密后的密码(我们输入的)存储到这个函数中,明白这个之后,在之后需要爆破密码时,我们就可以逆向破解它的密码加密方法。

图片

Python和JS结合解决加密难题

碰到这种登录页面我们第一想到的是弱密码,无效后会尝试抓包爆破

图片

但是当我们抓包后发现密码是经过加密后的,我们没有加密后的字典,更何况我们也不清楚它的加密方法

图片

所以这里我们就要使用python和JS结合逆向解码爆破
 

图片


python指的是我们利用一个有固定模板的py文件,其中:
1.js指的是当我们运行1.py文件时,它会先运行1.js
md5是指你要破解的密码在网站中的加密函数
md5后面填的是你想要破解的密码
JS指的是我们在网站中全局搜索分析出的与加密相关的函数方法全都复制到1.js文件中配合1.py使用

就上面的例子实战一下

分析js代码后发现我们输入的密码被hex_md5函数进行加密,接着我们寻找这个加密函数

图片

将函数添加运行后显示报错,提示缺少对象,说明它里面还调用了其他函数,继续搜索添加到1.js中运行1.py

图片

比较幸运,这个站的加密方法,他直接就是个md5.js文件,运行结果与我们抓包得到的一致
 

图片

图片

现在将现有的字典进行加密破解

图片

在1.py的基础上稍加改造;
passwd.txt文件就是咱们要加密的字典;
绿色标记的地方是指当我们遇到加密过程中用到在短期内不会失效的随机数组,将数组添加到绿色箭头的空内,进行破解;
admin指的是我们要爆破的用户名。

图片

没看够~?欢迎关注!

免费领取安全学习资料包!

渗透工具

技术文档、书籍

 

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

 

应急响应笔记

学习路线

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智能优化算法应用:基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于水循环算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.水循环算法4.实验参数设定5.算法结果6.参考文…

【精选】SpringMVC简介及其执行流程,参数获取方式

SpringMVC简介 MVC模型 MVC全称Model View Controller,是一种设计创建Web应用程序的模式。这三个单词分别代表Web应用程序的三个部分: Model(模型):指数据模型。用于存储数据以及处理用户请求的业务逻辑。在Web应用中&…

C#基础——语法学习

C#的基本语法 在介绍基本语法之前我们先来大概讲一下创建好的这些文件都是做什么的 .sln文件:将项目和解决方案项结合到一起 .vs文件夹:用来存储当前解决方案中关于用户的设置和自定义项,比如断点,主题等。(一般都将其…

短信打开小程序

获取 URL Scheme | 微信开放文档 静态网站 H5 跳小程序 | 微信开放文档

阿里云SMC迁移RedHat/CentOS 5 内核升级

阿里云SMC迁移RedHat/CentOS 5 内核升级 1. 起因 服务器需要迁移上阿里云,有几台服务器用的是Redhat 5.x,在使用SMC进行迁移时出现以下报错. [2023-12-13 09:50:55] [Error] Check System Info Failed, codeS16_111, msgGet OS Info Failed: [error] grub is too old for C…

工作随记:long类型数据迁移问题小记

文章目录 概要整体解决方法方法一:用COPY的方法:方法二:PL/SQL(如上)方法三:直接就把LONG转换成CLOB类型方法四:exp/imp 技术过程 概要 工作随记:在做技术方案发现客户数据库的表存在与系统表空间&#xf…

OpenAI 承认 ChatGPT 最近确实变懒,承诺修复问题

文章目录 一. ChatGPT 指令遵循能力下降引发用户投诉1.1 用户抱怨回应速度慢、敷衍回答、拒绝回答和中断会话 二. OpenAI 官方确认 ChatGPT 存在问题,展开调查三. OpenAI 解释模型行为差异,回应用户质疑四. GPT-4 模型变更受人事动荡和延期影响 一. Chat…

基于Java SSM框架实现固定设备资产管理系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现固定设备资产管理系统演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认…

二、结合各种图形库实现各种demo(11-20)

demo地址https://bidding-m.gitee.io/maptalks-test-next/#/ 11、isects 12、right click menu 13、infoWindow 14、image marker 15、multi image marker 16、vector-marker-fill 17、line-gradient-arrow 18、rotated-marker-with-line 19、smoothness-line 20、polygon 欢迎…

orb-slam2学习总结

目录 视觉SLAM 1、地图初始化 2、ORB_SLAM地图初始化流程 3、ORB特征提取及匹配 1、对极几何 2、对极约束 (epipolar constraint) 3、基础矩阵F、本质矩阵E 5、单目尺度不确定性 6、单应矩阵(Homography Matrix) 6.1 什么是单应矩…

干不完的996,加不完的007,浅谈程序员的内卷化

目录 一. 什么是内卷化 二. 程序员的内卷化 2.1. 码农时代 2.2. 开源时代 2.3. 加班文化 三. 如何不被内卷化 3.1. Stay Hungry, Stay Foolish 3.2. 工程能力 3.2.1. 架构 3.2.2. 规范 3.2.3. 管理 3.2.4. 排错 3.3. 学会思考 四. 结尾 一. 什么是内卷化 最近开始…

【算法与数据结构】37、LeetCode解数独

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:本题也是一道困难题,难点在于如何构建数独棋盘,如何检查棋盘的合法性&#xff…

Halcon一维码识别

文章目录 参数连接halcon 自带案例1(设置校验位识别条码)Halcon 自带案例2(设置对比度识别条码)Halcon 自带案例3(存在曲面变形)Halcon 自带案例4(设置条码扫描线)Halcon 自带案例5&…

Linux---Ubuntu操作系统

1. Ubuntu操作系统的介绍 Ubuntu操作系统是属于Linux操作系统中的一种,它是免费、稳定又可以拥有绚丽界面的一个操作系统 2. Ubuntu图形界面的介绍 任务栏 窗口操作按钮 窗口菜单条 任务栏效果图: 窗口操作按钮效果图: 窗口菜单条效果图: 3. 与Windows目录结…

『C++成长记』拷贝构造函数

🔥博客主页:小王又困了 📚系列专栏:C 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、拷贝构造函数 📒1.1拷贝构造函数的概念 📒1.2拷贝构造…

Java项目-瑞吉外卖Day6

导入用户地址功能,为用户添加地址: 添加AddressBook实体类,创建相关service,mapper,serviceImpl,controller类。 controller类直接使用的资料提供的代码。 实现菜品展示移动端开发: 看到前端发…

添加,更换和删除 vSphere License

目录 1. 删除 License2. 添加 License(1)输入许可证密钥(2)编辑许可证名称(3)确认许可证信息 3. 分配/更换 License(1)为 vCenter Server 分配 License(2)为 …

Android : 序列化 Parcelable 简单应用

1.Parcelable 介绍 Parcelable 是 Android 提供的一个序列化接口,用于将数据写入 Parcel,以及从 Parcel 中读取数据。一个类只要实现了这个接口,该类的对象就可以被序列化,主要用于 IPC(进程间通信)、Bind…

产品经理之如何编写竞品分析(医疗HIS系统管理详细案例模板)

目录 一.项目周期 二.竞品分析的目的 三.竞品分析包含的维度 四.如何选择竞品 五.竞品画布 六.案例模板 一.项目周期 在整个项目的周期,产品经理所做的事情主要在项目前期做市场分析、需求调研等,下面一张图概况了整个项目周期产品经理、开发工程师…

网络安全——Iptables防DDoS攻击实验

一、实验目的要求: 二、实验设备与环境: 三、实验原理: 四、实验步骤: 五、实验现象、结果记录及整理: 六、分析讨论与思考题解答: 一、实验目的要求: 1、掌握常见DDoS攻击SYN Flood的攻击…