DubheCTF2024 wp
ezPythonCheckin一个pyjail,过滤了一些危险函数,直接open读取即可1234567891011121314151617181920212223242526272829303132import base64black_list = [ "nosec", "import", "load", "''", '""', "[]", "{}", "().", "builtins", "dict", "dir", "locals", "base", "classes", "+", "mro", " ...
JAVA反序列化之CC1链分析
环境maven加依赖:1234567<dependencies> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency></dependencies>jdk8u65:https://blog.lupf.cn/articles/2022/02/19/1645283454543.htmlsun包:http://hg.openjdk.org/jdk8u/jdk8u/jdk/archive/af660750b2f4.zip
需要将sun包下载的jdk的src/share/classes/sun拷贝到jdk8u65的src文件夹里IDEA的项目结构的SDKs将jdk8u65的SourcePath加上之前jdk8u ...
JAVA反序列化基础和URLDNS链
一些小基础HashMap类学习参考: https://www.cainiaojc.com/java/java-hashmap.htmlHashMap是以键值对存储的哈希表,包在java.util.HashMap
几个常见方法:
put():插入指定的键值对到map中
entrySet():返回一组所有键值对映射的map
keySet(): 返回map的所有键集合
values(): 返回map所有值的集合
get(): 返回指定键对应的值
remove(key): 返回并删除对应键的值
replace(key,value): 将key对应的值换成value
eg1234567891011121314151617181920212223import java.util.HashMap;class Main { public static void main(String[] args) { HashMap<String, Integer> numbers = new HashMap<>(); numbers. ...
攻防世界刷题1
ez_curl考点:
nodejs的parameterLimit1000个限制
RFC 7230,header字段可以通过在每一行前面至少加一个SP(空格)或HT(制表)来扩展到多行,node正好支持
12345678910111213141516const express = require('express');const app = express();const port = 3000;const flag = process.env.flag;app.get('/flag', (req, res) => { if(!req.query.admin.includes('false') && req.headers.admin.includes('true')){ res.send(flag); }else{ res.send('try hard'); } ...
CVE-2023-21839复现
简介Weblogic t3/iiop协议支持远程绑定对象bind到服务端,并且可以通过lookup查看,当远程对象继承自OpaqueReference时,lookup查看远程对象,服务端会调用远程对象的getReferent方法,weblogic.deployment.jms.ForeignOpaqueReference继承自OpaqueReference并且实现了getReferent方法,并且存在var5 = var4.lookup(this.remoteJNDIName);实现,故可以通过rmi/ldap远程协议进行远程命令执行。
影响版本:
12.2.1.3.0
12.2.1.4.0
14.1.1.0.0
环境搭建1docker pull vulhub/weblogic:12.2.1.3-2018
1docker run -d -p 7001:7001
ifconfig看一下虚拟机对外网的ip
物理机访问
复现Dnslog:
反弹shellJNDI工具:https://github.com/WhiteHSBG/JNDIExploit/releases/tag/v1 ...
巅峰极客2023web writeup1
hellosql经过简单fuzz一下发现过滤了1* sleep union benchmark count if 为什么偏偏就过滤和时间盲注有点的关键词呢,我感觉是考时间盲注的bypass,禁用了sleep,benchmark和count(*),想到了get_lock,而这题就是考的笛卡尔积,碰到知识盲区了没做出来,赛后学了一下笛卡尔积时间盲注,查漏补缺了一下时间盲注的方法,都写这在这篇文章了时间盲注的方法
if过滤用case…when…then…end代替,count(*)可以用其他的聚合函数(avg,sum,min,max)绕过,这里用max
12345678910111213141516171819202122232425262728import requests import time url = 'http://web-83bfbb55f8.challenge.xctf.org.cn/index.php' flag = '' for i in range(1, 100): high = 127 low = ...
SYCTF2023
CarelessPy主页面的源代码提示了/eval路由和/login路由和一个任意文件下载/download?file=zayu2.jpg,eval路由可以传参cmd文件的路径来回显ls操作任意文件下载做了限制不能读flag和app.py,这里我们可以读pycache文件夹里面的part.cpython-311.pyc,然后pyc反编译1/download?file=../../__pycache__/part.cpython-311.pyc反编译的结果:然后去修改session:1eyJpc2xvZ2luIjp0cnVlfQ.ZRbAvg.y0__DjYK72pGaxry8UGzza9Dp8A修改session得到提示去/th1s_1s_The_L4st_one路由,发现是个xxe页面,而且没有过滤12345<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE note [<!ENTITY abc SYSTEM "file:///flag" >]> ...
SEECTF2023
[SEETF 2023]Express JavaScript Security下载附件,ejs版本3.1.9,存在SSTImain.js123456789101112131415161718192021222324252627282930313233343536const express = require('express');const ejs = require('ejs');const app = express();app.set('view engine', 'ejs');const BLACKLIST = [ "outputFunctionName", "escapeFunction", "localsName", "destructuredLocals"]app.get('/', (req, res) => { return res.render( ...
Pyjail学习1
前言之前没咋了解过这种题目,前几天强网杯遇到了三个pyjail题,当时搜文章出来全是HNCTF2022的wp和先知社区的总结文章,当时强网也只出了两个,于是打算赛后好好学习一下python沙箱逃逸的内容,感觉内容还挺多的,这篇先把2022的HNCTF题给全刷了(主要看的wp),下一篇在对知识总结
HNCTF2022wp这里用的nssctf的平台来做的: https://www.nssctf.cn/
[HNCTF 2022 Week1]calc_jail_beginner(JAIL)123456789101112131415161718192021#Your goal is to read ./flag.txt#You can use these payload liked `__import__('os').system('cat ./flag.txt')` or `print(open('/flag.txt').read())`WELCOME = ''' _ ______ _ ...
2023鹏城杯
Web-Escape这题直接改的别人的题,链接:https://github.com/noflowpls101/CTFS_2023/blob/a78e5f759304a01415cb6b1f5113c2384b353e7f/ImaginaryCTF_2023/Web_Helpful/solve.py,没给salt,16位爆破太长了,直接注入找环境变量主要是信息收集吧 https://imaginaryctf.org/ArchivedChallenges/39
http://172.10.0.5:10000/?username={passhash.__str__.__globals__[app].wsgi_app.__globals__[os].environ}&password=anything注入
Web-web1123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 ...