dahua-backdoor-PoC.py 文件源码

python
阅读 32 收藏 0 点赞 0 评论 0

项目:PoC 作者: mcw0 项目源码 文件源码
def Send(self, uri, query_headers, query_data,ID):
        self.uri = uri
        self.query_headers = query_headers
        self.query_data = query_data
        self.ID = ID

        # Connect-timeout in seconds
        timeout = 5
        socket.setdefaulttimeout(timeout)

        url = '{}://{}{}'.format(self.proto, self.host, self.uri)

        if self.verbose:
            print "[Verbose] Sending:", url

        if self.proto == 'https':
            if hasattr(ssl, '_create_unverified_context'):
                print "[i] Creating SSL Unverified Context"
                ssl._create_default_https_context = ssl._create_unverified_context

        if self.credentials:
            Basic_Auth = self.credentials.split(':')
            if self.verbose:
                print "[Verbose] User:",Basic_Auth[0],"Password:",Basic_Auth[1]
            try:
                pwd_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
                pwd_mgr.add_password(None, url, Basic_Auth[0], Basic_Auth[1])
                auth_handler = urllib2.HTTPBasicAuthHandler(pwd_mgr)
                opener = urllib2.build_opener(auth_handler)
                urllib2.install_opener(opener)
            except Exception as e:
                print "[!] Basic Auth Error:",e
                sys.exit(1)

        if self.query_data:
            request = urllib2.Request(url, data=json.dumps(self.query_data), headers=self.query_headers)
        else:
            request = urllib2.Request(url, None, headers=self.query_headers)
        response = urllib2.urlopen(request)
#       print response
        if response:
            print "[<] {} OK".format(response.code)

        if self.Raw:
            return response
        else:
            html = response.read()
            return html
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号