关于ppmap

ppmap是一款基于Go开发的漏洞扫描器/漏洞利用工具,该工具能够通过在全局上下文中检查特定变量来扫描、检测和利用XSS漏洞。该工具目前只能利用已知Gadget(可能支持部分自定义开发的Gadget)中的安全问题,但不支持代码分析或任何高级的漏洞扫描/利用方式。

工作流程

通过启发式扫描确定网站是否容易受攻击;

对已知小工具进行指纹识别(检查全局上下文中的特定变量);

显示最终的漏洞利用并准备执行XSS攻击;

工具依赖

首先,我们需要确保已经正确安装好了Chromium/Chrome:

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
sudo apt-get install google-chrome-stable

接下来,我们还需要安装好chromedp

go get -u github.com/chromedp/chromedp

工具安装

自动安装

首先,点击【这里】下载已编译好的项目代码。

接下来,切换到项目目录下,给程序提供可执行权限:

chmod +x ppmap

手动安装

首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/kleiton0x00/ppmap.git

切换到项目目录下:

cd ~/ppmap

使用下列命令构建项目代码:

go build ppmap.go

工具使用

该工具的使用非常简单,我们可以通过下列两种方式执行简单扫描:

1、扫描一个目录/文件(或直接扫描网站本身):

echo 'https://target.com' | ./ppmap

2、扫描一个终端节点:

echo 'http://target.com/something/?page=home' | ./ppmap

大规模扫描

cat url.txt | ./ppmap

其中,url.txt为包含所有目标url地址的列表文件。

工具运行演示

项目地址

ppmap:GitHub传送门

参考资料

https://msrkp.github.io/pp/2.html

https://ctf.nikitastupin.com/pp/known.html

https://grey-acoustics.surge.sh/

https://infosecwriteups.com/javascript-prototype-pollution-practice-of-finding-and-exploitation-f97284333b2

https://gist.github.com/nikitastupin/b3b64a9f8c0eb74ce37626860193eaec

本文作者:Alpha_h4ck, 转自FreeBuf