ვებ აპლიკაციების ჰაკერების მეთოდოლოგია

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

ვებ პროგრამების არქიტექტურა შედგება:

  • კლიენტი / პრეზენტაციის ფენა
  • ბიზნეს ლოგიკის ფენა
  • მონაცემთა ბაზის ფენა

კლიენტი / პრეზენტაციის ფენა შედგება მოწყობილობებისგან, რომლებზეც მუშაობს პროგრამა. ასეთ მოწყობილობებში შედის ლაპტოპები, პლანშეტები, სმარტფონები და ა.შ.

ბიზნეს ლოგიკის ფენას აქვს ორი ფენა:


  • ვებ – სერვერის ლოგიკური შრე, რომელიც შედგება კომპონენტებისგან, რომლებიც ამუშავებენ მოთხოვნებსა და პასუხებს, და კოდირებისას, რომელიც კითხულობს და უბრუნებს მონაცემებს ბრაუზერში.


  • ბიზნეს ლოგიკის ფენა, რომელიც შეიცავს პროგრამის მონაცემებს



მონაცემთა ბაზის ფენა შედგება B2B ფენისგან და მონაცემთა ბაზის სერვერისაგან, რომელშიც ინახება ორგანიზაციის მონაცემები.

ვებ – პროგრამების საფრთხეები და თავდასხმები

OWASP არის ღია საზოგადოება, რომელიც ორგანიზაციებს საშუალებას აძლევს შექმნან, განავითარონ, შეიძინონ, იმოქმედონ და შეინარჩუნონ საიმედო პროგრამები.

OWASP ტოპ 10 პროექტი აწარმოებს დოკუმენტს, რომელიც აღწერს 10 საუკეთესო პროგრამის უსაფრთხოების საფრთხეებს.

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

ინექცია

ინჟექციური შეტევა არის შეტევა, რომლის დროსაც თავდამსხმელი ახდენს მავნე მონაცემების შეყვანას ბრძანებებსა და მოთხოვნებში, რომლებიც შემდეგ შესრულდება პროგრამაში.

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

ყველაზე ხშირად გამოყენებული ინექციური შეტევებია:

  • SQL ინჟექტორი არის შეტევა, რომელშიც თავდამსხმელი აყენებს მავნე SQL მოთხოვნებს პროგრამაში
  • ბრძანების ინექცია არის შეტევა, რომლის დროსაც თავდამსხმელი აყენებს მავნე ბრძანებებს პროგრამაში
  • LDAP ინექცია არის შეტევა, რომელშიც თავდამსხმელი აყენებს მავნე LDAP განცხადებებს პროგრამაში

გატეხილი ავთენტიფიკაცია

გატეხილი ავტორიზაცია გულისხმობს საფრთხეებს და სისუსტეებს ავტორიზაციის და სესიის მენეჯმენტში.

თავდამსხმელები იყენებენ ამ დაუცველობებს მათი სამიზნეების იმიტაციისთვის.

ზოგიერთი არსებული სისუსტე მოიცავს:

  • სესიის ID– ები URL– ში
  • დაშიფრული პაროლები
  • არასწორად დაყენებულია ტაიმაუტი

მგრძნობიარე მონაცემების ზემოქმედება

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

ეს დაუცველობა საშუალებას აძლევს თავდამსხმელებს ადვილად გატეხონ დაშიფვრა და მოიპარონ მონაცემები.

XML გარე პირი

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

გაფუჭებული წვდომის კონტროლი

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

უსაფრთხოების არასწორი კონფიგურაცია

უსაფრთხოების არასწორი კონფიგურაცია გულისხმობს სისუსტეებს, რომლებიც არსებობს პროგრამებში ცუდად კონფიგურირებული პროგრამის დასტით.

