Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
exploit-writing-for-oswe — Suggerimenti su come scrivere script di exploit (più velocemente!) | Kitploit
Strumenti/GitHubGitHub/rizemon/exploit-writing-for-oswe
Scripting e AutomazioneSfruttamento di Applicazioni WebSicurezza WebPenetration TestingApprendimento e FormazioneRisorse CurateSviluppo Payload
GitHubrizemon/exploit-writing-for-oswe

exploit-writing-for-oswe

Suggerimenti su come scrivere script di exploit (più velocemente!)

Vedi Repository
591112162 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Scrittura di Exploit per OSWE

Contesto

Cosa

Questa repository contiene un elenco di snippet e suggerimenti utili riguardanti la scrittura di script di exploit nei laboratori e nell'esame di certificazione OSWE.

Alcuni esempi qui riportati potrebbero andare contro alcune pratiche di programmazione, ma il nostro obiettivo finale è scrivere lo script di exploit in modo rapido e corretto.

La sezione Frammenti di codice è un ottimo punto di partenza se non hai esperienza nell'uso della libreria requests o sei nuovo a Python. In caso contrario, puoi passare direttamente alla sezione Codice riutilizzabile o alla sezione Suggerimenti.

Perché

  • Sebbene esistano molti write-up, recensioni e appunti sulla certificazione, poche risorse si concentrano specificamente sul processo di scrittura degli exploit.
  • Scrivere lo script di exploit può essere scoraggiante, soprattutto per chi è nuovo a Python o ha poca esperienza nell'interazione con applicazioni web tramite codice.
  • Il tempo dedicato all'identificazione delle vulnerabilità e alla documentazione del report d'esame può variare notevolmente, ma il tempo dedicato allo sviluppo dello script di exploit può essere ridotto al minimo e mantenuto costante se padroneggiato bene.

Indice

  • Scrittura di Exploit per OSWE
    • Contesto
      • Cosa
      • Perché
    • Indice
    • Frammenti di codice
      • Template iniziale
      • Import utili
      • Usare la libreria requests
        • Inviare la più semplice richiesta HTTP
        • Specificare diversi metodi HTTP
        • Leggere la risposta HTTP
        • Inviare dati come query string nell'URL (usando l'argomento params)
        • Inviare dati come query string nel corpo (usando l'argomento data)
        • Inviare dati come JSON nel corpo (usando l'argomento json)
        • Inviare un file nel corpo (usando l'argomento files)
        • Impostare gli header HTTP (usando l'argomento headers)
        • Impostare i cookie HTTP (usando l'argomento cookies)
        • Disabilitare il seguito dei redirect 3XX (usando l'argomento allow_redirects)
        • Interagire con un server HTTPS non verificato (usando l'argomento verify)
        • Inviare una richiesta attraverso un proxy HTTP (usando l'argomento proxies)
        • Creare una Session
        • Impostare cookie persistenti
        • Impostare header persistenti
      • Risoluzione dei problemi
        • Usare Wireshark e filtrare per richieste HTTP
        • Stampare il contenuto della richiesta HTTP
        • Inoltrare la richiesta HTTP attraverso Burp Suite e ispezionarla
      • Codice riutilizzabile
        • Servire file via HTTP
        • Rubare cookie HTTP
        • Accelerare le SQL injection
    • Suggerimenti
      • Eseguire un controllo di sanità dopo ogni richiesta HTTP usando assert
      • Stampare messaggi significativi dopo ogni passaggio
      • Separare ogni passaggio di sfruttamento in una propria funzione
      • Creare un oggetto Session globale in modo che non debba essere passato esplicitamente a ogni chiamata di funzione
      • Creare una stringa globale BASE_URL e costruire gli URL necessari a partire da essa
      • Per forzare tutte le richieste HTTP attraverso Burp Suite senza usare l'argomento proxies, imposta la variabile d'ambiente HTTP_PROXY / HTTPS_PROXY all'esecuzione
      • Applica schemi di codifica/decodifica per consentire una trasmissione sicura dei payload
      • Usa """ per creare la stringa del payload se contiene sia apici singoli (') che doppi apici (\")
      • Accelera le SQL injection usando il multithreading
      • Codifica manualmente il cookie di un utente autenticato quando sviluppi exploit per funzionalità autenticate
      • Evita di usare f-strings (f"") o str.format se il payload contiene troppe graffe ({})

Frammenti di codice

Template iniziale

import requests

def main():
    print("Hello World!")

if __name__ == __main__:
    main()

Import utili

# For sending HTTP requests
import requests

# For Base64 encoding/decoding
from base64 import b64encode, b64decode, urlsafe_b64encode, urlsafe_b64decode

# For getting current time or for calculating time delays
from time import time

# For regular expressions
import re

# For running shell commands
import subprocess

# For multithreading
from concurrent.futures import ThreadPoolExecutor

# For running a HTTP server in the background
import threading
from http.server import HTTPServer, BaseHTTPRequestHandler

# For parsing HTTP cookies
from http import cookies

# For getting command-line arguments
import sys

Usare la libreria requests

Inviare la più semplice richiesta HTTP

resp_obj = requests.get("https://github.com")

Specificare diversi metodi HTTP

# GET method
requests.get("https://github.com")

# POST method
requests.post("https://github.com")

# PUT method
requests.put("https://github.com")

# PATCH method
requests.patch("https://github.com")

# DELETE method
requests.delete("https://github.com")

Leggere la risposta HTTP

resp_obj = requests.get("https://github.com")

# HTTP status code (e.g 404, 500, 301)
resp_obj.status_code

# HTTP response headers (e.g Location, Content-Disposition)
resp_obj.headers["Location"]

# Body as bytes
resp_obj.content

# Body as a string
resp_obj.text
Scarica lo strumento