赞
踩
什么是框架?
就是别人写好包装起来的一套工具,把你原先必须要写的,必须要做的一些复杂的东西都写好了放在那里,你只要调用他的方法,就可以实现一些本来要费好大劲的功能。
如果网站的功能是采用框架开发的,那么挖掘功能的漏洞就相当于在挖掘框架自身的漏洞。如果框架产生漏洞也会对使用框架的网站产生影响。
常见语言开发框架:
PHP:Thinkphp Laravel YII CodeIgniter CakePHP Zend等
JAVA:Spring MyBatis Hibernate Struts2 Springboot等
Python:Django Flask Bottle Turbobars Tornado Web2py等
Javascript:Vue.js Node.js Bootstrap JQuery Angular等
如何判断网站是否使用框架?
1.使用浏览器插件查看——Wappalyzer
2.查看网站数据包信息
3.查看是否开启某框架的默认端口
如:springboot框架的默认端口号是8080
案例演示:PHP-开发框架安全-thinkphp3.2.x 代码执行
使用vulfocus靶场,启动环境
访问一片空白,直接使用工具检测
工具:https://github.com/ghealer/GUI_Tools
直接输入url开始检测,成功检测出漏洞
命令执行,其实就是产生404错误之后,错误信息就会记录到日志文件中
访问日志文件路径,代码成功执行
Ctlr+f 搜索flag,成功获取flag
案例演示:PHP-开发框架安全-Laravel-远程代码执行 (CVE-2021-3129)
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。
影响版本:Laravel <= 8.4.2
使用vulfocus靶场,启动环境
直接使用一键get shell 工具
工具:https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
Python3 运行脚本,成功获取后门地址
访问后门地址返回200,说明后门地址存在,直接使用后门工具连接即可
案例演示:JAVAWEB-框架安全-Struts2-代码执行
Struts2是一个基于MVC设计模式的Web应用框架
使用vulfocus靶场,启动环境复现
漏洞:cve_2020_17530
脚本:https://github.com/wuzuowei/CVE-2020-17530
访问漏洞环境
直接使用脚本利用
运行脚本:python struts2-061-poc.py 目标ip:端口 命令
反弹shell,先开启监听
运行get shell脚本:python S2-061-shell.py http://目标ip:端口 然后输入监听ip监听端口
成功获取shell
案例演示:Spring Cloud Function Spel表达式注入CVE-2022-22963
Spring Cloud Function 提供了一个通用的模型,用于在各种平台上部署基于函数的软件,包括像 Amazon AWS Lambda 这样的 FaaS(函数即服务,function as a service)平台。
使用vulhub靶场启动漏洞环境
先使用post请求访问/functionRouter目录进行抓包
获取post请求数据包之后,在数据包请求头添加如下内容:
spring.cloud.function.routing-expression: T(java.lang.Runtime).getRuntime().exec("要执行的命令")
我要执行的是反弹shell命令,需要先对命令进行编码
各种协议的shell命令生成:https://forum.ywhack.com/shell.php
Base64编码的shell命令:
编码完成写入到数据包
攻击者启动服务器开启监听,监听5566端口
burp发包,返回状态码500
成功获取shell
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。