Skip to content

PoC 规范说明

PoC 编号说明

PoC 编号 ID 与漏洞 ID 一致。示例,漏洞库中的漏洞统一采用 SSV-xxx 编号的方式,则 PoC 编号为 xxx。

PoC 命名规范

Poc 命名格式:_编号_漏洞应用名_版本号_漏洞类型名称,然后把文件名称中的所有字母改成小写,所有的符号改成 _。 文件名不能有特殊字符和大写字母,最后出来的文件名应该像这样:

_1847_seeyon_3_1_login_info_disclosure.py

PoC 第三方模块依赖说明

PoC 编写的时候要求尽量不要使用第三方模块,如果必要使用,请在 PoC 的基础信息部分,增加 install_requires 字段,按照以下格式填写依赖的模块名:

install_requires =[str_item_, str_item,] # 整个字段的值为 list,每个项为一个依赖模块。

str_item 格式:模块名[><=]版本号,模块名为 pip install 安装时的模块名(请不要填写 import 的模块名)。

如果遇到安装时模块名与调用时的不一致情况,用 : 分割开,例如常见的加密算法库 pycryptodome,但是调用是以 from Crypto.Cipher import AES,此时就需要如下填写:

install_requires = ['pycryptodome>=3.12.0:Crypto']

TIP

install_requires 这个属性存在的意义是方便管理引入的第三方模块,加载 PoC 的时候如果检测到用户没有安装这个模块,可以提示用户安装模块后再继续运行。还有一个场景是可以通过代码解析出该属性然后自动安装相应模块,方便自动化解决依赖。无法用于导入模块,导入请手动 import

PoC 结果返回规范

result 为 PoC 返回的结果数据,result 返回值要求返回完整的一项,暂不符合 result 字段的情况,放入 extra 字段中,此步骤必须尽可能的保证运行者能够根据信息 复现/理解 漏洞,如果步骤复杂,在取证信息中说明。例如:

# 返回数据库管理员密码
result['DBInfo'] = {}
result['DBInfo']['Password']='xxxxx'
# 返回 Webshell 地址
result['ShellInfo'] = {}
result['ShellInfo']['URL'] = 'xxxxx'
# 返回网站管理员用户名
result['AdminInfo'] = {}
result['AdminInfo']['Username']='xxxxx'

extra 字段说明

extra 字段为通用结果字段的补充字段,如果需要返回的内容中不属于通用结果字段,那么可以使用 extra 字段进行赋值。extra 字段为 dict 格式,可自定义 key 进行赋值,如:

result['extra'] = {}
result['extra']['field'] = 'aa'

特殊字段

evidence,针对结果中返回取证信息,定义字段名只允许为 evidence,并且只能存储于 extar 字段,即:

result['extra'] = {}
result['extra']['evidence'] = 'aa'

通用字段说明 (以下只是字段含义示例,不是标准的 JSON 格式)

result:[
    {  name: 'DBInfo',       value:'数据库内容' },
        {  name: 'Username',      value: '管理员用户名'},
        {  name: 'Password',      value:'管理员密码' },
        {  name: 'Salt',          value: '加密盐值'},
        {  name: 'Uid',           value: '用户ID'},
        {  name: 'Groupid',       value: '用户组ID'},


    {  name: 'ShellInfo',     value: 'Webshell信息'},
        {  name: 'URL',           value: 'Webshell地址'},
        {  name: 'Content',       value: 'Webshell内容'},


    {  name: 'FileInfo',      value: '文件信息'},
        {  name: 'Filename',      value: '文件名称'},
        {  name: 'Content',       value: '文件内容'},


    {  name: 'XSSInfo',       value: '跨站脚本信息'},
        {  name: 'URL',           value: '验证URL'},
        {  name: 'Payload',       value: '验证Payload'},


    {  name: 'AdminInfo',     value: '管理员信息'},
        {  name: 'Uid',           value: '管理员ID'},
        {  name: 'Username',      value: '管理员用户名'},
        {  name: 'Password',      value: '管理员密码'},


    {  name: 'Database',      value:'数据库信息' },
        {  name: 'Hostname',      value: '数据库主机名'},
        {  name: 'Username',      value:'数据库用户名' },
        {  name: 'Password',      value: '数据库密码'},
        {  name: 'DBname',        value: '数据库名'},


    {  name: 'VerifyInfo',    value: '验证信息'},
        {  name: 'Target',        value: '验证host:port'},
        {  name: 'URL',           value: '验证URL'},
        {  name: 'Postdata',      value: '验证POST数据'},
        {  name: 'Path',          value: '网站绝对路径'},


    {  name: 'SiteAttr',      value: '网站服务器信息'},
    {  name: 'Process',       value: '服务器进程'}

]

