- A+
RedFree (11:11 11-11-1112 |※(器杀制自) | 2015-08-03 17:59
0x00 前言
之前TangScan的应用指纹一直是由审核来添加的(白帽子提交了某个漏洞的插件后,审核发现后台没有对应的指纹,就要去找几个对应应用的地址然后寻找并添加指纹),有几点需要说明:
1、后台有太多未审核插件的话(白帽子提交的插件当天就要审完),审核匆忙之间去添加指纹又有可能漏报或误报。
2、一般审核会去找几个地址去测试指纹的有效性,但有时候一些冷门的应用实在找不到实例,就只好用插件作者提供的漏洞验证地址来验证指纹的有效性,这样就更增加了误报率和漏报率。
3、后台的扫描是基于指纹的,如果扫不到对应的应用,那么这个应用的插件也就派不上用场了。
因此白帽子在提交插件的同时也可以把该插件对应的应用指纹(TangScan没有的)也同时提交了。要说明的是提交应用的指纹也会获得收益(一个指纹通过审核后大概可得3汤圆,开发中,现在还不显示。不过请放心,之前通过审核的指纹汤圆最后都会计算的)
0x01 如何提交指纹
因为指纹也是关乎插件命中次数的一个因素,所有在提交指纹的时候请细心再细心。
如果您已经获得了TangScan的邀请码,并注册了TangScan的白帽子账号,那么你可以通过白帽子后台:“我的应用”》“我提交的指纹”》“提交指纹”来提交一条应用指纹。
提交指纹前先看一下这条指纹是不是TangScan已经有了:http://www.tangscan.com/app 这上面显示的应用都是已经有了指纹的(当然您在提交漏洞插件选择应用的时候,列表中你可以找到对应您提交插件的应用,那就说明这该应用的指纹已经有了)。
需要说明的是白帽子在提交插件的时候插件类型一般都是选应用扫描(dedecms、wordpress、discuz、phpcms...) 和 服务扫描(ftp、ssh、mongodb...)。提交插件的时候尽量把所有的信息都完善了(提交流程中要输入的信息和代码配置中的信息都要完善)。提交最后一步的时候请在线测试一下你的漏洞验证地址(提交的时候尽量多给几个,假其中的一个地址失效了,审核还可以用其它的验证地址来测试),看下代码能不能跑出理想的结果。代码中一些小的错误或是不完善的地方审核都可以帮修改了,但是错误过多的话,一般审核是不会给通过的。
0x02 指纹提交技巧
指纹可以说比插件更为重要,因为如果指纹识别不到应用,就不会调用插件去扫描。一条指纹关乎着一批插件的命脉,那么如何提交精确高效的指纹呢?可以按被变更的可能性来排下序:
1、httpheader
http头部中的信息是最不可能被变更的,如果其中包含一些应用的特征,那么可优先采用。
比如Redmine这个应用指纹:
httpheader(没有httpbody的哦)是TangScan设置的一种匹配方式,您可以按照上图所示去写匹配规则(规避PHPSESSID等关键字)。其中应用路径是该应用可能被安装的路径,没有则不填。
2、js、css文件
这两条是比较不可能被开发修改的,js一般找程序自带的(一些程序使用了第三方的js框架,如:jquery 所以提交规则的时候请注意规避)。提交规则的时候内容建议使用正则,一般一条规则就可以了,如果一条规则实在匹配的不是很精确,也可以几条同时使用。使用and、or表达式:
3、file、filemd5
这两条最容易变动,所以一般不采用。
0x03 测试指纹的可用性
指纹规则定好了,但不要立马就拿去提交了,可以找几个实际地址,然后拿刚写好的规则去测试一下看能不能覆盖的到(注意同一应用的不同版本也要测测哦)。做完充分的测试后,您可以放心地点下“提交”按钮,然后等着拿汤圆吧!
$("img").load(function(){ if($(this).attr("width")>640) $(this).attr("width",640); });