WMCTF2023-Web
ez_blogwp1 wp2
下载附件 然后开始对app.js进行审计
这里app.js里给了注释 看起来还是比较好看的
你的权限放着我来先进行注册
登录后查看源码 给了一些提示和邮箱
经过测试发现密码找回功能能够收到邮件
收到邮件后访问该链接进行抓包 然后访问该api接口进行密码修改
这里的话email换成前面给的固定的那几个邮箱 一个一个试就可以 token得为空 不然会失败
ez_blog2这里主要是记录一下主从复制怎么打
https://www.yuque.com/dat0u/ctf/llicuvep2fhtx77i
上面是参考链接和题目的地址
(这里就差不多照抄一遍吧 方便以后自己好查)
题目启动脚本
1docker run -it -d -p 12345:3000 -e FLAG=flag{8382843b-d3e8-72fc-6625-ba5269953b23} lxxxin/wmctf2023_ezblog2
进入容器后
访问/home/ezblog/.pm2/logs cat main-out.log
获取到pin ...
Java-内存马回显技术
参考文章1
参考文章2
内存马回显技术所谓回显,其实就是获取命令执行的结果,这种技术常用于目标机器不出网,无法反弹shell的情况。对于Java的中间件来讲,其关键就是获取request和response对象。
(这里我对不出网的理解是不能进行外连(也就是无法弹shell了),就是只能接收到外部请求)
那么这种情况就只能写入内存马 并且就是得想要request对象将生成的结果带出来 (那么HttpServletRequest ServletRequest 这种来获取request就是不行的)
ThreadLocal Response回显(有局限性)首先要注意的是,我们寻找的request对象应该是一个和当前线程ThreadLocal有关的对象,而不是一个全局变量。这样才能获取到当前线程的相关信息。最终我们能够在org.apache.catalina.core.ApplicationFilterChain#internalDoFilter类中找到这样两个变量lastServicedRequest和lastServicedResponse。并且这两个属性还是静态的,我们获取 ...
show-Java
1a90164da2a38547586d85c848ea232366b2d39f28f378a80a9367580f0834c7791a23bf6397ceb037ecf4f99edf772ba12fdc06222369dd2343a3df46e26c9f19dd34dc92b8b229d6695f6e68e00caf97edc9dd9d5fcd3f49126aabbd1ab556ff9e510b833729b75e52522d7bb181b2cc9df88b214f37b239aaf7f2d68a0d3eb46a812d0971d7a44a201c12aec06d4f248475df9fbf7a96a80ebe3d434bcac12a8aeda7443dfa550266190a399a10e6b16c28947dbe6792c1db6be01f5b390527fe3051aaa3487a15c3cdc9335df7f58c56f63a1b77257c8757bd19d99c7e10afec8b55381d0965519da5fc59de4e056bf7a36c6b6316a92 ...
show-Nodejs污染
1a90164da2a38547586d85c848ea23230add88e2545f7ec32211a97aa4821bd7ccf011e54f6de29e743327d7c4a1c96d9791e956cea1b75af5ead6efb24fd2b12ae9e0f1dfb0f0db69617ac193308957f2283e3c216b31e8a0a04c46aefe597027d505790933cab70448808421679010f7b3f957f41f88cdd0546726faa0b9644e370173d3ccb55947d870903602f4c8601f764eb6ccafa9204017b6126fc7a303b46eebef25f1e22c94e80377200e73540e50d36e03983558b8df740b6ab8d57926a368e2ed01792e4da8bc329ec123f9bf2ebbd607e194758f68daa8139d2ab7fe48dd2ceb6d929827362917f2ba9a39ed62211ab639adf ...
Docker-学习
这里写这个的话主要是为了记录这个学习docker的过程
参考文章1
参考文章2
docker安装方式自行google 很快就能安装好了
(之前只是简单的了解了一下docker 没咋用过 现在开始学习后才发现docker的强大)
ubuntu
nginx
php7.4-fpm
以上就是要用到地东西
拉取ubuntu镜像docker pull ubuntu (不指定版本地话都是拉取最新的版本)
或者在Docker-desktop 里面搜索下载也是可以的
1docker run -it -p 8080:80 --name=ctf ubuntu(镜像ID)
1exit //是退出
启动一个已停止的容器:
1docker start b750bbbcfd88 (镜像ID)
进入容器
123docker attach b750bbbcfd88 (镜像ID)或者docker exec -it b750bbbcfd88 /bin/bash
安装命令前 先进行
1apt update
安装nginx这里的话直接是在Ubuntu里进行安装
1apt install -y ngin ...
show-Python反序列化
1a90164da2a38547586d85c848ea2323d762a3ffb367be5a4c22b191df8c9b7c3982a2e7b92a0b91b3f9bc979ba8e671a8d0cc06fe3aac9ec976bfc329f9a0901cecb781dcece9b667c68af84eeb7bdb236bd10bfbabd929b84c2259d527412eb962fff47e5641d35b42d9ded0e3333459cbcac5ddbbce906d3082c62854c9f5a6e8ea3a73727d4b4510319d12e8786d8b2f16166a48fd57ae00782b7e0c9a075eae8e2f9f833e26d011a3b26ca5c38e42d40898ef4ae4b0934d9446952bd67b1c0657e09544e71ab44b2ed9c09216fb4795da01248a337172fc414fa7c655bdf013695d0dfeeaa14aaedd0a7b01a0cd97c20bbe8a1b2f871 ...
Python原型链污染
写这篇文章是为了占位
因为比赛的时候刚好遇到这里不会
python原型链污染详解
Web -EzFlask 这道题考察到了
关于这道题的解在博客直接搜索这个比赛的wp就能看到了
XXE-xpath注入
这里这篇文章是为了占位
因为有个比赛考到了 刚好我不会 所以写篇文章来占位一下 方便下次自己好查阅
考点是xxe的xpath盲注
xpath详解
xxe和xpath详解
WEB -MyPicDisk 这道题考察到了
wp的话在这个比赛的wp上
直接在博客上搜索就行
DASCTF 2023 & 0X401-Web
EzFlaskpython原型链污染
提供源码 开始审计
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980import 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, ...
巅峰极客2023-Web
BabyURL审计代码得出一个思路
就是在反序列化的时候会将得到的内容写入到 /tmp/file下
然后在/file下就可以读取到内容
题目把这个有反序列化入口的类给ban了
这里的话就可以容易想到二次反序列化绕过
刚好就可以想到SignedObject这个jdk自带的类
查看依赖发现没有什么特别的类可以用 于是就想到之前阿里云ctf里用过的JackSon这个类
刚好可以触发getter
于是得出利用了链
123BadAttributeValueExpException POJONode SignedObject
所以最终的POC
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647package com.yancao.ctf;import com.fasterxml.jackson.databind.node.POJONode;import com.yancao.ctf.bean.URLHelper;import com.yancao.ctf.b ...