XCTF(攻防世界)—进阶web题Write Up(二)

前言:继续总结学到的新知识

mfw

XCTF(攻防世界)—进阶web题Write Up(二)_第1张图片
在about页面发现,搭建网站时用了git,尝试一下是否为git源码泄露
XCTF(攻防世界)—进阶web题Write Up(二)_第2张图片
输入:

http://111.198.29.45:36544/.git/

XCTF(攻防世界)—进阶web题Write Up(二)_第3张图片
果然是源码泄露,那就查看一下文件,发现并没有找到flag,在Github上下载git源码泄露工具,可以得到其源码。

输入相应的命令:

python2 GitHack.py http://111.198.29.45:36544/.git/

XCTF(攻防世界)—进阶web题Write Up(二)_第4张图片

得到源码,发现并没有flag
XCTF(攻防世界)—进阶web题Write Up(二)_第5张图片
查看index.php发现
XCTF(攻防世界)—进阶web题Write Up(二)_第6张图片
并没有对GET进去的参数进行过滤,assert函数中参数为表达式可以当作PHP文件来执行,再了解一下以下这两个函数:

strpos() 函数查找字符串在另一字符串中第一次出现的位置。
file_exists() 函数检查文件或目录是否存在

有了assert函数,又没有过滤,可以用system()函数进行查看文件等

?page=flag '.system("ls").'

在这里插入图片描述
查看templates

?page=flag '.system("cd templates;ls").'

在这里插入图片描述
最后查看flag.php

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

在这里插入图片描述
在源码中即可发现flag

注意:

system("") 中命令使用双引号

NaNNaNNaNNaN-Batman

下载附件,打开文件发现乱码
XCTF(攻防世界)—进阶web题Write Up(二)_第7张图片
不过还是能看到

你可能感兴趣的:(CTF)