欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DDCTF之滴~

程序员文章站 2022-03-09 16:09:01
...

DDCTF之滴~

最近做了DDCTF2019的web题,第一个滴~就让人很难受。
打开页面:
DDCTF之滴~
发现URL地址上有一串类似于base64的密文,解码一下:
DDCTF之滴~
发现还是base64,继续:
DDCTF之滴~
貌似是16进制转ASCII码:
DDCTF之滴~
再查看一下源码发现:DDCTF之滴~
这样好像可以读取index.php的源码,构造一下,把index.php转为16进制,在进行两次base64加密:
DDCTF之滴~
加到jpg=后面,查看源码,得到index.php的base64加密的源码:
DDCTF之滴~
把base64源码解密得到源代码:
DDCTF之滴~
一开始一直以为是绕过config拿到config.php源码才能做下去,之后才发现想多了。
下面有个注释是问我们能不能找到flag的文件。
打开源码中的博客页面。
DDCTF之滴~
打开vim异常退出swp这个文章(完全想不到):
DDCTF之滴~
其实就是这个swp文件(坑~~),试一试发现有这个文件
同理进行16进制转ASCII码,进行两次base64编码,当作参数传入,得到(ps:不要.,是practice.txt.swp):
DDCTF之滴~
进行解码得到内容:f1ag!ddctf.php
好了,毋庸置疑,flag在这个文件里面。(注意,config会被转为!所以用f1agconfigddctf.php转)
同理进行操作读取到源码:

<?php
include('config.php');
$k = 'hello';
extract($_GET);
if(isset($uid))
{
    $content=trim(file_get_contents($k));
    if($uid==$content)
	{
		echo $flag;
	}
	else
	{
		echo'hello';
	}
}

?>

代码审计一下。
进入f1ag!ddctf.php页面传递参数?uid=
就能得到flag:
DDCTF之滴~

相关标签: DDCTF