如何使用JSPanda扫描客户端原型污染漏洞
<p><img title="如何使用JSPanda扫描客户端原型污染漏洞" alt="如何使用JSPanda扫描客户端原型污染漏洞" border="0" src="https://zhuji.jb51.net/uploads/img/202305/1988120f2c1bcb740a8d38306c56d204.jpg"></p>
<h3>
关于JSPanda</h3>
<p>
JSPanda是一款功能强大的客户端原型污染漏洞扫描工具,该工具可以对从源代码中收集的所有单词进行污染操作,并将其显示在屏幕上。因此,它可能会产生假阳性结果。这些输出信息仅为研究人员提供额外的安全分析信息,其目的并非实现完全的自动化操作。</p>
<p>
注意事项:当前版本的JSPanda还不具备检测高级原型污染漏洞的能力。</p>
<h3>
JSPanda运行机制</h3>
<ul>
<li>
使用了多种针对原型污染漏洞的Payload;</li>
<li>
可以收集目标项目中的所有链接,并对其进行扫描,然后添加Payload至JSPanda所获取到的URL中,并使用无头Chromedriver导航至每一条URL链接;</li>
<li>
扫描目标JavaScript库源代码中潜在易受攻击的所有单词,JSPanda可以扫描目标项目中的脚本工具,并创建一个简单的JS PoC代码,以帮助广大研究人员对目标代码执行手动扫描;</li>
</ul>
<h3>
工具要求</h3>
<ul>
<li>
下载并安装最新版本的Google Chrome浏览器以及Chromedriver驱动程序;</li>
<li>
Selenium</li>
</ul>
<h3>
工具下载</h3>
<p>
广大研究人员可以使用下列命令将该项目源码克隆至本地:</p>
<ol class="dp-xml">
<li class="alt">
<span><span>git clone https://github.com/RedSection/jspanda.git </span></span>
</li>
</ol>
<h3>
工具运行</h3>
<p>
(1) 执行扫描</p>
<p>
首先,我们需要将目标项目的URL地址添加进JSPanda的url.txt文件中,比如说“example.com”。添加完成后,我们就可以运行下列命令来执行扫描了:</p>
<ol class="dp-xml">
<li class="alt">
<span><span>python3.7 jspanda.py </span></span>
</li>
</ol>
<p>
(2) 基础源代码分析</p>
<p>
首先,我们需要将一个JavaScript库的源代码添加至analyze.js中,然后使用analyze.py文件来生成PoC代码。</p>
<p>
接下来,在Chrome浏览器的命令行终端窗口中执行我们刚才生成的PoC代码。它将会对从源代码中收集到的所有单词进行污染操作,并将结果显示在控制台窗口中。这个过程有可能会产生假阳性结果。这些输出信息仅为研究人员提供额外的安全分析信息,其目的并非实现完全的自动化操作。</p>
<p>
运行命令如下:</p>
<ol class="dp-xml">
<li class="alt">
<span><span>python3.7 analyze.py </span></span>
</li>
</ol>
<h3>
源代码分析截图</h3>
<p>
<img title="如何使用JSPanda扫描客户端原型污染漏洞" alt="如何使用JSPanda扫描客户端原型污染漏洞" border="0" src="https://zhuji.jb51.net/uploads/img/202305/3e7efacb05baca03a8b8b4dbc20168b9.jpg"></p>
<h3>
工具演示视频</h3>
<p>
视频地址:【点我观看】</p>
<h3>
项目地址</h3>
<p>
JSPanda:【GitHub传送门】</p>
<p>
原文链接:https://www.freebuf.com/articles/web/303996.html</p>
頁:
[1]