zoukankan      html  css  js  c++  java
  • 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.

    相信未来 - 该面对的绝不逃避,该执著的永不怨悔,该舍弃的不再留念,该珍惜的好好把握。
  • 相关阅读:
    PHP全部手册
    你必须收藏的GitHub技巧
    PV和并发
    api接口
    LeetCode 14. 最长公共前缀
    LeetCode 1037. 有效的回旋镖
    LeetCode 242. 有效的字母异位词
    LeetCode 151. 翻转字符串里的单词
    LeetCode 22. 括号生成
    LeetCode 面试题05. 替换空格
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/11707817.html
Copyright © 2011-2022 走看看