第十七天
本课意义
1.CMS识别到后期漏洞利用和代码审计
2.开发框架识别到后期漏洞利用和代码审计
3.开发组件识别到后期漏洞利用和代码审计
一、CMS指纹识别-不出网程序识别
1.概念
CMS指纹识别一般能识别到的都是以PHP语言开发的网页为主,其他语言开发的网页识别难度大
识别的意义就是向着对应目标使用对应的工具进行攻击
1.后端:
CMS:一般PHP开发居多源码程序(利用源码程序名去搜漏洞情况,源码去下载进行后期的代码审计)
2.前端:
JS框架(爬取更多的JS从里面筛选URL或敏感泄漏KEY等) 也是可以通过对JS代码逻辑进行代码审计
3.组件:
java居多,常见有过安全漏洞组件(shiro solr log4j sprintboot等)
4.框架:
php java python都有相对应的漏洞
2.Web架构:
1.最简单最入门的开发模型(功能代码全部手写)
最容易出现漏洞,程序员水平不一,没有第三方或团队的检测,单纯的自己写
2.结合开发框架的开发模型(以框架为核心实现功能)
第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架漏洞)
3.结合开发框架外加组件模型(以框架为核心,组件为辅实现功能)
第三方或团队的开发的封装代码框架,一般内置的过滤机制(框架和组件漏洞)
CMS识别到后期漏洞利用和代码审计
二、开发框架识别-PHP&Python&Java
- **框架:**简单代码的一个整合库,如果使用框架就只需要学习使用框架调用即可
- 例子:文件上传功能是需要很多代码来实现的,框架把这个代码进行封封装,调用即可
- **影响:**如果采用框架开发,代码的安全 性是取决于框架的过滤机制
- 组件:第三方的功能模块(日志记录,数据监控,数据转换等)
开发框架识别到后期漏洞利用和代码审计
三、开发组件识别-Java常见安全漏洞组件
52类110个主流Java组件和框架介绍:
https://blog.csdn.net/agonie201218/article/details/125300729
开发组件识别到后期漏洞利用和代码审计
四、环境复现
1.指纹识别-本地工具-GotoScan(内网)
1进入https://github.com/newbe3three/gotoscan下载程序
2.下载完成后进入CMD执行程序,根据项目说明输入参数
3.对目标进行探测,仅限内网
2.Python-开发框架-Django&Flask
1.Django
1.使用FOFA寻找使用Django框架搭建的网站
2.使用识别插件进行查看
3.在Set-Cookie中包含csrftoken字段来判断是否使用了Django搭建的网站
2.Flask
1.使用FOFA寻找使用Flask框架搭建的网站
2.使用识别插件进行查看
3...在ETag中包含flask字段来判断是否使用了Flask搭建的网站,其他字段也有可能包含有flask字段,可以辅助判断
3.PHP-开发框架-ThinkPHP&Laravel&Yii
1.ThinkPHP
1.使用鹰图寻找使用ThinkPHP框架搭建的网站
2.使用识别插件进行查看
3.查看返回包是否存在X-Powered-By: ThinkPHP字段进行判断
2.Laravel
1.使用FOFA寻找使用Laravel框架搭建的网站
2.使用识别插件进行查看
3.查看返回包是否存在Set-Cookie.XSRF以及Set-Cookie.laravel_session中特征的格式
3.Yii
1.使用FOFA寻找使用Yii框架搭建的网站
2.使用识别插件进行查看
3.查看返回包是否存在Set-Cookie.YII_CSRF以及Set-Cookie:_csrf-frontend特征中的格式
4.Java-框架组件-FastJson&Shiro&Solr&Spring
1.Fastjson/Jackson
在提交JSON数据包中修改测试:
-Fastjson组件会把01解析成1
-Jackson组件在解析01时会抛出异常
https://forum.butian.net/share/1679
https://www.iculture.cc/forum-post/24115.html