IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> 记一次渗透进学弟服务器Getshell的过程 -> 正文阅读

[PHP知识库]记一次渗透进学弟服务器Getshell的过程

0x00 写在前面

首先说一句,我真的好久 好久 好久 好久 好久没碰过渗透了,一方面是因为太菜,之前从来都没完整的走完一套getshell,半路卡住是常有,做着做着就give up;另一方面是从实习以来一直做的是安全开发相关的工作,以后工作方向大概率也是安全开发而不是攻防。
那为什么我会忽然想起搞学弟的网站呢?事情是这样的,之前有指导过学弟怎么搭建一套作业提交系统,然后学弟就开始自己研究,中间过了好久,我也忘了这码事。
今天晚上他忽然来找我
在这里插入图片描述顺便问他要了网址,也想登上去看看是啥样
在这里插入图片描述
本来以为就是个简单的作业提交接口,打开一看,好家伙,还做了个登录页,瞬间起了杀心23333333
开搞!

0x01 尝试

看到登录框,那SQL注入必须安排上,上来一通操作猛如虎,各种payload试了一遍,结果网页啥回显都没有,顿时觉得很蹊跷,你好歹给个弹窗吧,什么提示都没有是啥意思?于是直接F12,想看下他的js是咋写的,一打开,好家伙,人傻了
在这里插入图片描述
前端直接验证用户名和密码,没有使用cookie标记登录用户身份,就直接返回一个静态页面23333333
在这里插入图片描述
看来学弟还有很长一段路要走啊
继续,打开主界面
在这里插入图片描述
看到文件上传,没抱太大希望,毕竟现在主流安全策略对文件上传限制已经很严格了,随手传了个文件试一下
在这里插入图片描述



笑死
不仅传上去了,还贴心地给你回显出了上传点233333,并且目录里文件可以直接访问
在这里插入图片描述
直接php一句话木马安排上
在这里插入图片描述
竟然404了,看来被秒删,高兴早了
既然这样,先搜集一波信息吧,传了个phpinfo上去,成功打开
在这里插入图片描述
收集到信息:Windows+宝塔面板部署的网站,有点难搞了
再次尝试传另一种一句话木马
在这里插入图片描述
在这里插入图片描述
这会看来成功了,上蚁剑
在这里插入图片描述
这里记一个坑,用assest写的一句话必须要用base64编码连接,别问我为啥,我也不知道
先看下文件管理,因为是用宝塔部署的,权限很高,可以操作所有目录下的文件
在这里插入图片描述
按理来说,现在已经算是getshell了,打开终端就能随意执行命令了
但…
你以为这么简单就结束了吗

0x02 困难

在这里插入图片描述
所有命令返回的都是ret=127,之前从来没遇到过这种情况,上网查找资料得知,宝塔部署的PHP禁掉了大部分命令执行函数,所以蚁剑自然无法执行任何命令
又去搜了一下解决方案,发现可以通过环境变量 LD_PRELOAD 劫持系统函数,加载自己的so文件,来突破disable_functions限制执行操作系统命令
刚准备开始操作,忽然一想,这是windows系统啊,有个毛的环境变量 LD_PRELOAD
于是继续搜索windows下的disable_functions绕过方法,无果…
山重水复疑无路,又想give up,不过这次真不甘心,这都能任意操作文件了,还拿不到shell,于是开始漫无目的地逛服务器里的文件,希望能寻求到一点突破

0x03 突破

因为之前我自己也用过宝塔,所以换个思路,想从宝塔入手,看看是否能直接登进面板
在这里插入图片描述
宝塔的面板监听在8888端口,但是很久很久以前,宝塔就开启了随机登录入口,直接访问是进不去的,url后面需要跟一个一开始生成的随机路径
继续查找关于宝塔的相关信息得知,随机路径信息在C:/BtSoft/panel/data/default.pl文件里
在这里插入图片描述
在这里插入图片描述
接下来就是找用户名和密码了,在同目录下看到有一个default.db文件,推测可能是宝塔使用的SQLite数据库,下载到本地,使用navicat打开
看到users表,存的应该就是管理帐号了
在这里插入图片描述
password字段看上去是md5加密的,扔进解密网站
在这里插入图片描述
很意外,没解出来,再回头一看,表里最后一列是salt字段,看来是加盐了,由于不知道加盐规则,此路不通,淦…

0x04 成功

面板是登不进去了,于是开始翻宝塔的数据库,一张一张表往下看,忽然看到一个config表
在这里插入图片描述
mysql_root ?
忽然想起,学弟在部署宝塔的时候,应该也是同时部署了LNMP环境的,所以这里极有可能通过这个密码登录进本地数据库
继续安排上蚁剑
在这里插入图片描述
成功连上数据库!
于是开启另外一种新思路,利用mysql执行系统命令,正好,前两天在准备面试的时候有看过利用mysql UDF进行提权,这里就可以借助它来实现任意命令执行
因为我们目前已经拿到了文件操作的权限了,所以我们不需要再通过SQL向系统目录里写一个udf文件,直接将udf文件上传到lib/plugin目录下即可
udf文件可以在kali的MSF目录中找到,具体路径为 /usr/share/metasploit-framework/data/exploits/mysql/,这里我们根据得到操作系统信息,下载64位的.dll文件
在这里插入图片描述
再用蚁剑上传
在这里插入图片描述
接下来就可以使用sql语句执行命令了

create function sys_eval returns string soname 'udf.dll';
select * from mysql.func where name = 'sys_eval';

在这里插入图片描述
在这里插入图片描述
成功执行命令,并且可以看到,当前的身份是system,权限很高
接下来就是常规操作了,使用命令创建新用户,然后登录进去
在这里插入图片描述
在这里插入图片描述
使用远程桌面登录服务器
在这里插入图片描述
攻击成功!!!

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:36:24  更:2021-09-07 10:38:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:55:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码