工具简介
FrameScan-GUI是一款python3和Pyqt编写的具有图形化界面的cms漏洞检测框架,是FrameScan 的加强版。支持多种检测方式,支持大多数CMS,可以自定义CMS类型及自行编写POC。旨在帮助有安全经验的安全工程师对已知的应用快速发现漏洞。
https://github.com/qianxiao996/FrameScan-GUI/releases
下载地址:支持平台
- Windows
使用方法
下载本项目,运行exe即可。
插件模板
以下为POC模板,请尽量规范编写。脚本中为示例代码。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
from urllib.parse import urlparse
def vuln_info():
info={
'name': 'POC测试漏洞',
'referer':'http://baidu.com',
'author':'qianxiao996',
'description':'''百度测试。'''
}
return info
def run(MainWindows,url,all):
#一定要把all这个参数返回回去。
# all = 0=url 1=filename 2=pocmethods 3=pocname
#传递过来的是url。如果需要IP和端口可以使用代码
_url = urlparse(url)
dhost = _url.hostname
dip = socket.getaddrinfo(dhost, None)[0][4][0]
dport = _url.port
result = '存在'
padload= 'payload'
#debug信息 默认不会显示,勾选显示调试信息会输出此结果
MainWindows.vuln_scanner_log('Debug','denbug信息')
#返回的结果
MainWindows.vuln_scanner_log('result', result,padload,all)
#自定义输出
MainWindows.vuln_scanner_log('Error','运行错误','',all)
exp
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import json
import requests
import warnings
def vuln_info():
info={
'name': 'POC测试漏洞',
'referer':'http://baidu.com',
'author':'qianxiao996',
'description':'''expddddd'''
}
return info
def run(MainWindows,url,heads='',cookie='',cmd='whoami',lhost='',lport=8888):
#命令执行
if lhost=='':
MainWindows.vuln_exp_log('result','root')
#反弹shell
if lhost!='':
MainWindows.vuln_exp_log('log','反弹成功','red')
插件目录下
exp后缀为_exp.py
poc后缀为_poc.py
请规范编写
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 帮助信息
使用方法
下载项目
git clone https://github.com/qianxiao996/FrameScan
安装依赖(不需要!)
脚本主要依赖于以下模块(无需安装)
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 文件名
文件名 -c CMS类型
自定义POC模板
后缀名必须为_poc.py
代码中采用自定义彩色输出,请尽量规范编写。脚本中为示例代码。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
name: POC测试漏洞
referer: http://baidu.com
author: qianxiao996
description: 百度测试。
'''
import requests
import warnings
def run(url):
#返回一个列表,参数一为检测结果,参数二为Payload
result = ['Payload','存在']
return result
if __name__ == "__main__":
warnings.filterwarnings("ignore")
testVuln = run(sys.argv[1])
POC and EXP
POC and EXP 为内部使用。需要POC及EXP请编写POC或EXP联系作者交换。
警告!
请勿用于非法用途!否则自行承担一切后果
pyinstaller -F FrameScan-GUI.py -i main.ico --hidden-import eventlet.hubs.epolls --hidden-import eventlet.hubs.kqueue --hidden-import eventlet.hubs.selects --hidden-import dns --hidden-import dns.dnssec --hidden-import dns.e164 --hidden-import dns.hash --hidden-import dns.namedict --hidden-import dns.tsigkeyring --hidden-import dns.update --hidden-import dns.version --hidden-import dns.zone -w