Proto-find is a tool for researchers that lets you find client side prototype pollution vulnerability.

proto-find

proto-find is a tool for researchers that lets you find client side prototype pollution vulnerability.

How it works

proto-find open URL in Chrome using headless mode using chromedp.

All you need is installed Chrome browser.

You have to provide JavaScript code in -js parameter which will be run in context of URL.

For the provided payload list (payloads.txt) the JavaScript code should be: window.elo

proto-find will process the URL in following way:

Installation

proto-find is written with Go and can be installed with go get:

▶ go get github.com/kosmosec/proto-find

Or you can clone the respository and build it manually:

▶ git clone https://github.com/kosmosec/proto-find.git
▶ cd proto-find
▶ go install

Options

You can get the proto-find help output by running proto-find -help:

: " -rate int max rate for requests -u string file with URLs to scan -v version">
▶ proto-find -help
Usage of proto-find:
  -c int
    	set concurrency (default 5)
  -cookie string
    	set cookies, ex. -cookie "session=hacker"
  -h string
    	file with custom headers
  -js string
    	JS script which check if prototype pollution exists
  -p string
    	file with client side prototype pollution payloads
  -proxy string
    	set proxy for requests, -proxy "http://
     
      :
      
       "
  -rate int
    	max rate for requests
  -u string
    	file with URLs to scan
  -v	version

      
     

Usage

The concurrency (-c) 5 is the best for performance on regular computers.


Simple case

Run

proto-find -u ./urls -p ./payloads.txt -js window.elo

Run

cat urls | proto-find -p ./payloads.txt -js window.elo

Output

/?name=test&work=hard&coffee=yes&__proto__[elo]=melo Vulnerable target http:// /?name=test&work=hard&coffee=yes&constructor[prototype][elo]=melo ">
Vulnerable target http://
     
      /?name=test&work=hard&coffee=yes&__proto__[elo]={"json":"value"}
Vulnerable target http://
      
       /?name=test&work=hard&coffee=yes&__proto__[elo]=melo
Vulnerable target http://
       
        /?name=test&work=hard&coffee=yes&constructor[prototype][elo]=melo


       
      
     

With cookies and proxy

Run

proto-find -u ./urls -p ./payloads.txt -js window.elo -cookie "JSESSIONID=test;hello=world" -proxy "http://IP:PORT" -c 5

With custom headers

Copy headers from Burp Suite and paste to the file, e.x.

X-Org: test
Auth: custom

Run

proto-find -u ./urls -p ./payloads.txt -h ./headers -js window.elo -cookie "JSESSIONID=test;hello=world"  -proxy "http://IP:PORT" -c 5

Credits

Owner
Penetration tester, security researcher, and usually Go developer.
null
Similar Resources

Tool to check whether one of your applications is affected by a vulnerability in log4j: CVE-2021-44228

Tool to check whether one of your applications is affected by a vulnerability in log4j: CVE-2021-44228

log4shell.tools log4shell.tools is a tool allows you to run a test to check whether one of your applications is affected by a vulnerability in log4j:

Nov 2, 2022

log4jshell vulnerability checker tool

Description log4j-checker tool helps identify whether a certain system is running a vulnerable version of the log4j library. Download and run the tool

Dec 20, 2021

Agent-less vulnerability scanner for Linux, FreeBSD, Container, WordPress, Programming language libraries, Network devices

Agent-less vulnerability scanner for Linux, FreeBSD, Container, WordPress, Programming language libraries, Network devices

Vuls: VULnerability Scanner Vulnerability scanner for Linux/FreeBSD, agent-less, written in Go. We have a slack team. Join slack team Twitter: @vuls_e

Jan 9, 2023

The Go Vulnerability Database

The Go Vulnerability Database golang.org/x/vulndb This repository is a prototype of the Go Vulnerability Database. Read the Draft Design. Neither the

Dec 28, 2022

Super Java Vulnerability Scanner

Super Java Vulnerability Scanner

XiuScan 不完善,正在开发中 介绍 一个纯Golang编写基于命令行的Java框架漏洞扫描工具 致力于参考xray打造一款高效方便的漏扫神器 计划支持Fastjson、Shiro、Struts2、Spring、WebLogic等框架 PS: 取名为XiuScan因为带我入安全的大哥是修君 特点

Dec 30, 2021

A vulnerability scanner for container images and filesystems

A vulnerability scanner for container images and filesystems

A vulnerability scanner for container images and filesystems

Jan 1, 2023

Grafana Arbitrary File Reading Vulnerability

GrafanaArbitraryFileRead Usage 1. show info ❯ go run main.go -s [INF] VulnInfo: { "Name": "Grafana Ar

Sep 27, 2022

Scans and catches callbacks of systems that are impacted by Log4J Log4Shell vulnerability across specific headers.

Scans and catches callbacks of systems that are impacted by Log4J Log4Shell vulnerability across specific headers.

Log4ShellScanner Scans and catches callbacks of systems that are impacted by Log4J Log4Shell vulnerability across specific headers. Very Beta Warning!

Jun 17, 2022

A minimalistic LDAP server that is meant for test vulnerability to JNDI+LDAP injection attacks in Java, especially CVE-2021-44228.

jndi-ldap-test-server This is a minimalistic LDAP server that is meant for test vulnerability to JNDI+LDAP injection attacks in Java, especially CVE-2

Oct 3, 2022
Comments
  • ERROR: could not unmarshal event: unknown PrivateNetworkRequestPolicy value

    ERROR: could not unmarshal event: unknown PrivateNetworkRequestPolicy value

    for some reasons all request fails with

    ERROR: could not unmarshal event: unknown PrivateNetworkRequestPolicy value
    

    Could you please help me to solve that?

  • unable to run tool

    unable to run tool

    the tool returns this error after running; proto-find -u ./urls -p ./payloads.txt -js window.elo

    panic: close of closed channel

    goroutine 35 [running]: github.com/chromedp/chromedp.(*ExecAllocator).Allocate.func2() /home/coolcat/go/pkg/mod/github.com/chromedp/[email protected]/allocate.go:213 +0xc5 created by github.com/chromedp/chromedp.(*ExecAllocator).Allocate /home/coolcat/go/pkg/mod/github.com/chromedp/[email protected]/allocate.go:199 +0xcfd

Prototype Pollution Scanner

protoscan Prototype Pollution Scanner made in Golang, it was actually made by @tomnomnom in NahamCon2021 https://www.youtube.com/watch?v=Gv1nK6Wj8qM I

Dec 25, 2022
Dec 28, 2022
SSRFuzz is a tool to find Server Side Request Forgery vulnerabilities, with CRLF chaining capabilities

SSRFuzz is a tool to find Server Side Request Forgery vulnerabilities, with CRLF chaining capabilities Why?

Dec 8, 2022
🔎 Help find Trojan Source vulnerability in code 👀 . Useful for code review in project with multiple collaborators

TrojanSourceFinder TrojanSourceFinder helps developers detect "Trojan Source" vulnerability in source code. Trojan Source vulnerability allows an atta

Nov 9, 2022
Signing prototype

sigstore signing CLI tool ⚠️ Not ready for use yet! sigstore CLI is a generic tool to sign blobs, tarballs etc and establish a trust root using the si

Dec 18, 2022
A fast tool to mass scan for a vulnerability on Microsoft Exchange Server that allows an attacker bypassing the authentication and impersonating as the admin (CVE-2021-26855).
A fast tool to mass scan for a vulnerability on Microsoft Exchange Server that allows an attacker bypassing the authentication and impersonating as the admin (CVE-2021-26855).

proxylogscan This tool to mass scan for a vulnerability on Microsoft Exchange Server that allows an attacker bypassing the authentication and imperson

Dec 26, 2022
A fast tool to scan CRLF vulnerability written in Go
A fast tool to scan CRLF vulnerability written in Go

CRLFuzz A fast tool to scan CRLF vulnerability written in Go Resources Installation from Binary from Source from GitHub Usage Basic Usage Flags Target

Jan 1, 2023
Nuclei is a fast tool for configurable targeted vulnerability scanning based on templates offering massive extensibility and ease of use.
Nuclei is a fast tool for configurable targeted vulnerability scanning based on templates offering massive extensibility and ease of use.

Fast and customisable vulnerability scanner based on simple YAML based DSL. How • Install • For Security Engineers • For Developers • Documentation •

Dec 30, 2022
Proof-of-Concept tool for CVE-2021-29156, an LDAP injection vulnerability in ForgeRock OpenAM v13.0.0.

CVE-2021-29156 Proof-of-Concept (c) 2021 GuidePoint Security Charlton Trezevant [email protected] Background Today GuidePoint

Apr 13, 2022
A tool for checking log4shell vulnerability mitigations

log4shell-ldap A tool for checking log4shell vulnerability mitigations. Usage: Build a container image: docker build . -t log4shell Run it: docker run

Jul 15, 2022