• Python Ethical Hacking


    Polish the Python code using sending requests in a session

    Class Scanner.

    #!/usr/bin/env python
    
    import requests
    import re
    from urllib.parse import urljoin
    
    
    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('(?:href=")(.*?)"', response.content.decode(errors='ignore'))
    
        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 = urljoin(url, link)
    
                if "#" in link:
                    link = link.split("#")[0]
    
                if self.target_url in link and link not in self.target_links and link not in self.links_to_ignore:
                    self.target_links.append(link)
                    print(link)
                    self.crawl(link)

    Vuln_scanner.

    #!/usr/bin/env python
    
    import scanner
    
    target_url = "http://10.0.0.45/dvwa/"
    links_to_ignore = "http://10.0.0.45/dvwa/logout.php"
    
    data_dict = {"username": "admin", "password": "password", "Login": "submit"}
    
    vuln_scanner = scanner.Scanner(target_url, links_to_ignore)
    vuln_scanner.session.post("http://10.0.0.45/dvwa/login.php", data=data_dict)
    
    vuln_scanner.crawl()

    The program runs fine.

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    BGP的属性与配置
    IS-IS协议的简单设置
    ospf中建立虚链路、ospf与rip的重分发 stup与nssa区域的建立
    静态路由 默认路由 浮动路由配置
    centos7防火墙机制iptables与ebtables差别
    centos7虚拟机qemu学习
    centos7安装vncserver(windows控制其图形化界面)
    centos7虚拟机扩容
    centos7安装graylog
    centos7修改网卡
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/11707817.html
Copyright © 2020-2023  润新知