RapiDAST provides a framework for continuous, proactive and fully automated dynamic scanning against web apps/API.

Overview

RapiDAST

RapiDAST provides a framework for continuous, proactive and fully automated dynamic scanning against web apps/API.

Its core engine is OWASP ZAP Proxy (https://owasp.org/www-project-zap/). Taking advantage of the ZAP container, this project provides value as follows:

  • Easy automation(via fully working in CLI with yaml configuration) of API scanning based on OAS definition
  • Create users' own custom rules via yaml files
  • XML, HTML, JSON report generation

Prerequisites

podman or docker is required.

For podman

$ pip3 install podman-compose
$ podman pull docker.io/owasp/zap2docker-stable

Quick Scan Example(using podman)

  1. Get a URL for the OAS3 definition file
  2. Get a URL for the target API
  3. Create config.yaml with the URLs and place it in config/
  4. zaproxy container must be running (either runenv.sh or runenv-debug.sh)
$ ./runenv.sh

Run in the project root directory,

$ test/scan-example-with-podman.sh 
   

   

When a scan is completed, its report will be generated in the results/

Example

$ test/scan-example-with-podman.sh testrun                
Deleting previously generated scripts                                              
Loading the script to ZAP                                                          
Templating script Rule_Gen_05eec230-5ba0-4bf5-b1d0-43268b8542d2                    
Loading script Rule_Gen_05eec230-5ba0-4bf5-b1d0-43268b8542d2 in ZAP from /tmp/Rule_Gen_05eec230-5ba0-4bf5-b1d0-43268b8542d25k5s0yj7.js                                 
Enabling script Rule_Gen_05eec230-5ba0-4bf5-b1d0-43268b8542d2 in ZAP               
Script Rule_Gen_05eec230-5ba0-4bf5-b1d0-43268b8542d2 successfully loaded and enabled                                                                                   
Creating session in: /zap/results/testrun/sessions/20211210-041924/session1          
Excluded URLs: ^(?:(?!http://192.168.109.202:9000).*).$                               
Include URL in context: http://192.168.109.202:9000/api/.*                            
Exclude URL from context:                                                          
Importing API: /zap/config/oas/openapi.json                                        
>> Target Url: http://192.168.109.202:9000                                            
Start Active scan. Scan ID equals 0                                                
Scan Policies: ['API-minimal-example']                                             
Active Scan progress: 0%                                                           
Active Scan completed                                                                                                                                                  
Waiting for Passive Scan to complete                                                                                                                                   
Passive Scan completed                                                             
XML report saved in: /zap/results/testrun/demo1-report-20211210-041924.xml

$ ls -al results/testrun
total 48
-rw-r--r--. 1 fedora fedora 9198 Dec 13 08:11 demo1-report-20211210-041924.xml
drwxr-xr-x. 7 fedora fedora  140 Dec 13 08:11 sessions

Usage

podman

Run as daemon

Run a container

$ podman-compose -f podman-compose.yml up 
$ podman unshare chown 1000 ./results (podman bind volumes as container root while the app runs as container zap user)

Launch a scan

$ podman exec zaproxy python /zap/scripts/apis_scan.py 
   

   

Stopping Environments

$ podman-compose -f podman-compose.yml down

Run with GUI (useful for debugging)

This is taking advantage of ZAP's webswing feature. See https://www.zaproxy.org/docs/docker/webswing/.

Run a container

$ podman-compose -f podman-compose-ui.yml up 
$ podman unshare chown 1000 ./results (podman bind volumes as container root while the app runs as container zap user)

After the step, it is necessary to navigate to the GUI via http://127.0.0.1:8081/zap to start an actual ZAP instance.

Create a custom rule

It is possible to create a custom rule yaml file and apply to the ZAP instance. Refer to a few examples of the yaml rule files in the scripts/gen-zap-script/rules directory.

Apply custom rules to the running ZAP instance before launching a scan.

Example: Load and enable custom rule
$ podman exec zaproxy python scripts/gen-zap-script/cli.py --from-yaml scripts/gen-zap-script/rules/software_version_revealed.yaml --api-key=
   
     --load-and-enable 

   
Example: Delete existing custom rules
$ podman exec zaproxy python scripts/gen-zap-script/cli.py --api-key=
   
     --delete

   

Launch a scan

$ podman exec zaproxy python /zap/scripts/apis_scan.py 
   

   

Stopping Environments

$ podman-compose -f podman-compose-ui.yml down

docker

Run as daemon

Run a container

$ docker-compose up zaproxy 

Launch a scan

$ docker-compose exec zaproxy python /zap/scripts/apis_scan.py 
   

   

Stopping Environments

$ docker-compose down

Run with GUI (useful for debugging)

This is taking advantage of ZAP's webswing feature. See https://www.zaproxy.org/docs/docker/webswing/.

Run a container

$ docker-compose up zaproxy_ui

After the step, it is necessary to navigate to the GUI via http://127.0.0.1:8081/zap to start an actual ZAP instance.

Launch a scan

$ docker-compose exec zaproxy_ui python /zap/scripts/apis_scan.py 
   

   

Stopping Environments

$ docker-compose down
Comments
  • Add operator option to be used for deploying to Kubernetes/OCP environments

    Add operator option to be used for deploying to Kubernetes/OCP environments

    Adds helm operator that provides a controller that handles

    • RapiDAST - main CRD that manages running RapiDAST as a job on the cluster
    • ~~RapiDASTCC - provides PVC that is used by RapiDAST for persistence, along with a pod using the PVC for simple copying of artifacts produced by the jobs~~

    This operator code has been refactored to account for API_KEY option now as an environment variable. In the RapiDAST CRD, the boolean option for apiKeyRequired can be set to true. As implemented, this will create a secret, and the api key will have to be updated there manually.

    Feedback welcome.

    • Edit - Moved beyond needing the RapiDASTCC API. PVC now created as needed when creating RapiDASTs.
    opened by jpweiser 7
  • Unable to run zaproxy on mac m1 using docker and podman both.

    Unable to run zaproxy on mac m1 using docker and podman both.

    Hi,

    I got a Mac M1 recently and I am trying to run the zaproxy tests against a config by placing the open api url and target url as expected in the config/config.yml and then following steps below but getting the below error.

    Any help would be appreciated, thanks.

    rapidast (master %) $ docker-compose up zaproxy
    [+] Running 1/0
     ⠿ Container zaproxy  Created                                                                                                                                                                                                                                              0.1s
    Attaching to zaproxy
    
    

    Trying to run the scan as per the README file:

    $ docker-compose exec zaproxy python /zap/scripts/apis_scan.py reports                                                                                                                                        1
    Traceback (most recent call last):
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connection.py", line 174, in _new_conn
        conn = connection.create_connection(
      File "/usr/local/lib/python3.8/dist-packages/urllib3/util/connection.py", line 95, in create_connection
        raise err
      File "/usr/local/lib/python3.8/dist-packages/urllib3/util/connection.py", line 85, in create_connection
        sock.connect(sa)
    ConnectionRefusedError: [Errno 111] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connectionpool.py", line 703, in urlopen
        httplib_response = self._make_request(
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connectionpool.py", line 398, in _make_request
        conn.request(method, url, **httplib_request_kw)
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connection.py", line 239, in request
        super(HTTPConnection, self).request(method, url, body=body, headers=headers)
      File "/usr/lib/python3.8/http/client.py", line 1256, in request
        self._send_request(method, url, body, headers, encode_chunked)
      File "/usr/lib/python3.8/http/client.py", line 1302, in _send_request
        self.endheaders(body, encode_chunked=encode_chunked)
      File "/usr/lib/python3.8/http/client.py", line 1251, in endheaders
        self._send_output(message_body, encode_chunked=encode_chunked)
      File "/usr/lib/python3.8/http/client.py", line 1011, in _send_output
        self.send(msg)
      File "/usr/lib/python3.8/http/client.py", line 951, in send
        self.connect()
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connection.py", line 205, in connect
        conn = self._new_conn()
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connection.py", line 186, in _new_conn
        raise NewConnectionError(
    urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x4002245400>: Failed to establish a new connection: [Errno 111] Connection refused
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/usr/local/lib/python3.8/dist-packages/requests/adapters.py", line 440, in send
        resp = conn.urlopen(
      File "/usr/local/lib/python3.8/dist-packages/urllib3/connectionpool.py", line 785, in urlopen
        retries = retries.increment(
      File "/usr/local/lib/python3.8/dist-packages/urllib3/util/retry.py", line 592, in increment
        raise MaxRetryError(_pool, url, error or ResponseError(cause))
    urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=8090): Max retries exceeded with url: http://zap/JSON/core/action/newSession/?apikey=cnmeemn7jp7ijd8rl5u14q40v8&name=%2Fzap%2Fresults%2Freports%2Fsessions%2F20220419-170600%2Fsession1&overwrite=True (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x4002245400>: Failed to establish a new connection: [Errno 111] Connection refused')))
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "/zap/scripts/apis_scan.py", line 313, in <module>
        create_session(session_fullpath_name)
      File "/zap/scripts/apis_scan.py", line 17, in create_session
        zap.core.new_session(name=session_name, overwrite=True)
      File "/usr/local/lib/python3.8/dist-packages/zapv2/core.py", line 357, in new_session
        return six.next(six.itervalues(self.zap._request(self.zap.base + 'core/action/newSession/', params)))
      File "/usr/local/lib/python3.8/dist-packages/zapv2/__init__.py", line 200, in _request
        data = self._request_api(url, get)
      File "/usr/local/lib/python3.8/dist-packages/zapv2/__init__.py", line 180, in _request_api
        response = self.session.get(url, params=query, proxies=self.__proxies, verify=False)
      File "/usr/local/lib/python3.8/dist-packages/requests/sessions.py", line 542, in get
        return self.request('GET', url, **kwargs)
      File "/usr/local/lib/python3.8/dist-packages/requests/sessions.py", line 529, in request
        resp = self.send(prep, **send_kwargs)
      File "/usr/local/lib/python3.8/dist-packages/requests/sessions.py", line 645, in send
        r = adapter.send(request, **kwargs)
      File "/usr/local/lib/python3.8/dist-packages/requests/adapters.py", line 513, in send
        raise ProxyError(e, request=request)
    requests.exceptions.ProxyError: HTTPConnectionPool(host='127.0.0.1', port=8090): Max retries exceeded with url: http://zap/JSON/core/action/newSession/?apikey=cnmeemn7jp7ijd8rl5u14q40v8&name=%2Fzap%2Fresults%2Freports%2Fsessions%2F20220419-170600%2Fsession1&overwrite=True (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPConnection object at 0x4002245400>: Failed to establish a new connection: [Errno 111] Connection refused')))
    
    opened by anarang 6
  • URL Scanning Ability.

    URL Scanning Ability.

    Adding the ability to scan from URLs specified in a URL Scan config file that does not have an OAS definition. Note that the reason the importurls method has been added here is because the zap python API project currently does not support exim (the new ZAP addon for importing urls) and only makes use of the deprecated importurls addon. I've added support for exim imports instead in the new method.

    opened by rh-gtucker 4
  • Podman compose results user owned

    Podman compose results user owned

    Podman 3.1.0 and above support the "U" flag to change ownership of
    volumes.
    This makes the `unshare chown` unecessary when using podman >= 3.1
    IIUC, it does not affect older versions, which will simply ignore the
    unknown flag.
    
    opened by cedricbu 4
  • compose files clean up and API_KEY removal

    compose files clean up and API_KEY removal

    List of changes:

    • API_KEY was removed from config.yaml and moved to an env file
    • entrypoint.sh and entrypoint_ui.sh files created
    • config/requirements.txt was created
    • tty: true and stdin_open: true removed from compose files as they have no effect
    opened by lpardoRH 3
  • Actions

    Actions

    based on https://github.com/RedHatProductSecurity/rapidast/pull/14 so changes should be more easy to see once that PR is merged.

    Added rapidast-scan action as example

    opened by lpardoRH 2
  • Introducing a new podman wrapper

    Introducing a new podman wrapper

    The main reason for the wrapper is to avoid the need to run unshare, by formatting a defined user mapping, such that the zap user maps the host user. This way ZAP can write in the ./results share without needing to change ownership.

    source: https://github.com/containers/podman/blob/main/troubleshooting.md#39-podman-run-fails-with-error-unrecognized-namespace-mode-keep-iduid1000gid1000-passed In very recent podman version, this hack can be simplified.

    This change is backward compatible : nothing prevents the user to use any old methods for starting RapiDAST.

    Note: Unlike runenv.sh, this script does not attempt to stop the container in case it is already running. The reasoning is : if RapiDAST is currently undergoing a looooong scan, a user probably prefers the new command to fail, rather than cancelling the current scan. However, we could improve that.

    Other minor changes: In README.md:

    • removed the reference to [podman|docker] pull, as it refers to a different image, and afaik, will be done by the compose command
    • updated with the new command, removed references to unshare
    • few minor readability/consistency update

    In runenv.sh / runenv-ui.sh: echo "deprecated" message

    opened by cedricbu 1
  • Adding docker compose files and parameterized token authentication script

    Adding docker compose files and parameterized token authentication script

    • Adding a docker version for starting the zaproxy tool
    • Adding a parameterized http authentication script to be able to pass the parameters from the config where it wont be pushed to any repo accidentally

    For openshift console runs:

    HttpSenderScriptFilePath: 'scripts/add-token-cookie-param.js'
    HttpSenderScriptDescription: 'add a cookie to each HTTP request'
    HTTPParams: {"cookieName": 'openshift-session-token', "cookieVal": 'sha256~**'}
    
    opened by paigerube14 1
  • Applied pre-commit config to the existing changes

    Applied pre-commit config to the existing changes

    Some code was changed manually. So it needs some testing before merging. Please, review changes in python files carefully.

    During my work on the pre-commit fixes I found that some checks are not so convenient to use or they edit files which they shouldn't touch. Thus the pre-commit config was updated.

    The pydocstyle checks are still missing here:

    scripts/config.py:1 at module level:
            D100: Missing docstring in public module
    scripts/gen_zap_script/lib.py:1 at module level:
            D100: Missing docstring in public module
    scripts/gen_zap_script/lib.py:30 in private class `Script`:
            D205: 1 blank line required between summary line and description (found 0)
    scripts/gen_zap_script/lib.py:30 in private class `Script`:
            D212: Multi-line docstring summary should start at the first line
    scripts/gen_zap_script/lib.py:87 in public function `add_and_load_script`:
            D103: Missing docstring in public function
    scripts/gen_zap_script/lib.py:114 in public function `delete_all_loaded_scripts`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:1 at module level:
            D100: Missing docstring in public module
    scripts/apis_scan.py:18 in public function `create_session`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:38 in public function `enable_httpsender_script`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:61 in public function `create_context`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:158 in public function `enable_passive_scanner`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:164 in public function `import_urls`:
            D205: 1 blank line required between summary line and description (found 0)
    scripts/apis_scan.py:164 in public function `import_urls`:
            D212: Multi-line docstring summary should start at the first line
    scripts/apis_scan.py:171 in public function `get_apis`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:225 in public function `check_scan_id`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:232 in public function `start_active_scanner`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:295 in public function `start_spider`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:316 in public function `wait_for_passive_scanner`:
            D103: Missing docstring in public function
    scripts/apis_scan.py:326 in public function `generate_report`:
            D103: Missing docstring in public function
    scripts/gen_zap_script/lib_usage_example.py:1 at module level:
            D100: Missing docstring in public module
    scripts/gen_zap_script/lib_usage_example.py:6 in public function `js_passive_script_example`:
            D103: Missing docstring in public function
    scripts/gen_zap_script/lib_usage_example.py:22 in public function `js_active_script_example`:
            D103: Missing docstring in public function
    scripts/gen_zap_script/cli.py:1 at module level:
            D100: Missing docstring in public module
    scripts/gen_zap_script/cli.py:57 in public function `add_finding_group`:
            D103: Missing docstring in public function
    scripts/gen_zap_script/cli.py:101 in public function `ms_check`:
            D103: Missing docstring in public function
    scripts/gen_zap_script/cli.py:163 in public function `file_lines_or_default`:
            D103: Missing docstring in public function
    

    Looking for help with it.

    UPDATE: We decided to disable the docstring check and split from this task

    opened by feuillemorte 1
  • Remove

    Remove "unshare" mode on volume mount

    The results directory should not have the "U" unshare mode. The reason is that the ./test/scan-example-with-podman.sh script intends to create a child directory in results. "U" here removes ownership from the EUID too early, and it's not the right directory to unshare anyway. We want to unshare the child. This patch reverts the addition of "U" mode on the results mount.

    opened by sparticvs 1
  • Hardcoded API Key

    Hardcoded API Key

    FYI, I just noticed that there is a hardcoded API key on this line:

    https://github.com/RedHatProductSecurity/rapidast/blob/3e477d72cd5c1fb721a7775769def4d988926e6d/entrypoint.sh#L12

    /cc @jpweiser since it was your commit, you may care.

    opened by sparticvs 1
  • WIP: Added models and query object

    WIP: Added models and query object

    Added model and a query object. It can work with config data like this:

    Config:

    general:
      serviceName: 'demo1'
      resultDir: '/results/'
      # appDir: '/zap'
      localProxy: 
        http: "http://127.0.0.1:8090"
    

    The query:

    >>> config = Config(config_file=args.rapidast_config)
    >>> config.q.general.localProxy.http.value
    'http://127.0.0.1:8090'
    

    Also it supports another way to call it:

    >>> config.q["general"]["localProxy"]["http"].value
    'http://127.0.0.1:8090'
    

    (Please, see tests for additional examples)

    If there is no a key in the config, the chain won't fail with a python error, it will return None instead.

    >>> config.q.general.WRONG_KEY.localProxy.http.value
    None
    

    It will save us from ugly chains like:

    config.get("general", {}).get("localProxy", {}).get("http")
    

    and it will safe us from unexpected python errors if a key is not presented in the config file

    P.S. the PR is in progress, it needs additional work before final review

    opened by feuillemorte 4
Releases(v1.1.0)
  • v1.1.0(Jul 29, 2022)

    • RapiDAST can run as an operator on Kubernetes or OpenShift
    • added Containerfile for building an RapiDAST image
    • support URL based scanning
    • support scriptBased Authentication
    • added pre-commit config
    • added a Github Actions workflow example
    • issues have been fixed (see the commit logs for more information)
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Dec 21, 2021)

    RapiDAST v1.0.0 includes:

    • OpenAPI based scanning using OWASP ZAP with sample configuration and script files
    • OAUTH2 offline token handling for Script-based Authentication
    • Custom scanning rule generation
    • Support both docker and podman
    • Scanning report generation
    Source code(tar.gz)
    Source code(zip)
Owner
Red Hat Product Security
Red Hat Product Security
Red Hat Product Security
Ethereum transaction decoder (community version).

EthTx Community Edition Community version of EthTx transaction decoder Local environment For local instance, you need few things: Depending on your di

240 Dec 21, 2022
Providing DevOps and security teams script to identify cloud workloads that may be vulnerable to the Log4j vulnerability(CVE-2021-44228) in their AWS account.

We are providing DevOps and security teams script to identify cloud workloads that may be vulnerable to the Log4j vulnerability(CVE-2021-44228) in their AWS account. The script enables security teams

Mitiga 13 Jan 04, 2022
A simple automatic tool for finding vulnerable log4j hosts

Log4Scan A simple automatic tool for finding vulnerable log4j hosts Installation pip3 install -r requirements.txt Usage usage: log4scan.py [-h] (-f FI

Federico Rapetti 20018955 6 Mar 10, 2022
Python library to prevent XSS(cross site scripting attach) by removing harmful content from data.

A tool for removing malicious content from input data before saving data into database. It takes input containing HTML with XSS scripts and returns va

2 Jul 05, 2022
Quickstart resources for the WiFi Nugget, a cat themed WiFi Security platform for beginners.

Quickstart resources for the WiFi Nugget, a cat themed WiFi Security platform for beginners.

HakCat 62 Jan 08, 2023
WebLogic T3/IIOP RCE ExternalizableHelper.class of coherence.jar

CVE-2020-14756 WebLogic T3/IIOP RCE ExternalizableHelper.class of coherence.jar README project base on https://github.com/Y4er/CVE-2020-2555 and weblo

Y4er 77 Dec 06, 2022
Generate MIPS reverse shell shellcodes easily !

MIPS-Reverse MIPS-Reverse is a tool that can generate shellcodes for the MIPS architecture that launches a reverse shell where you can specify the IP

29 Jul 27, 2021
A python script to bypass 403-forbidden.

4nought3 A python script to bypass 403-forbidden. It covers methods like Host-Header Injections, Changing HTTP Requests Methods and URL-Injections. Us

11 Aug 27, 2022
Undetectable Keylogger that reports to Discord

FUD Keylogger That Reports To Discord This python script will capture all of the keystrokes within a given time frame and report them to a Discord Ser

Dimitris Kalopisis 36 Dec 20, 2022
集成crawlergo、xray、dirsearch、nmap等工具的src漏洞挖掘工具,使用docker封装运行;

tools下有几个工具,所以项目文件比较大,如果下载总是中断的话建议拆开下载各个项目然后直接拷贝dockefile和recon.py即可 0x01 hscan介绍 hscan是什么 hscan是一款旨在使用一条命令替代渗透前的多条扫描命令,通过集成crawlergo扫描和xray扫描、dirsear

102 Jan 04, 2023
A python script to decrypt media files encrypted using the Android application 'Decrypting 'LOCKED Secret Calculator Vault''. Will identify PIN / pattern.

A python script to decrypt media files encrypted using the Android application 'Decrypting 'LOCKED Secret Calculator Vault''. Will identify PIN / pattern.

3 Sep 26, 2022
NIVOS is a hacking tool that allows you to scan deeply , crack wifi, see people on your network

NIVOS is a hacking tool that allows you to scan deeply , crack wifi, see people on your network. It applies to all linux operating systems. And it is improving every day, new packages are added. Than

Error 263 Jan 01, 2023
A simple python script for hosting a Snowflake Proxy in your python program or with it's standalone cli

snowflake-cli Snowflake is a system to defeat internet censorship, made by Tor Project. The system works by volunteers who run the snowflake extension

Guilherme Paixão 6 Jul 14, 2022
RCE 0-day for GhostScript 9.50 - Payload generator

RCE-0-day-for-GhostScript-9.50 PoC for RCE 0-day for GhostScript 9.50 - Payload generator The PoC in python generates payload when exploited for a 0-d

534 Dec 14, 2022
LdapRelayScan - Check for LDAP protections regarding the relay of NTLM authentication

LDAP Relay Scan A tool to check Domain Controllers for LDAP server protections r

315 Dec 18, 2022
CVE-2021-26855: PoC (Not a HoneyPoC for once!)

Exch-CVE-2021-26855 ProxyLogon is the formally generic name for CVE-2021-26855, a vulnerability on Microsoft Exchange Server that allows an attacker b

ZephrFish 24 Nov 14, 2022
Spring Cloud Gateway < 3.0.7 & < 3.1.1 Code Injection (RCE)

Spring Cloud Gateway 3.0.7 & 3.1.1 Code Injection (RCE) CVE: CVE-2022-22947 CVSS: 10.0 (Vmware - https://tanzu.vmware.com/security/cve-2022-22947)

Carlos Vieira 35 Dec 28, 2022
cve-2021-21985 exploit

cve-2021-21985 exploit 0x01 漏洞点 分析可见: https://attackerkb.com/topics/X85GKjaVER/cve-2021-21985?referrer=home#rapid7-analysis 0x02 exploit 对beans对象进行重新构

xnianq 105 Nov 22, 2022
CVE 2020-14871 Solaris exploit

CVE 2020-14871 Solaris exploit This is a basic ROP based exploit for CVE 2020-14871. CVE 2020-14871 is a vulnerability in Sun Solaris systems. The act

Robin Massink 2 Oct 25, 2022
AIL LeakFeeder: A Module for AIL Framework that automate the process to feed leaked files automatically to AIL

AIL LeakFeeder: A Module for AIL Framework that automates the process to feed leaked files automatically to AIL, So basically this feeder will help you ingest AIL with your leaked files automatically

ail project 8 May 03, 2022