ზოგიერთი პრობლემა, რომლებიც იწვევს უსაფრთხოების არასწორი კონფიგურაციის სისუსტეებს, მოიცავს:

  • შეუფერხებელი შეყვანის ველები
  • ფორმით და პარამეტრებით მანიპულირება
  • ცუდი შეცდომის დამუშავება

Cross-Site Scripting (XSS)

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

დაუცველი დესერიალიზაცია

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

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

კომპონენტების გამოყენება ცნობილი დაუცველობით

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

არასაკმარისი ხე და მონიტორინგი

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

ჰაკერების მეთოდოლოგია

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

ეს ნაბიჯებია:

ვებ-ინფრასტრუქტურის ნაკვალევი

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

ამ პროცესში თავდამსხმელი ასრულებს:

  • სერვერის აღმოჩენა სერვერების შესახებ, რომლებიც მასპინძლობს პროგრამას
  • სერვისის აღმოჩენა იმის დასადგენად, რომელ მომსახურებაზე შეიძლება განხორციელდეს თავდასხმა
  • სერვერის იდენტიფიკაცია სერვერის შესახებ ისეთი ინფორმაციის გასაცნობად, როგორიცაა ვერსია და make
  • დამალული შინაარსის აღმოჩენა ფარული შინაარსის აღმოსაჩენად

ვებ სერვერის შეტევა

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

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

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

აპლიკაციის გასატეხად თავდამსხმელებმა უნდა:

  • მომხმარებლის შეყვანის შესვლის წერტილების იდენტიფიცირება
  • დინამიური ვებ – გვერდების წარმოებისთვის გამოყენებული სერვერის ტექნოლოგიების იდენტიფიცირება
  • იდენტიფიცირება სერვერის მხრიდან ფუნქციონირება
  • იდენტიფიცირება თავდასხმის ადგილებში და მასთან დაკავშირებული მოწყვლადობა

კლიენტის მხრიდან აკონტროლებს თავიდან აცილებას

თავდამსხმელები ცდილობენ გვერდის ავლით მოახდინონ მომხმარებლის მიერ მომხმარებლის საშუალებების კონტროლი და ურთიერთქმედება.

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

  • თავდასხმის ფორმის დამალულ ველებს
  • შეტევა ბრაუზერის გაფართოებებზე
  • გადახედეთ კოდს

ავთენტიფიკაციის შეტევები

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

ამგვარი მოწყვლადობის გამოყენებით, თავდამსხმელებს შეუძლიათ შეასრულონ:

  • მომხმარებლის სახელის ჩამოთვლა
  • პაროლის შეტევები
  • სესიის შეტევები
  • მოქმედი ორცხობილა

ავტორიზაციის შეტევები

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

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

  • სიძულვილი
  • პარამეტრის შეცვლა
  • POST მონაცემები
  • HTTP სათაურები
  • ფუნთუშა
  • დამალული ტეგები

წვდომის კონტროლის შეტევები

თავდამსხმელები აანალიზებენ სამიზნე ვებსაიტს და ცდილობენ გაეცნონ დეტალებს განხორციელებული წვდომის კონტროლის შესახებ.

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

სესიის მენეჯმენტის შეტევები

თავდამსხმელები იყენებენ სისუსტეებს ავთენტიფიკაციისა და სესიის მენეჯმენტში, მათი მიზნების იმიტირებისთვის.

მოქმედი სესიის სიმბოლოს შექმნის პროცესი ორი ეტაპისგან შედგება:

  • სესიის ჟეტონის წინასწარმეტყველება
  • სესიის ნიშნების შეცვლა

მოქმედი ნიშნად თავდამსხმელებს შეუძლიათ შეასრულონ ისეთი შეტევები, როგორიცაა MITM, სხდომის გატაცება და სხდომის განმეორება.

ინექციური შეტევები

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

განაცხადის ლოგიკა მოწყვლადობის ექსპლუატაცია

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

მონაცემთა ბაზასთან კავშირის შეტევები

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

ვებ – სერვისების შეტევები

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

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