DDCTF之滴~
程序员文章站
2022-03-09 16:09:01
...
DDCTF之滴~
最近做了DDCTF2019的web题,第一个滴~就让人很难受。
打开页面:
发现URL地址上有一串类似于base64的密文,解码一下:
发现还是base64,继续:
貌似是16进制转ASCII码:
再查看一下源码发现:
这样好像可以读取index.php的源码,构造一下,把index.php转为16进制,在进行两次base64加密:
加到jpg=后面,查看源码,得到index.php的base64加密的源码:
把base64源码解密得到源代码:
一开始一直以为是绕过config拿到config.php源码才能做下去,之后才发现想多了。
下面有个注释是问我们能不能找到flag的文件。
打开源码中的博客页面。
打开vim异常退出swp这个文章(完全想不到):
其实就是这个swp文件(坑~~),试一试发现有这个文件
同理进行16进制转ASCII码,进行两次base64编码,当作参数传入,得到(ps:不要.,是practice.txt.swp):
进行解码得到内容: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:
上一篇: 再不过来我就把它给我儿子戴了
下一篇: CSS 还能这样玩?奇思妙想渐变的艺术