Contents
2020湖湘杯部分Writeup
前言
今年湖湘杯是和天命一块打的,主要做的web和misc
WEB
web1
<?php
error_reporting(0);
//I heard you are good at PHPINFO+LFI, flag is in flag.php, find it my dear noob vegetable hacker.
if ( isset($_GET['file']) ) {
$file = $_GET['file'];
if ( $file === "phpinfo" ) {
phpinfo();
exit;
}
if ( preg_match('/proc/i' , $file) ) {
die("private");
}
$file = "/var/www/html/" . $file;
$content = file_get_contents($file);
if ( !$content ) {
die("nothing");
}
if ( preg_match("/script|<\?/i", $content) ) {
die("bypass me");
}
include_once $file;
} else {
highlight_file(__FILE__);
}
应该是题目的环境变量设置出错导致了非预期,题目本意是让我我们绕过正常过滤的函数达到bypass的目的,不过给了提示?file=phpinfo,后来直接在phpinfo里搜索环境变量就搞到了flag….
因为一开始在做misc的内存取证题目,就没抢到前面
web4
拿到题目,是个CMS的模板网站,看一下源码
看到有存在cid的地方,访问一下,直接上sqlmap
存在注入,直接dump一手数据库
sqlmap -u "http://47.111.96.55:53900/?r=content&cid=1" --dump -D xh
发现管理员的用户名和密码
以及文件上传的路径
尝试访问一下后台
使用弱口令成功登陆
在后台处发现存在文件上传,使用php3后缀上传
成功解析文件,获取flag
misc
misc2 passwd
题目直接给了提示和镜像文件,flag为sha1加密的用户密码,下载下来后使用volatility进行分析
查看一下镜像文件系统类型
Win7的系统,因为题目给了提示,flag为用户的密码,我们首先获取一下当前的用户
volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 printkey -K "SAM\Domains\Account\Users\Names"
发现系统中存在ctf用户,猜测flag为ctf用户的密码,尝试获取系统用户的密码,首先获取到系统的SAM和SYSTEM表的虚拟位置
volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 hivelist
根据SAM表和SYSTEM表获取用户的密码信息
volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 hashdump -s 0x93fc41e8 -y 0x8a01c008
解密获取明文再sha1加密一下
成功获取到flag
misc4
也是内存取证题目,题目直接给了vmem
分析一下系统版本,看一手进程信息
volatility -f 1.vmem --profile=Win2003SP2x86 psscan
发现系统中存在notepad记事本的进程,猜测里面应该写的有提示,尝试读取一下文件
发现获取出来的数据为乱码,猜测应该是编码的问题,再看一下桌面的截图
volatility -f 1.vmem --profile=Win2003SP2x86 screenshot --dump-dir=./
发现存在file.txt,尝试dump文件
volatility -f 1.vmem --profile=Win2003SP2x86 filescan | grep "file.txt"
#获取file.txt文件的虚拟地址
dump文件
防止编码问题,使用windows系统文本查看器打开
成功获取提示,提示我们找到非法登陆的用户名和密码,MD5加密后即为flag,首先获取一手当前系统的用户
看到获取到了很多的用户名,我们无法直接去推断用户的登陆信息,下一步就是分析,获取更多的相关信息,首先还是先把用户名和密码给Dump出来
这个题目比赛做到这里就卡到了,根据用户名可以知道非法登陆应该为远程登陆,查看最后的登陆信息,后来还是北辰出的,看的是eventlog和注册表信息,我也是才知道volatility的evtlogs参数,导出系统的eventlog,不过限制版本,只有windows2000、windows2003才能导出信息
虚实之间-misc3
比较简单的明文攻击题目,不过更换了好几个工具才爆破出来,推荐使用AZPR4.0版本,用4.54显示无法识别,后来看CSDN上面明文攻击的wp用的好像都是4.0,随即去下载了一个使用
下载题目,获取到压缩包文件,拖入我们的kali中分析
存在隐藏压缩包,直接foremost强制分离一手获取到压缩包,解压一下,获取到mingwen的副本文件,使用winrar进行压缩,利用AZPR进行明文攻击
成功获取到密码,解密一下
猜测flag为栅栏密码加密,位移为5,直接在线解密,成功获取到flag