news 2026/5/25 10:05:53

【建议收藏】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/5/26 6:30:01

git迁移代码到其他仓库的方法 个人记录

克隆只包含指定分支的仓库 git clone --single-branch --branch <branch-name> <原仓库URL>如&#xff1a; git clone --single-branch --branch develop-重构1128 http://xxxllm_platform/test.gitcd <repo-directory>添加新的远程仓库 git remote add ne…

作者头像 李华
网站建设 2026/5/26 6:29:52

PPT排版又丑又慢怎么办?这个“AI生成PPT”功能,3秒拯救你的PPT

你是不是也遇到过这样的情况&#xff1a;明明内容都想好了&#xff0c;可一做PPT就头疼&#xff1f;调字体、对格式、找图片、排版面……折腾好几个小时&#xff0c;做出来的PPT还是不好看。更让人崩溃的是&#xff0c;有时候半夜还在改PPT格式&#xff0c;就为了第二天早上开会…

作者头像 李华
网站建设 2026/5/25 10:06:04

再次紧急修复,Flutter 针对 WebView 无法点击问题增加新的快速修复

前几天我们刚聊了 《Flutter 官方正式解决 WebView 在 iOS 26 上有点击问题》 &#xff0c;这是一个完整的底层重构修复&#xff0c;整个修复周期审核堪比“博士论文”&#xff0c;但是也带来了一个问题&#xff0c;它只修复了 Engine 和 Framework 层面问题&#xff0c;那插件…

作者头像 李华
网站建设 2026/5/26 5:57:55

给AI“考题”换个计分方式,谷歌SigLIP让多模态模型学得又快又好!

CLIP很强&#xff0c;但它也有“贵族病”&#xff1a;训练成本高得让人望而却步&#xff0c;动辄上千GPU天的算力让无数团队只能仰望。 直到SigLIP横空出世。 它用一个简单到近乎“暴力”的思想——Sigmoid Loss&#xff0c;把CLIP那套繁琐的InfoNCE损失彻底抛弃&#xff0c;…

作者头像 李华
网站建设 2026/5/26 5:51:04

2026年java找工作难吗?java就业环境怎么样?

2026年找工作会“难”&#xff0c;但不是对所有人。 它会呈现出非常明显的 “两极分化” 态势&#xff0c;对初级/基础不牢的求职者&#xff1a; 会非常困难&#xff0c;内卷严重&#xff0c;要求水涨船高。对中高级/有核心竞争力&#xff08;架构、高并发、云原生等&#xff0…

作者头像 李华