2020湖湘杯部分Writeup

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….

image_1em3alvbefs1vtnccr1u7j1fjs9.png-9.5kB

因为一开始在做misc的内存取证题目,就没抢到前面

web4

拿到题目,是个CMS的模板网站,看一下源码

image_1em3asjrkkvg1ll51dja1no61s9gm.png-89.8kB

看到有存在cid的地方,访问一下,直接上sqlmap

image_1em3avkak1aof1d4p1p9q1ko8ond13.png-445.7kB

存在注入,直接dump一手数据库

sqlmap -u "http://47.111.96.55:53900/?r=content&cid=1" --dump -D xh

发现管理员的用户名和密码

image_1em3b9kl4dbbmll1j751u8g2f1g.png-268.4kB

以及文件上传的路径

image_1em3bbla2o471rqhmu91rl2da91t.png-348.1kB

尝试访问一下后台

使用弱口令成功登陆

image_1em3bdklh1p6e3u5ag61vaofed2a.png-403.9kB

在后台处发现存在文件上传,使用php3后缀上传

image_1em3bf326181911r6112ir3s1ade2n.png-290kB

成功解析文件,获取flag

image_1em3bfqtl1ipej2kgjc9r8s7l34.png-304.4kB

misc

misc2 passwd

题目直接给了提示和镜像文件,flag为sha1加密的用户密码,下载下来后使用volatility进行分析

image_1em3bmhme1i5teiq1pf51f711rfc9.png-22.5kB

查看一下镜像文件系统类型

image_1em3bp9u81o0ei6e1mh71g9mit6m.png-154.5kB

Win7的系统,因为题目给了提示,flag为用户的密码,我们首先获取一下当前的用户

volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 printkey -K "SAM\Domains\Account\Users\Names"

image_1em3c1i291nps1c6rovhjl41ffm1g.png-99kB

发现系统中存在ctf用户,猜测flag为ctf用户的密码,尝试获取系统用户的密码,首先获取到系统的SAM和SYSTEM表的虚拟位置

volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 hivelist

image_1em3c4gpd1nl71jfjbdb16h31mcp1t.png-182.3kB

根据SAM表和SYSTEM表获取用户的密码信息

volatility -f WIN-BU6IJ7FI9RU-20190927-152050.raw --profile=Win7SP1x86_23418 hashdump -s 0x93fc41e8 -y 0x8a01c008

image_1em3c8hk27d11hplpapnrqvid2a.png-73.7kB

解密获取明文再sha1加密一下

image_1em3cbdctpav1ug6t7579e112q2n.png-91.1kB

成功获取到flag

misc4

也是内存取证题目,题目直接给了vmem

image_1em3cksmfiu32d71p4qm6j6se34.png-116.6kB

分析一下系统版本,看一手进程信息

volatility -f 1.vmem --profile=Win2003SP2x86 psscan

image_1em3cpuu51n9d1n1vo2o1u6l12jk3h.png-142.1kB

发现系统中存在notepad记事本的进程,猜测里面应该写的有提示,尝试读取一下文件

image_1em3csq2h1fd712aarfpv6330b3u.png-71.8kB

发现获取出来的数据为乱码,猜测应该是编码的问题,再看一下桌面的截图

volatility -f 1.vmem --profile=Win2003SP2x86 screenshot --dump-dir=./

image_1em3d7mpj1poj1on7bq116681aau4b.png-96.4kB

image_1em3d8sfldkpqv41gns534k4t58.png-38.3kB

发现存在file.txt,尝试dump文件

volatility -f 1.vmem --profile=Win2003SP2x86 filescan | grep "file.txt" 
#获取file.txt文件的虚拟地址

image_1em3dck4lima1fep1vegqg81a45l.png-91.2kB

dump文件

image_1em3df9nn1a4u1jcq1q7s10q61j1c62.png-70.5kB

防止编码问题,使用windows系统文本查看器打开

image_1em3dhif11t5c1342bpbssf56q6f.png-28.5kB

成功获取提示,提示我们找到非法登陆的用户名和密码,MD5加密后即为flag,首先获取一手当前系统的用户

image_1em3dt37410vi1p271qpr1ekkals6s.png-131kB

看到获取到了很多的用户名,我们无法直接去推断用户的登陆信息,下一步就是分析,获取更多的相关信息,首先还是先把用户名和密码给Dump出来

image_1em3gvaat1evh1hre1u7nbd1bqk79.png-134.8kB

这个题目比赛做到这里就卡到了,根据用户名可以知道非法登陆应该为远程登陆,查看最后的登陆信息,后来还是北辰出的,看的是eventlog和注册表信息,我也是才知道volatility的evtlogs参数,导出系统的eventlog,不过限制版本,只有windows2000、windows2003才能导出信息

虚实之间-misc3

比较简单的明文攻击题目,不过更换了好几个工具才爆破出来,推荐使用AZPR4.0版本,用4.54显示无法识别,后来看CSDN上面明文攻击的wp用的好像都是4.0,随即去下载了一个使用

下载题目,获取到压缩包文件,拖入我们的kali中分析

image_1em3nc89c7uqsamftn12ega777m.png-62.9kB

存在隐藏压缩包,直接foremost强制分离一手获取到压缩包,解压一下,获取到mingwen的副本文件,使用winrar进行压缩,利用AZPR进行明文攻击

image_1em3nmdgo1u6g42e16fn1v8bbc383.png-132.4kB

成功获取到密码,解密一下

image_1em3npvn2p0g1mdap811q2f1jh88g.png-19.6kB

猜测flag为栅栏密码加密,位移为5,直接在线解密,成功获取到flag

image_1em3ns2da8rn16b16nr10cp1c308t.png-28.3kB


发表评论

电子邮件地址不会被公开。 必填项已用*标注