第22天:信息收集-Web应用各语言框架安全组件联动系统数据特征人工分析识别项目
1、信息收集-Web应用-开发框架-识别安全
2、信息收集-Web应用-安全组件-特征分析
一、ICO图标:
1、某个应用系统的标示,如若依系统有自己特点的图标;一旦该系统出问题,使用该系统的网站都会受到影响;
2、某个公司/机构/个人团队的标示,一波资产可能都用这个图标;
补:
①系统层级>框架>组件(类似于插件)
②识别插件、框架的意义->框架、组件出现漏洞,则使用这些框架、组件的系统、网站等都会出现问题,即出现通用漏洞;
二、Python-开发框架-Django&Flask
1、Django
①识别插件
②固定的数据包格式:Set-Cookie:expires=
2、Flask
①识别插件
②固定的数据包格式:Etag: "flask X-Powered-By: Flask
3、ornado
①识别插件
②固定的数据包格式:Server: TornadoServer
三、JavaScript-开发框架-Vue&Node.js
1、Vue.js
①识别插件
②JS语法和加载文件
2、Node.js
①识别插件
②固定的数据包格式:ETag: W/"
四、PHP-开发框架-ThinkPHP&Laravel&Yii
1、ThinkPHP:
①识别插件
②X-Powered-By: ThinkPHP
③CMS识别到源码体系TP开发
2、Laravel:
①识别插件
②Set-Cookie中特征的格式 XSRF-TOKEN= laravel_session=
3、Yii:
①识别插件
②Set-Cookie中特征的格式 YII_CSRF_TOKEN=
五、Java-框架组件-Fastjson&Shiro&Solr&Spring
52类110个主流Java组件和框架介绍:
https://blog.csdn.net/agonie201218/article/details/125300729
1、Struts2框架:
一般使用struts2框架后缀带do或action,可以尝试进行利用
2、SpringBoot框架
①默认web应用标签小绿叶图标
②通过springboot框架默认报错页面
③ICO源码体系采用SpringBoot开发
如若依系统里面包含了springboot框架
3、组件:
FastJson/Jackson
在提交JSON数据包中修改测试:
-FastJson组件会把01解析成1
-Jackson组件在解析01时会抛出异常
https://forum.butian.net/share/1679
4、Shiro
请求包的cookie中存在rememberMe字段。
返回包中存在set-Cookie:remeberMe=deleteMe。
请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。
有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可,将Cookie内容改为remember Me=1,若相应包有rememberMe=deleteMe,则基本可以确定网站apache shiro搭建的。
5、Solr识别
一般开放8983端口,访问页面也可以探针到
六、工具使用:
https://github.com/projectdiscovery/nuclei
1、nuclei主要是漏洞发现工具,也可以作为信息收集来使用;
2、有些网站或系统会隐藏框架或组件的特征,导致手工通过特征收集的方式失效,所以需要用到工具;
3、nuclei内涵的官方poc有限,在使用时需丰富它的poc库,才能达到更好的效果;