指纹识别
后端
CMS:一般php开发居多源码程序,其他语言也存在,但不易识别(利用源码程序名去搜漏洞情况,源码下载进行后期的代码审计)
前端
js框架(爬取更多的js从里面筛选URL或敏感泄露key)等,也是可以通过对js代码逻辑进行代码审计
组件
概念
第三方的功能模块(日志记录,数据监控,数据转换等)
存在语言
java居多,常见有过安全漏洞组件(shiro,solr,log4j,springboot等)
框架
概念
简单代码的一个整合库,如果使用框架就需要学习使用框架调用即可
如:文件上传功能是需要很多代码来实现的,框架把这个代码进行封装,调用即可
影响
如果采用框架开发,代码的安全性是取决于框架的过滤机制
存在语言
php java python 都有
web架构
1.最简单最入门的开发模型(功能代码全部手写)
最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯自己写
2.结合开发框架的开发模型(以框架为核心实现功能)
第三方或团队的封装代码框架,一般内置的过滤机制(框架漏洞)
3.结合开发框架外加组件模型(以开发框架为核心,组件为辅实现功能)
第三方或团队的开发的封装代码框架,一般内置的额过滤机制(框架和组件漏洞)
识别工具
GotoScan
https://github.com/newbe3three/gotoscan
(适应于不出网环境)
使用方法
gotoscan.exe -host https://localhost.com
gotoscan.exe -hosts hosts.txt
参数
-cmsjson string
指定CMS指纹特征json文件,默认为当前目录下的cms.json文件
-host string
测试一个目标,需要在域名前加上https或者http
-hosts string
指定测试多个目标存放的txt文件,一行一个目标
网络空间
鹰图
quake
I0图标关系
python开发框架
Django
网络空间
识别插件
Set-Cookie
Flask
网络空间
识别插件
ETag
php开发框架
ThinkPHP:
网络空间
识别插件
X-Powered-By
Laraver
网络空间
识别插件
Set-Cookie
Yii
网络空间
识别插件
Set-Cookie
Java开发框架
Fastjson/Jackon
在提交JSON数据包中修改测试:
-Fastjson组件会把01解析成1
-Jackson组件在解析01时会抛出异常
参考文献
shiro
请求包的cookie存在rememberMe字段
返回包中存在Set-Cookie: rememberMe=deleteMe
请求包存在Set-Cookie: rememberMe=X时,响应包存在Set-Cookie: rememberMe=deleteMe
有时候服务器不会返回 rememberMe=deleteMe,直接发包即可,将Cookie内改为remembrMe=1
,若相应包有rememberMe=deleteMe,则基本可以确定网站apache shiro搭建
网络空间
漏洞复现
登录查看数据包
判断存在shiro漏洞
使用shiro反序列化漏洞综合利用工具
进行命令执行
使用内存码进行注入
使用哥斯拉进行连接
Struts2
一般使用struts2框架后缀带do或action,可以尝试进行利用
Springboot
1、通过web应用程序网页标签的小绿叶图标
2、通过springboot框架默认报错页面
Solr识别
一般开放8983端口,访问页面也可以探针到