• Web sayt zaifligini aniqlash uchun javoblarni tahlil qilish
  • Foydalanilgan adabiyotlar
  • Zaiflikni aniqlash uchun payloads yuborish




    Download 3,04 Mb.
    bet4/4
    Sana28.05.2024
    Hajmi3,04 Mb.
    #256137
    1   2   3   4
    Bog'liq
    1711995085 (1)

    Zaiflikni aniqlash uchun payloads yuborish.

    ""


    Zaiflikni aniqlash uchun boshlanishiga judda sodda yuqorida ko’rsatilgan scriptni yuborib ko’ramiz


    def test_xss_in_link(self, url):


    xss_test_script = ""
    url = url.replace("=", "=" + xss_test_script)
    response = self.session.get(url)
    return xss_test_script in response.content

    def test_xss_in_form(self, form, url):


    xss_test_script = ""
    response = self.submit_from(form, xss_test_script, url)
    return xss_test_script in response.content



    1. Web sayt zaifligini aniqlash uchun javoblarni tahlil qilish

    def run_scanner(self):


    for link in self.target_links:
    forms = self.extract_forms(link)
    for form in forms:
    print("[+] Testing form in " + link)
    is_vulnerable_to_xss = self.test_xss_in_link(link)
    if is_vulnerable_to_xss:
    print("\n\n[***] XSS zaiflik aniqlandi " + link)
    print(form)

    if "=" in link:


    print("[+] Testing " + link)
    is_vulnerable_to_xss = self.test_xss_in_link(link)
    if is_vulnerable_to_xss:
    print("[***] XSS zaiflik aniqlandi " + link)

    run_scanner methodimizni ham takomillashtirdik Endilikda XSS zaiflik aniqlangada bizga xabar beradi


    Kodimizni ishga tushiramiz

    Quyida dastur kodini ilova qilaman:

    #!/usr/bin/env/ python


    import requests
    import re
    import urlparse
    from bs4 import BeautifulSoup
    class Scanner:
    def __init__(self, url, ignore_links):
    self.session = requests.Session()
    self.target_url = url
    self.target_links = []
    self.links_to_ignore = ignore_links
    def extract_links_from(self, url):
    response = self.session.get(url)
    return re.findall(b'(?:href=")(.*?)"', response.content)
    def crawl(self, url=None):
    if url == None:
    url = self.target_url
    href_links = self.extract_links_from(url)
    for link in href_links:
    link = urlparse.urljoin(url, link)
    if "#" in link:
    link = link.split("#")[0]

    if self.target_url in link and link not in self.target_links not in self.links_to_ignore:


    self.target_links.append(link)
    print(link)
    self.crawl(link)
    def extract_forms(self, url):
    response = self.session.get(url)
    parsed_html = BeautifulSoup(response.content, 'html.parser')
    return parsed_html.find_all("form")
    def submit_from(self, form, value, url):
    print(form)
    action = form.get("action")
    post_url = urlparse.urljoin(url, action)
    print(post_url)
    method = form.get("method")

    inputs_list = form.find_all("input")


    post_data = {}
    for input in inputs_list:
    input_name = input.get("name")
    input_type = input.get("type")
    input_value = input.get("value")
    if input_type == "text":
    input_value = value

    post_data[input_name] = input_value


    if method == 'post':
    return self.session.post(post_url, data=post_data)
    return self.session.get(post_url, params=post_data)
    def run_scanner(self):
    for link in self.target_links:
    forms = self.extract_forms(link)
    for form in forms:
    print("[+] Testing form in " + link)
    is_vulnerable_to_xss = self.test_xss_in_link(link)
    if is_vulnerable_to_xss:
    print("\n\n[***] XSS zaiflik aniqlandi " + link)
    print(form)

    if "=" in link:


    print("[+] Testing " + link)
    is_vulnerable_to_xss = self.test_xss_in_link(link)
    if is_vulnerable_to_xss:
    print("[***] XSS zaiflik aniqlandi " + link)
    def test_xss_in_link(self, url):
    xss_test_script = ""
    url = url.replace("=", "=" + xss_test_script)
    response = self.session.get(url)
    return xss_test_script in response.content

    def test_xss_in_form(self, form, url):


    xss_test_script = ""
    response = self.submit_from(form, xss_test_script, url)
    return xss_test_script in response.content


    Xulosa

    Web saytdagi zaiflikni topishni avtamatlashtirish uchun biz avvalambor Web sayt haqida ma’lumot yig’ib sayt xaritasini tuzib chiqishimiz kerak ekan


    Web saytlardagi zaifliklar qanday zaiflik bo’lishidan qat’iy nazar, umumiy bosqichlar bir xil ekan. Biz yozgan dastur deyarli universal bo’ldi. Keyinchalik biz yana boshqa zaiflik haqida eshitib qolsak uni o’rganib osonlikcha kodimizga qo’shib qo’ya olar ekanmiz.Masalan SQL injection zaifligini aniqlash uchun kodimizga biroz qo’shimcha kiritsak yetarli bo’lar ekan.




    Foydalanilgan adabiyotlar



    1. Metasploit: The Penetration Tester's Guide (David Kennedy, Jim O'Gorman, Devon Kearns, Mati Aharon)

    2. https://cwgsecurity.uz/

    3. https://fork-portal.ru/

    Download 3,04 Mb.
    1   2   3   4




    Download 3,04 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Zaiflikni aniqlash uchun payloads yuborish

    Download 3,04 Mb.