
Plution 是一种便捷的方式,可大规模扫描通过URL负载易受客户端原型污染攻击的页面。在默认配置中,它将使用一个硬编码的负载,能够检测到此处记载的11种情况:https://github.com/BlackFan/client-side-prototype-pollution/tree/master/pp
这不是一个一站式解决方案。原型污染是一个复杂的难题。这个工具并没有做任何你手动无法完成的事情。它不是一个经过打磨、无错误的超级工具。它可以工作,但编码不佳,最多只能算作alpha版本。
Plution 将负载附加到提供的URL上,使用无头Chrome导航到每个URL,并在页面上运行JavaScript以验证原型是否被成功污染。
基础扫描,仅输出到屏幕:
cat URLs.txt | plution
使用提供的负载而非硬编码负载进行扫描:
cat URLs.txt|plution -p '__proto__.zzzc=example'
关于自定义负载的说明:您希望注入的变量必须被调用或渲染为"zzzc"。这是因为'window.zzzc'将在每个页面上运行以验证污染。
输出:
Passing '-o' followed by a location will output only URLs of pages that were successfully polluted.
并发:
Pass the '-c' option to specify how many concurrent jobs are run (default is 5)
如何安装?
go get -u github.com/raverrr/plution
为什么特别限制为检查window.zzzc是否定义?
zzzc is a short pattern that is unlikely to already be in a prototype. If you want more freedom in regards to the javascript use https://github.com/detectify/page-fetch instead
有更具体的问题?
Ask me on twitter @divadbate.