漏洞类型规范

英文名称中文名称缩写
Cross Site Scripting 跨站脚本 xss
Cross Site Request Forgery 跨站请求伪造 csrf
SQL Injection Sql注入 sql-inj
LDAP Injection ldap注入 ldap-inj
Mail Command Injection 邮件命令注入 smtp-inj
Null Byte Injection 空字节注入 null-byte-inj
CRLF Injection CRLF注入 crlf-inj
SSI Injection Ssi注入 ssi-inj
XPath Injection Xpath注入 xpath-inj
XML Injection Xml注入 xml-inj
XQuery Injection Xquery 注入 xquery-inj
Command Execution 命令执行 cmd-exec
Code Execution 代码执行 code-exec
Remote File Inclusion 远程文件包含 rfi
Local File Inclusion 本地文件包含 lfi
Abuse of Functionality 功能函数滥用 func-abuse
Brute Force 暴力破解 brute-force
Buffer Overflow 缓冲区溢出 buffer-overflow
Content Spoofing 内容欺骗 spoofing
Credential Prediction 证书预测 credential-prediction
Session Prediction 会话预测 session-prediction
Denial of Service 拒绝服务 dos
Fingerprinting 指纹识别 finger
Format String 格式化字符串 format-string
HTTP Response Smuggling http响应伪造 http-response-smuggling
HTTP Response Splitting http响应拆分 http-response-splitting
HTTP Request Splitting http请求拆分 http-request-splitting
HTTP Request Smuggling http请求伪造 http-request-smuggling
HTTP Parameter Pollution http参数污染 hpp
Integer Overflows 整数溢出 int-overflow
Predictable Resource Location 可预测资源定位 res-location
Session Fixation 会话固定 session-fixation
URL Redirector Abuse url重定向 redirect
Privilege Escalation 权限提升 privilege-escalation
Resolve Error 解析错误 resolve-error
Arbitrary File Creation 任意文件创建 file-creation
Arbitrary File Download 任意文件下载 file-download
Arbitrary File Deletion 任意文件删除 file-deletion
Arbitrary File Read 任意文件读取 file-read
Backup File Found 备份文件发现 bak-file-found
Database Found 数据库发现 db-found
Directory Listing 目录遍历 dir-listing
Directory Traversal 目录穿越 dir-traversal
File Upload 文件上传 file-upload
Login Bypass 登录绕过 login-bypass
Weak Password 弱密码 weak-pass
Remote Password Change 远程密码修改 remote-pass-change
Code Disclosure 代码泄漏 code-disclosure
Path Disclosure 路径泄漏 path-disclosure
Information Disclosure 信息泄漏 info-disclosure
Security Mode Bypass 安全模式绕过 sec-bypass
Malware 挂马 mal
Black Link 暗链 black-link
Backdoor 后门 backdoor
Insecure Cookie Handling 不安全的Cookie insecure-cookie-handling
Shellcode Shellcode shellcode
Variable Coverage 变量覆盖 variable-coverage
Injecting Malware Codes 恶意代码注入 injecting-malware-codes
Upload Files 文件上传 upload-files
Local Overflow 本地溢出 local-overflow
Path Traversal 目录穿越 path-traversal
Unauthorized Access 未授权访问 unauth-access
Remote Overflow 远程溢出 remote-overflow
Man-in-the-middle 中间人攻击 mitm
Out of Memory 内存溢出 out-of-memory
Buffer Over-read 缓冲区越界读 buffer-over-read
Backup File Found 备份文件泄漏 backup-file-found
Use After Free 释放后使用 uaf
DNS Hijacking DNS劫持 dns-hijacking
Improper Input Validation 不正确的输入校验 improper-input-validation
Universal Cross-site Scripting 通用型XSS uxss
Server-Side Request Forgery 服务器端请求伪造 ssrf
Other 其他 other

也可以参考 Seebug 漏洞类型规范

Released under the GPLv2 License.