news 2026/4/16 16:12:07

【建议收藏】JavaScript漏洞挖掘技术全解析:从零开始掌握Web安全核心技能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【建议收藏】JavaScript漏洞挖掘技术全解析:从零开始掌握Web安全核心技能

一.为何挖不到漏洞?

信息收集不够多,或者做了信息收集但是分析的不够彻底和仔细。有几点要求需要大家注意:首先是要熟读刑法,了解那些是经过授权的渗透;其次,收集的信息要多,越多越好,包括子域名、端口以及IP段落等,利用搜索引擎或者GitHub上的现成工具;再次,提前了解一些常见的漏洞示例,熟悉漏洞可能存在的地方,可以多看看漏洞平台或者社区上的一些经验。然后,大厂的主站漏洞不是很多,挖掘的难度较大,新手应该绕过,换到子站看一下;最后,不耻下问,多学习,不要仅仅限制于TOP10。

1.什么是src?

SRC,( Security Response Center) ,安全应急响应中心,是企业用来对外接收来自用户发现并报告产品安全漏洞的站点。简单说就是白帽子用于提交随机发现的漏洞的一个平台,提交者可以获取一定的赏金。是企业用于对外接收来自用户发现并报告的产品缺陷的站点。目前主要包含有两种实现方式,第一种是漏洞报告平台,另一种是XSRC模式。

(1)漏洞报告平台

漏洞报告平台是指由独立的第三方公司或机构成立综合性的“安全应急响应中心”。国内补天平台、漏洞盒子平台,以及据此衍生的Sobug众测平台等均属于该模式。外部报告者注册对应漏洞报告平台选择对应的厂商进行报送,接着第三方机构会发送邮件提示相关厂商确认处理。这种模式的缺陷十分明显。厂商的历史漏洞信息会完全暴露给第三方机构,报告中涉及的企业内部大量敏感信息因此外泄,丧失私密性。

(2)xSRC模式

xSRC模式是指企业自己分配工程师开发属于自身的安全应急响应中心,制定自己的漏洞收集和披露计划。目前包括Google、Microsoft、腾讯、阿里巴巴和百度等,均成立了自己的安全应急响应中心,对外收集并处理安全研究员报送的漏洞报告。使用这种模式,企业在漏洞的收集和披露过程中完全掌控了主动性,拥有良好的私密性和可定制性。

2.法律常识,挖洞前要注意不违法。

中华人民共和国网络安全法第二十七条规定,任何个人和组织不得从事非法侵入他人网络、干扰他人网络正常功能、窃取网络数据等危害网络安全的活动;不得提供专门用于从事侵入网络、干扰网络正常功能及防护措施、窃取网络数据等危害网络安全活动的程序、工具;明知他人从事危害网络安全的活动的,不得为其提供技术支持、广告推广、支付结算等帮助。

二. 漏洞挖掘的几个关键技术

1.JS在漏洞挖掘重要地位
(1)JS是什么?

JS即javascrip 是一种Web页面的脚本语言,主要用来向HTML页面添加交互行为,主要作用是:

  1. 在HTML页面中嵌入动态文本
  2. 对浏览器的时间做出响应
  3. 读写HTML的元素
  4. 在数据被提交到服务器之前校验数据
  5. 检测访客的浏览器信息

