ctf+管理员登录+php,一道有意思的CTF题目

本文记录了一道来自2019 TMCTF Final的Web题目,涉及文件上传、下载、目录遍历和权限提升。通过分析源码、构造路径和利用session,成功伪造admin权限并实现任意7z文件上传,最终利用命令注入解压php文件到可执行目录,获取flag。
摘要由CSDN通过智能技术生成

前言

近期在整理题目的时候,发现了一道质量不错的Web题,出自2019 TMCTF Final,特此记录一下。

信息搜集

题目描述:

Hack the following server.

http://10.0.106.(team number)/

User NamePassword

guestpassword

admin(Unknown)

Note: You do not have to use way of brute force or DoS to solve this challenge. Please do not put a load on bandwidth or disk space.

题目给了一个网站,具备以下2种功能:

upload:http://10.0.106.10/tmctf2019/upload.php

download:http://10.0.106.10/tmctf2019/download.php

对于上传,可以指定public / private上传,对于download也可以指定public / private下载,上传至public的文件,只能用download的public文件下载。

也就是说题目给了我们一个文件上传,一个文件下载,而对于目录的划分(public / private),现在看不出多大作用来。

随便测试了一通,发现文件上传时,会拼接sha256的后缀,例如上传:

1.jpg

得到的文件名会变为:

1.jpg_sha256(salt+'1.jpg')

所以无法控制后缀,而尝试登陆功能注入和弱密码爆破登入也无法突破,无法将身份转换为admin,陷入僵局。

那么自然想到扫一扫目录,可以发现文件夹:

http://10.0.106.10/tmctf2019/include/

该文件夹并没有做权限控制,我们可以看到如下4个文件:

files.inc

functions.php

import_theme.inc

login.php

显然我们只能读取.inc文件,php文件会被解析无法直接访问源码。

import_theme.inc

3d860fc58c28d584dfe7ec6501d14eba.png

files.inc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值