Service 与 arg 说明
Service 说明
Service 是指对目标初步扫描后获取的指纹,是判断是否调用该插件的开关。在该参数位置填写 fingerprint.服务名
。
开发者可进入 已经上线的特征页面 查看已有的特征。如果没有该特征,需要按照特征命名规范来编写,之后需要提交特征。
" class="reference-link">Service 命名规范
命名选取, 优先使用英文名。如无英文名则使用官网顶级域名。若有多个产品,则需要使用下划线来区分。字母统一小写。
示例:
WordPress:
fingerprint.wordpress
。
禅道 项目管理软件:fingerprint.zentao
用友 CRM:fingerprint.yongyou_crm
用友 U8:fingerprint.yongyou_u8
如果名称中有
空格
,-
,统一使用_
。示例:
北京东方文辉 FSM-CMS:
fingerprint.bjdfwh_fsmcms
如果名称是以数字开始的,则在数字前加一个
_
。示例:
74CMS:
fingerprint._74cms
" class="reference-link">Service 提交说明
Service 提交指纹内容分为两部分,第一部分为特征路径,第二部分为该路径的特征值。
尽量选取该应用特有的,其他 cms不可能有的。可以添加多个特征如 ecshop,任何一个特征命中就认为识别成功
第一种:图片类
.ico .gif .png .jpg
,如 favicon.ico 等等图片类的特征值为其对应的 md5 值。要尽量选取多个版本都有,且 md5 值不会变化的。
eg:
特征路径: favicon.ico
特征值: 89b932fcc47cf4ca3faadb0cfdef89cf
第二种 文本型
.js .css .htm .php
,如 robots.txt 等文本类要尽量选取有 cms 特征,或者本身的字符串作为特征。
eg:
特征路径: static/common/js/topic.js
特征值: startbbs
在提交特征时,至少提供 1 个图片特征,1 个文字特征,2〜3 个测试地址
phpwiki 特征样例
特征路径 | 特征值 |
---|---|
favicon.ico |
87B4E4C260FFB28A54FF5ACD15A45B6F |
themes\default\Wikiwyg\Wikiwy\Phpwiki.js |
phpwiki |
themes\default\phpwiki.css |
wiki |
" class="reference-link">Service 对应 arg 说明
arg 对应的 Service 共同约定的参数。下表中给出了部分 Service 对应的 arg 说明。
service | arg | 例子 |
---|---|---|
www | 一个经过模糊过滤的链接 | assign('www', 'http://www.test.com') |
www_form | 一个爬虫构造过的 form 表单的 dict 结构 | 见下方详细说明 |
ip | IP地址 | assign(fingerprint.ip, '127.0.0.1') |
dns | 新发现的域名 | assign(fingerprint.dns, 'www.baidu.com') |
ssh | 开放 SSH 服务的 IP 地址 | assign(fingerprint.ssh, '127.0.0.1') |
ftp | 开放 FTP 服务的 IP 地址 | assign(fingerprint.ftp, '127.0.0.1') |
mssql | 开放 MSSQL 服务的 IP 地址 | assign(fingerprint.mssql, '127.0.0.1') |
mysql | 开放 MySQL 服务的 IP 地址 | assign(fingerprint.mysql, '127.0.0.1') |
telnet | 开放 Telenet 服务的 IP 地址 | assign(fingerprint.telnet, '127.0.0.1') |
vnc | 开放 VNC 服务的 IP 地址 | assign(fingerprint.vnc, '127.0.0.1') |
应用(如: CMS)特征的 arg 一般都为域名,具体可在该特征详细信息界面查看
例如: assign(fingerprint.discuz, 'http://www.test.com/')
www_form arg 详细说明
www_form 的 arg 为一个爬虫构造过的 form 表单的 dict 结构。
比如有一表单如下:
<form action="http://www.abc.com/login.asp" method="post">
<input type="text" name="login" value="test">
<input type="password" name="password" value="test">
<input type="radio" name="graphicOption" value="maxmum" />
<input type="radio" name="graphicOption" value="minimum" checked="checked" />
<input type="submit" value="Submit" />
</form>
则其对应的 arg 为:
{
'action': 'http://www.abc.com/login.asp',
'inputs': [
{'type': u'text', 'name': u'login', 'value': 'test'},
{'type': u'password', 'name': u'password', 'value': 'test'},
{'type': u'radio', 'name': u'graphicOption', 'value': u'minimum'}
],
'ref': 'http://www.abc.com/',
'method': u'post'
}