CSS :(Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。

HTML:超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。我们可以使用 HTML 来建立自己的 WEB 站点,HTML 运行在浏览器上,由浏览器来解析。

HTML和CSS以及JS三种前端语言的区别:HTML只包含页面中的文字,就好比是一个毛坯房。CSS包含了图片,颜色以及排版,从而将页面渲染的更加美观就好比一个装修好的房子。JS就是加入一些动作,就好比给装修好的房子加入了智能家居。
HTML

<form name="myForm" action="demo_form.php" onsubmit="return validateForm()" method="post"> 名字: <input type="text" name="fname"> <input type="submit" value="提交">

JS

function validateForm() { var x = document.forms["myForm"]["fname"].value; if (x == null || x == "") { alert("需要输入名字。"); return false;

css

<style> p { color:red; text-align:center; } </style>
(2)JS在实战漏洞挖掘中的作用:
https://rencaiceping.guazi.com/login.asp?c=1



可以搜索第三方公司代码的漏洞进行利用。


黑客有可能向该人员发送钓鱼邮件进行漏洞利用。

(3)Jsfind工具


可以使用JSfind工具来查找JS中所有泄露的一些URL和子域名。

包含关键信息的URL。

2.浏览器控制台使用技巧和方式

控制台中调试器主要对JS代码进行动态调试并且保存加载的JS代码

3.JS 的断点技巧以及Hook注入

JS的断点调试,打到断点处就不运行了,选择单步步入。

在关键代码中打断点(点击代码中的行号),通过关键信息找到代码执行的关键步骤,然后一步一步进行调试。

4.Python和JS 相结合解决加密问题
1.js文件样例函数如下:


通过Python去调用1.js代码中的函数encryptByDES

首先导入execjs库,定义一个结果唤醒1.js中函数encryptByDES然后传入传参,**相当于一个用Python去调用js中的函数并输出对应的结果。**

在终端中进行执行后输出结果。

5. MD5加密与逆向加密参数还原
(1) 打开Burp suite

Burp suite 是用于攻击 web 应用程序的集成平台。它包含了许多 Burp 工具,这些不同的 Burp 工具通过协同工作,有效的分享信息,支持以某种工具中的信息为基础供另一种工具使用的方式发起攻击。这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示 HTTP 消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架。它主要用来做安全性渗透测试。其多种功能可以帮我们执行各种任务.请求的拦截和修改,扫描 web 应用程序漏洞,以暴力破解登陆表单,执行会话令牌等多种的随机性检查。
下载地址

https://portswigger.net/burp/releases

安装教程

https://zhuanlan.zhihu.com/p/605035559

注册机

https://link.zhihu.com/?target=https%3A//github.com/h3110w0r1d-y/BurpLoaderKeygen/releases

java sdk:

https://link.zhihu.com/?target=https%3A//download.java.net/openjdk/jdk11/ri/openjdk-11%2B28_windows-x64_bin.zip

Burp suite包括以下几个模块:

proxy:代理,默认地址是127.0.0.1,端口是8080
target:站点目标,地图
spider:爬虫
scanner:漏洞扫描
repeater:http请求消息与响应消息修改重放
intruder:暴力破解
sequencer:随机数分析
decoder:各种编码格式和散列转换
comparer:可视化差异对比功能

(2)打开Burp suite后在浏览器中配置好代理


在浏览器中打开要破解的URL并输入用户名和密码点击登录,同时在Burp suite中查看拦截请求中所抓到的包。

(3)这个时候回到浏览器控制台中查找到JS中相应的所有密码加密处理函数

在Burp suite所显示的最后值是由如下函数进行md5的3层混合加密后得到的。



第一层传入的值会先进行md51进行加密。

第二层的md51加密进行了多层函数的嵌套

在控制台中逐个进行查找,找到所有的MD5加密处理函数。



(4)将在控制台中找到的所有的MD5加密处理函数都复制到1.js文件中。


一步步进行调试,找到所有加密过程中所缺失的函数。

记得对python脚本中的函数名进行更改。

(5)对所有需要调用的加密函数进行查找复制,直到可以对我们的输入参数进行成功加密并输出。

(6)代入最开始时的密码加密的公式。


在控制台中得出随机值,10分钟内会变一次,所有要在10分钟内将加密过程破解完成。

将加密参数复制到python脚本中运行后得到与Burp suite中相同的数值。自此相当于完成了将网页中加密过程的破解。

(7)将自己的密码破解字典使用该加密函数进行输出转换然后输入Burp suite中进行破解

随机值字典如下所示:

然后将随机值按照加密过程进行转换。

执行结果如下:

然后输入Burp suite的载荷中进行破解。使用该密码可以成功进行系统登录。

运行后状态码显示登陆成功,从而得出密码破解成功。

如何学习黑客/网络安全?

网络安全不是「速成黑客」,而是守护数字世界的骑士修行。当你第一次用自己写的脚本检测出漏洞时,那种创造的快乐远胜于电影里的炫技。装上虚拟机,从配置第一个Linux环境开始,脚踏实地从基础命令学起,相信你一定能成为一名合格的黑客。

如果你还不知道从何开始,我自己整理的282G的网络安全教程可以分享,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!

下面是我整理的网安资源,希望能帮到你。

😝需要的话,可以V扫描下方二维码联系领取~

如果二维码失效,可以点击下方👇链接去拿,一样的哦

【CSDN大礼包】最新网络安全/网安技术资料包~282G!无偿分享!!!

1.从0到进阶主流攻防技术视频教程(包含红蓝对抗、CTF、HW等技术点)


2.入门必看攻防技术书籍pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

3.安装包/源码

主要攻防会涉及到的工具安装包和项目源码(防止你看到这连基础的工具都还没有)

4.面试试题/经验

网络安全岗位面试经验总结(谁学技术不是为了赚$呢,找个好的岗位很重要)

😝需要的话,可以V扫描下方二维码联系领取~

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

如果二维码失效,可以点击下方👇链接去拿,一样的哦

【CSDN大礼包】最新网络安全/网安技术资料包~282G!无偿分享!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:33:40

【JAVA】获取当前时间的上一周时间

背景&#xff1a;需要根据当前时间获取上一周时间&#xff0c;并查询这段时间的设备上报情况// 获取当前时间LocalDateTime nowTime LocalDateTime.now();// 获取当前时间前7天的时间点&#xff08;精确到秒&#xff09;LocalDateTime lastWeekTime nowTime.minus(7, ChronoU…

作者头像 李华
网站建设 2026/4/16 14:32:47

如何使用 WSL 在 Windows 上安装 Linux

如何使用 WSL 在 Windows 上安装 Linux 开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 借助适用于 Linux 的 Windows 子系统&#xff08;WSL&#xff09;&#xff0c;开发人员可以安装 Linux 分发版&#xff08;如 Ubuntu、OpenSUSE、Kali、Debian、…

作者头像 李华
网站建设 2026/4/13 18:27:59

SAP CDS 带参数传输的视图

以下为CDS代码 AbapCatalog.sqlViewName: Z_VYYY_CDS_04AbapCatalog.compiler.compareFilter: trueAbapCatalog.preserveKey: trueAccessControl.authorizationCheck: #NOT_REQUIREDEndUserText.label: 加入传参Metadata.ignorePropagatedAnnotations: true// distinct …

作者头像 李华