宝塔面板PMA漏洞批量扫描工具

#!/usr/bin/env python
# -*- coding:utf-8 -*-

"""
Author spkiddai
"""

import sys
import argparse
import requests
from multiprocessing import Pool, Manager

print("""
                __   .__    .___  .___      .__ 
  ____________ |  | _|__| __| _/__| _/____  |__|
 /  ___/\____ \|  |/ /  |/ __ |/ __ |\__  \ |  |
 \___ \ |  |_> >    <|  / /_/ / /_/ | / __ \|  |
/____  >|   __/|__|_ \__\____ \____ |(____  /__|
     \/ |__|        \/       \/    \/     \/    
""")

#自定义UA 避免检测UA
headers = {"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36",
           "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",}

def btpam(ip):
    url = "http://%s:888/pma/" % (ip)
    try:
        res = requests.get(url,headers=headers,timeout=5)
        if res.status_code == 200:
            print("%s Potentially Vulnerable"%(ip))
            with open("result.txt","w+") as wf:
                wf.write(url)
    finally:
        return

def isbt(ip, q):
    print('Testing {}'.format(ip))
    btpam(ip)
    q.put(ip)

def readip(flie):
    ips = []
    with open(flie,"r") as rf:
        for i in rf.readlines():
            ip = i.lstrip('https://').lstrip('http://').rstrip(':888').rstrip("/").strip()
            ips.append(ip)
    return ips

def pool(ips):
    p = Pool(10)
    q = Manager().Queue()
    for i in ips:
        p.apply_async(isbt, args=(i,q,))
    p.close()
    p.join()
    print('请查看当前路径下文件:result.txt')

def run(filepath):
    ips=readip(filepath)
    pool(ips)

def main():
    parser = argparse.ArgumentParser()
    parser.add_argument('-l','--file',dest='file',type=str,help='批量扫描IP地址,示例:-l ip.txt ')
    parser.add_argument('-i','--ip',dest='ip',type=str,help='单独扫描IP地址,示例:-i 192.168.0.1')
    pa = parser.parse_args()
    if len(sys.argv[1:]) == 0:
        print("输入 -h 参数查看使用说明")
        exit()
    if pa.ip:
        btpam(pa.ip)
    if pa.file:
        run(pa.file)

if __name__ == '__main__':
    main()

说明:个人制作,仅供学习使用,不可用于商业用途,如有版权问题,请联系删除,切勿将代码内容用于任何违法行为。

 

104pma是一种仿真工具,它用于模拟和分析各种复杂系统。仿真是一种利用计算机模型来模拟和预测实际系统行为的方法,通过模拟系统内部的各种因素和变量,可以更好地理解和预测系统的运行情况。 104pma是一种功能强大的仿真工具,可以应用于多个领域,如工业、交通、通信等。它提供了各种功能,包括模型构建、参数设定、模拟运行、数据分析等。用户可以根据实际需求,构建系统模型,并设置各种参数,以便准确地模拟系统的运行情况。 104pma具有高度灵活性和可扩展性,可以应对不同类型系统的仿真需求。它支持多种仿真方法,如离散事件仿真、连续仿真等,可以根据系统的特点选择最适合的仿真方法。同时,104pma还提供了丰富的分析工具,可以对仿真结果进行可视化和统计分析,以便用户深入理解仿真结果。 使用104pma工具,用户可以通过仿真分析来优化系统的设计和运营策略。通过对不同因素和变量的测试和比较,可以找到最佳的方案,提高系统的效率和性能。此外,104pma还可以帮助用户识别系统的瓶颈和问题,并提供解决方案,以便改进系统的运行。 总之,104pma是一种强大而灵活的仿真工具,可以帮助用户模拟和分析各种系统,优化设计和运营策略。通过使用104pma,用户可以更好地理解和预测系统的行为,提高系统的效率和性能。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值