进来页面如下:

攻防世界-高手进阶区之mfw

虽然在源码中找到了flag.php但是访问了是个空页面。

然后在about中发现了一些好玩的:

攻防世界-高手进阶区之mfw

这大致猜测是git源码泄露了:

然后用githack来获取内容:

得到如下信息:

攻防世界-高手进阶区之mfw

虽然templates中也有内容,但是并不重要,在index.php中有一些特别的内容:

攻防世界-高手进阶区之mfw

在assert中会执行括号内的内容。

所以可以利用assert函数的特性,来读取flag.php。

构造page=abc') or system(cat /templates/flag.php);//

如果把page内容传递进去之后,则assert中的内容会变成strpos('abc') or system(cat /templates/flag.php);

因为strpos没有第二个参数,所以返回的值一定是false,所以一定会执行or的内容,然后就可以在源码中得到flag。

 

写在最后:

1.assert函数 有些些类似于eval函数,会执行()内的内容

2.一些常见的源码泄露:svn,git,ds_store,备份文件,cvs,hg init 

相关文章:

  • 2022-01-15
  • 2021-09-13
  • 2021-09-25
  • 2021-10-14
  • 2022-12-23
  • 2021-07-25
  • 2021-06-23
  • 2021-04-11
猜你喜欢
  • 2021-12-26
  • 2022-01-09
  • 2022-12-23
  • 2021-09-27
  • 2021-06-19
  • 2021-06-15
  • 2021-11-29
相关资源
相似解决方案