什么是指纹识别:
通过关键特征,识别出目标的CMS系统、服务器、开发语言、操作系统、CDN、WAF的类别 版本等等。
其中主要识别以下的信息:
1、CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;
2、前端技术:比如HTML5、jquery、bootstrap、Vue、ace等;
3、开发语言:比如PHP、Java、Ruby、Python、C#等;
4、Web服务器:比如Apache、 Nginx、IIS、lighttpd等;
5、应用服务器:比如Tomcat、Jboss、Weblogic、Websphere等;
6、操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
7、CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七 牛云、阿里云等;
8、WAF信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等
其中cms、cdn、waf的指纹识别比较重要。
1、cms指纹识别
什么是cms
cms是一个内容管理系统,大多数网站的内容都是通过cms来进行内容管理的。
cma包括博客、微博、商城等等。
这些网站都是基于一系列开源的建站系统建立起来的。比如discuz来建立论坛、worfpress来建立博客网站。
不同类型的网站都会使用不同的开源cms系统:
1、 企业建站系统:MetInfo(米拓)、蝉知、SiteServer CMS等;
2、 B2C商城系统:商派Shopex、ECshop、HiShop、XpShop等;
3、 门户建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、 CmsTop等;
4、 博客系统:WordPress、Z-Blog等;
5、 论坛社区:Discuz、PHPwind、WeCenter等;
6、 问答系统:Tipask、whatsns等;
7、 知识百科系统:HDwiki;
8、 B2B门户系统:Destoon、B2Bbuilder、友邻B2B等;
9、 人才招聘网站系统:骑士CMS、PHP云人才管理系统;
l0、 房产网站系统:FangCms等;
l1、 在线教育建站系统:Kesion、EduSoho;
l2、 电影网站系统:苹果CMS、ctcms、movcms等;
l3、 小说文学建站系统:杰奇CMS;
识别cms
如果我们打开了一个网站,并且识别出了这个网站用的程序(什么系统什么版本)那么我们就能利用他的漏洞。
我们需要通过一些特定的文件和代码来识别cms。
版权信息
1、根据一个网站的版权信息可以进行了解。
在网站的底部可能会直接有版权信息。
2、点击网页标签查询
网站的开发者如果忘记修改title,那么直接点击网站标签就可以看见用了什么cms系统
特定文件MD5值
可以寻找一些特定的md5值来确定网站的cms系统。
每个文件对应的md5值是固定的,文件内容发生变化时,md5值也会发生变化。文件内容相同时,md5值相同。所以,md5值可以作为文件的唯一标识符。
所以可以去查询一些不太容易被改变的静态文件来判断是什么系统。
查看网页源代码
可以通过右键查询源代码
通过特定文件特征来分析用了什么系统
比如wedpress的网站去源代码中查询有很多wp开头的那基本可以确认是使用的是wedpress系统
通过特定文件分析
我们也可以去分析一些特定文件的内容
比如我们的网站下面一定有相应的robot.txt
这个是不允许爬取该网站内容的对象和规则。
cms识别工具
人肉搜索比较繁琐,也会有相应的现成的扫描工具:
1、kali中自带whatweb:
whatweb -v www.discuz.net
2、使用浏览器的一些插件:
whatruns
wappalyzer
3、在线cms指纹识别
也有一些在线网站可以进行在线识别。
4、离线文件扫描
比如test404啥的
在github上我们也能找到很多开源的扫描软件
2、cdn指纹识别:
ip收集的笔记中已经详细整理:
渗透测试之ip信息收集_ysn学习日记的博客-CSDN博客
1、超级ping
2、历史DNS
3、通过子域名查询IP
4、国外主机解析
5、其他
3、WAF指纹识别:
什么是WAF:
Web Application Firewall
是一个Web 应用防火墙 过滤HTTP/HTTPS的请求
用来识别恶意参数和恶意请求
WAF有很多作用:
l、 SQL Injection (SQLi):阻止SQL注入
2、 Cross Site Scripting (XSS):阻止跨站脚本攻击
3、 Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
4、 Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
5、 Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
6、 PHP Code Injectiod:阻止PHP代码注入
7、 HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
8、 HTTPoxy:阻止利用远程代理感染漏洞进行攻击
9、 Sshllshock:阻止利用Shellshock漏洞进行攻击
10、 Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
11、 Scanner Detection:阻止黑客扫描网站
l2、 Metadata/Error Leakages:阻止源代码/错误信息泄露
l3、 Project Honey Pot Blacklist:蜜罐项目黑名单
l4、 GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断
识别WAF厂商
首先我们可以根据不同的拦截页面来确定不同的厂商
也可以通过如下思路来进行识别:
额外的cookie;
任何响应或请求的附加标头;
响应内容(如果被阻止请求);
响应代码(如果被阻止请求);
IP地址(云WAF);
JS客户端模块(客户端WAF)
首先第一步是触发防火墙:
我们可以输入一些非法参数:
xsstring = '<script>alert("XSS");</script>'
sqlistring = "UNION SELECT ALL FROM information_schema AND ' or SLEEP(5) or '"
lfistring = '../../../../etc/passwd'
rcestring ='/bin/cat /etc/passwd; ping 127.0.0.1;
curl google.com'
xxestring = '<!ENTITY xxe SYSTEM "file:///etc/shadow">]><pwn>&hack;</pwn>'
接下来是通过工具识别:
1、kali自带:wafw00f
2、功能强大的namp:
nmap www.12306.cn --script=http-waf-detect.nse
版权归原作者 外咸瓜街的一条咸鱼 所有, 如有侵权,请联系我们删除。