6.8k words 6 mins.

/ 源码: <?php#Quals]upload if (!isset($_GET["ctf"])) { highlight_file(__FILE__); die();}if(isset($_GET["ctf"])) $ctf = $_GET["ctf"];if($ctf=="upload") { if ($_FILES['postedFile']['size'] > 1024*512) {...
3.8k words 3 mins.

# SHctf2024 部分复现: # week2:登陆验证 描述: 他们都说jwt不安全,那我拿个密钥加密不就行了,你又不知道密钥是多少。什么? 你说可以爆破出来? 666666! 登陆页面登录后: 发现可疑 token:SHctf 复现...
2.5k words 2 mins.

<?phphighlight_file(__FILE__);// FLAG in the flag.php$file = $_GET['file'];if(isset($file) && !preg_match('/base|rot/i',$file)){ @include($file);}else{ die("nope");}?>convert.iconv.*...
1.9k words 2 mins.

# 羊城杯 2020-EasySer 一进去就是这个,直接信息搜集,robots.txt,www.zip,www.zip.gz robots.txt: star1.php 进入发现是 CTRL U 发现有提示说 用个不安全的协议从我家才能进ser.php 用 http://127.0.0.1/ser.php 发现有源码(可以先 star1.php 的): ser.php: <?phperror_reporting(0);if ( $_SERVER['REMOTE_ADDR'] == "127.0.0.1" ) {...
6.1k words 6 mins.

# [网鼎杯 2020 青龙组] notes 压缩包解压后 index.js: var express = require('express');var path = require('path');const undefsafe = require('undefsafe');const { exec } = require('child_process');var app = express();class Notes { constructor() {...
1.2k words 1 mins.

# [HITCON2016]Leaking 源码: "use strict";var randomstring = require("randomstring");var express = require("express");var { VM} = require("vm2");var fs = require("fs");var app = express();var flag =...
115 words 1 mins.

# [BSidesCF 2019]Pick Tac Toe 基本上就是 ctrl+u(看见 /move 的路由,有一些 id,有 POST 方法,试一下 /move,POST:move=id)发现只能改一次,但是也够了用 move=r,i 第二行最后一个就行
5k words 5 mins.

# [RCTF2019]Nextphp <?phpif (isset($_GET['a'])) { eval($_GET['a']);} else { show_source(__FILE__);}非常简洁的页面:包禁了好多函数的直接 phpinfo...
566 words 1 mins.

# [FBCTF2019]Event # 进入是这样的 直接注册 / 登录: F12 发现有个 event_important 参数:用__dict___发现有回显,为 ssti 发现有可疑的 session user,可能在环境变量里面有密钥: 直接: __class__.__init__.__globals__[app].config 密钥: fb+wwn!n1yo+9c(9s6!_3o#nqm&&_ej$tez)$_ik36n8d7o6mr#y 有密钥后: from flask import Flaskfrom flask.sessions...