XCTF mfw

一.进入实验环境

  点击About,发现git,可能有git源码泄露,访问git发现确实存在源码泄露,这里用 GitHack去获取源码。

  

 

   在flag.php文件中,结果一段时间的审计,发现存在漏洞

  

 

   这里没有对输入的的page经过严格的过滤和处理。

  先了解一下这个函数:

  bool assert(mixed $assertion[,string $description]),如果assertion是字符串,他会被assert()当做php代码执行。

  并在结果为false时采取相应的行动,通过可控变量page传入恶意参数,构造闭合,使assert()执行恶意代码。

  我们可以构造payload将strpos函数进行闭合,看到大佬的payload为 '.system("cat ./templates/flag.php").',

  或者         ') or print_r(file_get_contents('templates/flag.php');#

  这里url为  http://111.198.29.45:38652/?page=%20%27.system(%22cat%20./templates/flag.php%22).%27

  

 

 

  

 

  

posted @ 2020-04-03 19:00  l2sec  阅读(405)  评论(0编辑  收藏  举报