某集团ctf部分wp
前两天,大师傅说,有个比赛让我看看,这里记录以下。
misc1
给到一个附件,
观察流,看到有rememberMe=的流量,大概率是shiro反序列化了,上面也执行了一些命令,但是没有执行查看flag命令,这里了内存马
且流量后面可以看到打了内存马,用了内存马,
用大师傅的软件反编译,可以看到内存马的key,哥斯拉解密不需要pwd,只需要key即可,流量少的话直接厨子即可
看了很多流没看到flag,索性看一下请求包,发现有echo的语句。
666c61677b63306e67723474735f74305f66316e645f7468335f7365637265745f6f465f6834636b33727d
misc2
最下面有一个flag。zip,直接导出即可。发现是假的
secret.zip是真的。
misc3 xiaozhang
看到
POST /submit.php?id=1389642286 HTTP/1.1,大概率就是cs流量了,给了一个raw,那必是在其中找私钥了,
网上找了一下,发现是原题,NepCTF2025 misc部分 客服小美
给一个大师傅的wp连接https://blog.csdn.net/edigexiong/article/details/149725919
这里就不在复现了。
misc4 比赛未作出
开局给到一个流量包,
可以看到有很多流量
随便点一个是sqlmap的注入流量
那就经典的misc日志分析提flag了,以往这里都是get流量,且最后用的=,用等于的话,盲注只需提最后一个字符即可,然后这个是>,那么就需要具体的进行分析了,
id=1%27%20AND%20ORD%28MID%28%28SELECT%20IFNULL%28CAST%28table_name%20AS%20NCHAR%29%2C0x20%29%20FROM%20INFORMATION_SCHEMA.TABLES%20WHERE%20table_schema%3D0x73746f7265%20LIMIT%200%2C1%29%2C6%2C1%29%29%3E96%20AND%20%27SpqU%27%3D%27SpqU&Submit=Submit
id=1' AND ORD(MID((SELECT IFNULL(CAST(table_name AS NCHAR),0x20) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=0x73746f7265 LIMIT 0,1),6,1))>96 AND 'SpqU'='SpqU&Submit=Submit
,显卡这个流量,6,1))>96 可以看到是用的大于,如果这里直接提最后一位会不准
为什么呢,因为sqlmap使用的是二分法,在判断的时候,会进行>64 , > 96, > 104,这样判断,我们只知道他的上线而不知道他的下线,怎么判断>64 是否对,在盲注里用字符串大小判断,其实也就是判断回显内容,所以这里,我们要进行判断回显内容,
根据回显内容,可以看到注入的是dvwa,dvwa在盲注时,用
User ID exists in the database.判断

如果正确,就是User ID exists in the database.,错误就是\t\t
User ID is MISSING from the database.\r\n
这样的话,我们就可以进行区分了,下一步就是提取流量了,sqlmap跑的流量很多,一个一个看肯定不现实,所以用脚本提出了所有符合条件的,这里注意,先进行
http.response过滤,我们要根据回显包的内容,来提取请求报的内容,观察到,
数据包回显在400左右时,回显内容是我们要到,取个中,小于700,
1 |
|
然后,找gpt写一个脚本,先把符合的流量的流序号进行拿出来,在进行把序号的流的全部内容导出。目前来看只能用这种方式提了,
查看der 就是符合所有条件的数据包了,然后在进行正则匹配。只要payload即可。
strings re.txt| grep "id=1" > re222.txt
就会有一大堆这个数据,利用脚本提取即可
1 | import urllib.parse |
这里注意正则别写错了,每次的正则都不一样,`id=1’ AND ORD(MID((SELECT IFNULL(CAST(table_name AS NCHAR),0x20) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=0x73746f7265 LIMIT 0,1),6,1))>96 AND ‘SpqU’=’SpqU&Submit=Submit
可以得到前半段,接下还有后半段,
在最下面,我们可以看到,有php的流量,大概率是木马的流量了,
这里可以看到有这个referer,这就是冰蝎的流量,我们在以前的二开冰蝎中分析过,冰蝎的作者,特意加的这个referer。那么接下来就是找马,找key,一般文件上传都是post传参,直接过滤post流量
似乎并没有上传的流量,但是我们可以看到,icon流进行了上传
这里追踪可以看到上传了zip,里面文件叫key,导出即可,
发现要密码,再从流量包中找密码,试了在sql注入中的第一个字段,第二个字段都不对
无果,尝试爆破
发现为弱口令,
这里,key为这个,可以发现,这不是冰蝎3的,冰蝎三是不能设置密码的,也就是这是设置的key,冰蝎3默认的key必须是16进制的,就是密码的md5的前十六位,必然不可以有wklkju,那么这里可能还要回去找🐎,没有马的话,只能猜了,
这里直接猜,就是aes的马,直接上面的哥斯拉直接改下key即可
即可得到后半部分flag,拼接即可。
web1 比赛中未出
开局给到一个jar,说是shiro,
反编译查看,存在接口,存在反序列化,因为是shiro,所以需要key,但全部jar看完为找到key。
2022MTCTFWP-Web ezjava,考过,;绕过
这个漏洞可以绕过。
接受input,
这里用大师傅的工具直接生成链子,生成回显的,记得要urlencode,在bp中发包。
head执行命令即可。此题在大师傅A_llen
帮助下完成,感谢大师傅。
总结
emmm 太菜了
一直在路上