4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / 02_Proof_of_Concept.md MD
Question 2. For a published CVE of your choosing perform one of the following tasks
  Write proof of concept/exploit code for the vulnerability. You may use any language and may but are not required to use an AI coding assistant like GitHub Copilot, Cursor, Codeium etc. If you use an AI assist please include a brief (1-3 sentence) description of that experience. You may write the code in any language.

For a CVE with already published proof of concept/exploit code, write a brief document explaining what the code is doing and how it exploits the vulnerability. Use snippets of the code and examples of the exploit in action as needed.

Answer of question 2:-

Prototype for the CVE:- CVE-2025-32013 POC/exploit will highlight the high-level algorithm of how the vulnerability can be identified through automation

Client definition:-

1. Define various type of client module such as web application, mobile application, enterprise application, teller application
2. Generate a login method that will AuthN client to the centralised bank webservers
3. The login method use will be LNURL-auth that is a generic authentication protocol and network AuthN using mTLS with the LB

Payload creation:-

1. Generate a file that will maintain all the SSRF, RCE, LFI, RFI payloads. The file can be. a text file or JSION file
2. Generate a file that will maintain all the application absolute path and API endpoint call with request parameter having CALLBACK_URL parameter etc. This will be manually maintained by the developer
3. Generate a file that will maintain the default request header, session cookie value

Application spidering:-

1. AuthN the client using the CURL POST method and store the cookie value
2. Create a method that will call the CURL request with GET, POST, DELETE method with valid active session cookie to API endpoint that is manually created

    a. Response of 200 OK or 302 or 301 should be captured that has location value in the response header, redirect call (by functions such as eval, windows.location etc function call) in the response body

3. Create a method that will call the CURL request with GET, POST, DELETE method with valid active session cookie to API endpoint default page

    a. Response of 302, 301 should again have a call in the redirect request value URI
   
    b. Response with 200 ok or 400 bad request should be analysed. Grab the redirect page and make the call
   
    c. Create a method that will grab all the FORM filed item and submit the request with blank values
  
4. Maintain a JSON file at client end that will keep a TREE structure call list of all spider API calls that is obtained in step 2 & 3

Payload Initiation:-

1. Create a method that will open the JSON file in READ mode. READ the file until EOF or NULL character
2. Create a method that will open the payload creation file in READ mode
3. Write a FOR loop that will run until all the request READ is complete in JSON file

    a. Write a method that will call the SPLIT, SUBSTRING, LENGTH, domain validation function to identify and count each request parameter and its values in each API call
   
    b. Store all the parameter values in the array or LIST variable

    c. Run a WHILE loop till payload creation file is empty or TRUE

       i. Read the API endpoint from the JSON file

       ii. Search for CALLBACK_URL parameter in the request

       iii. Replace CALLBACK_URL parameter with the payload creation value

       iv. Call the CURL request for the modified request of step iii with valid session id

       v. Search for other request parameter from the API endpoint as maintained in the LIST or array

       vi. Replace other request parameter with the payload creation value

       vii. Call the CURL request for the modified request of step vi with valid session id

       viii. Store all the application responses in JSON or TXT format and stored in the TMP place

           1. Responses with 200 OK will be maintained in separate file and each one will be maintained in JSON node or TXT numbering

           2. Responses with 400 bad request will be maintained separately

           3. Responses with 401 will be maintained separately

           4. Responses with 302 will be maintained separately

     d. Close the WHILE Loop
   
4. Increment the FOR loop

5. Close the FOR loop

6. Write a method that will open the RESPONSE file in READ mode from the TMP location
   
   a. Invoke the file of 200 OK response code
   
   b. Read the FILE!=NULL or if EXIST
   
   c. Write a IF-ELSE logic

     i. If the content-length value is more than 3000

         1. If CALLBACK_URL is present in the response body

           1.a. If CALLBACK_URL parameter has value>=10

           1.b. Grab the JSON node or TXT numbering and write in BUFFER file as issue

         2. Else return no data in CALLBACK_URL

    ii. Else return no response body
   
   d. Close the file

   e. Flush the file

Attack Detection:-

1. Read the BUFFER and save the BUFFER in file
2. Display the JSON file in HTML format on the client as POC

Attack Mapping:-
1. Map the issue with CWE from the NVD database