BillDask Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 Χαιρετώ, κάνω μια πιστοποίηση ασφάλειας και έχω το εξής θέμα. Ο SQLite <=1.9.3 είναι ευάλωτος και μπορείς να εισάγεις PHP κώδικα σε table και να το τρέξεις από το URL. πληροφορίες εδώ: https://www.exploit-db.com/exploits/24044/ στο παράδειγμα που έχει το <?php phpinfo()?> όντος δουλεύει πηγαίνοντας στο URL πχ. vulnerablesite.com/database/evil.php και δείχνει τα σχετικά με την php. το πρόβλημα που συναντάω είναι με τον ακόλουθο κώδικα. <?php echo shell_exec($_GET['e']); ?> μου βγάζει error κατά την εκτέλεση από το URL: Parse error: syntax error, unexpected 'e' (T_STRING), expecting ']' in var/www/database/evil.php on line 2 Τι του φταίει; θέλει escape characters; Ευχαριστώ.
defacer Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 Μερικά σχόλια Το πρόβλημα δεν είναι της sqlite. Το πρόβλημα δεν είναι καν του phpliteadmin. Το παλικάρι που έκανε report "exploit" ήταν μάλλον... ιδιαίτερα excitable. Αν ως server admin έχεις σετάρει οποιαδήποτε εφαρμογή να γράφει χωρίς περιορισμούς αρχεία σε μέρος που είναι όχι μόνο προσβάσιμα από το internet αλλά μάλιστα και εκτελέσιμα μέσω php, κάποιος που έχει κανονικά και με το νόμο πρόσβαση σε αυτή την εφαρμογή μπορεί να κάνει μαλακία. Αυτό δε λέγεται exploit, λέγεται ο admin είναι παντελώς ανίκανος. Δε μπορώ λοιπόν να καταλάβω γιατί χάνεις το χρόνο σου μ' αυτό, αλλά όσον αφορά την ερώτησή σου: απλά πόσταρε το evil.php για να μη χρειάζεται να μαντεύουμε.
BillDask Δημοσ. 4 Απριλίου 2016 Μέλος Δημοσ. 4 Απριλίου 2016 Μέσα σε όσα έχει αυτή η πιστοποίηση O S C P περιλαμβάνει, εκτός από exploits buffer overflows κλπ, και το να έχει κάνει μ@λακίες ο admin. Το evil.php το κατέβασα μέσω κάποιας άλλης ευπάθειας: μέρος του κώδικα: SQLite format 3tableshellshellCREATE TABLE 'shell' ('shell' TEXT default '<?php echo shell_exec($_GET[''e'']); ?>') βλέπω ότι έχει βάλει και άλλα μονά quotes χμμμ
defacer Δημοσ. 4 Απριλίου 2016 Δημοσ. 4 Απριλίου 2016 1. Βάλε όλα τα prerequisites σε ένα μηχάνημα που ελέγχεις και δες το απο κει. Αν κάποια στιγμή βρεθείς να κάνεις αυτό το πράγμα επαγγελματικά και κολλήσεις, τι θα κάνεις, θα ρωτάς στο insomnia? 2. Αφού γράφεις PHP κώδικα και μπορείς να γράψεις ο,τι θες, πόσο δύσκολο μπορεί να είναι; <?php echo "\n\n".base64_encode(file_get_contents(__FILE__)); die; ?> Πάρε το αρχείο και δες ακριβώς τι συμβαίνει εκει μέσα.
BillDask Δημοσ. 4 Απριλίου 2016 Μέλος Δημοσ. 4 Απριλίου 2016 (επεξεργασμένο) έχω παραθέσει τον κώδικα έχει βάλει και άλλα quotes Πάντως ευχαριστώ για το σχόλιο, μου έδωσες μια ιδέα, έκανα encode το shellcode σε base64 και μετά decode από την php. Επεξ/σία 4 Απριλίου 2016 από BillDask
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα