目录
前言:
本文整理了CMS指纹识别的具体思路,渗透的全过程,绝大多数时间都是在做信息收集工作,通过关键特征,识别出目标的CMS系统、服务器、开发语言、操作系统、CDN、WAF的类别版本等等
(一)找CMS
1、版权信息
Powered by XXX,这个很少,除非开发程序员完全不懂安全
2、特定的文件MD5
每个网站的title的小图标上都会有特定的favicon,如果它使用的是默认的favicon,即/favicon.ico的值是固定的,那边我们把网站下面该文件下载下来,当然我们也可以使用其他组件特定的md5值,用下面github上面的库进行比对。https://github.com/Lucifer1993/cmsprint
3、查看网页源码
分析特定的路径或者代码内容,需要有一定的实战经验
4、特定文件
我们可以通过目录扫描找到敏感文件,比如 robots.txt,打开可能会有信息
0x01、已知CMS
如常见的dedecms.discuzwordpress等源码结构,这种一般采用非框架类开发,但也有少部分采用的是框架类开发,针对此类源码程序的安全检测,我们要利用公开的漏洞进行测试,如不存在可采用白盒代码审计自行挖掘。
1、漏洞平台
点这里 昨天整理的有相关平台
2、工具框架
1 kali 自带的有whatweb、wpscan(专门扫描wordpress)
2 浏览器插件
- Wappalyzer:https://www.wappalyzer.com
- whatruns :https://www.whatruns.com/
3 在线网站
- cmsscan
- joomscan
- drupalscan
http://whatweb.bugscaner.com http://finger.tidesec.com/
3 代码审计
这里不展开,后续具体展开,这段时间在研究Java代码审计......
0x02 开发框架
如常见的thinkphp,spring,flask等开发的源码程序,这种源码程序正常的安全测试思路:先获取对应的开发框架信息(名字,版本),通过公开的框架类(vulhub.org)安全问题进行测试,如不存在可采用白盒代码审计自行挖掘
1、Java
- Shiro
- struts
- Spring
2、Python
- Flask
- Django
- Tornado
3、PHP
- thinkphp
- Yii
- Laravel
这里先简单提一下我知道的,后续具体展开。
0x03 未知CMS
如常见的企业或个人内部程序源码,也可以是某CMS二次开发的源码结构,针对此类的源码程序测试思路:能识别二次开发就按已知CMS思路进行,不能确定二次开发的话可以采用常规综合类扫描工具或脚本进行探针,也可以采用人工探针(功能点,参数盲猜),同样在有源码的情况下也可以进行代码审计自行挖掘。
1、工具框架
- xray
- awvs
- appscan
nessus
2、人工探针
- 应用功能(分析这个功能可能存在的问题)
- URL参数(通过参数反向分析整个业务逻辑)
- 盲测(类似于wfuzz)
举个例子:
url就不展现了,去自动化扫描工具看看它的CMS
思路一
找到这个网站的版本,看之前爆出来的漏洞这个版本是否存在
扫描目录,里面会有信息,或者说用上文自动化工具
思路二
找到这个网站的后台,使用弱口令爆破,intext,inurl都用上
访问路径进入,接下来用Pkav或者其他OCR效率比较高的exe,设置代理池,导入字典,跑
思路三
扫描端口,masscan nmap 或者用在线的工具(本人推荐用masscan,非常快!!!)
思路四
扫描思路,找到关键的文件....