开发框架识别
插件推荐
插件商店搜索wappalyzer
Python - Django&Flask
Django
1、wappalyzer插件
2、返回数据包的特征字段 Set-Cookie:expires=
Flask
1、wappalyzer插件
2、返回数据包的特征字段 Set-Cookie:expires= 或 Etag: "flask
PHP - ThinkPHP&Laravel&Yii
ThinkPHP
1、wappalyzer插件
2、响应数据包特征字段 x-powered-by:ThinkPHP
3.报错界面
Laravel
1、wappalyzer插件
2、响应数据包特征字段 Set-Cookie: laravel_session= 或者Set-Cookie: XSRF-TOKEN=
Yii
1、wappalyzer插件
2、响应头特征 Set-Cookie:YII_CSRF_TOKEN
Java 框架组件 Fastjson&Shiro&Solr&Spring
52类110个主流Java组件和框架介绍:
52类110个主流Java组件和框架介绍_基于java的组件有哪些-CSDN博客
Fastjson和Jackson组件区分
推荐一篇很好的文章,特别详细奇安信攻防社区-浅谈黑盒识别Fastjson/Jackson组件
1、Fastjson会把01解析成1 而 Jackson在解析01时会抛出异常:
Fastjson
Jackson
2、Fastjson 1.2.70会把NaN解析成0 但是 Fastjson 1.2.37会抛出异常 而且 Jackson在解析NaN时会抛出异常:
Fastjson 1.2.70:
Fastjson 1.2.37:
Jackson:
3、Fastjson支持注释符 而 Jackson默认情况下会报错:
Fastjson:
Jackson:
4、Fastjson能正常解析单引号包裹的字段 而 Jackson会抛出异常
Fastjson:
Jackson:
5、Fastjson能正常解析缺失的值(忽略掉缺失的值) 而Jackson会抛出异常
Fastjson:
Jackson:
Apache Shiro
1、请求包的cookie字段存在rememberMe字段特征
2、响应头的Set-Cookie字段 存在 remember= 特征
3、请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。
有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可,将Cookie内容改为rememberMe=1,若响应包有rememberMe=deleteMe,则基本可以确定网站apache shiro搭建的。
Struts2
1、一般使用struts2框架后缀带do或action
Springboot
1、通过web应用程序网页标签的小绿叶图标
2、2、通过springboot框架默认报错页面
Solr识别
1、一般开放8983端口,访问页面也可以探针到