XCTF warmup

一.进入实验环境后一脸懵逼

  

 

   我们右键查看源代码,发现在注释里面透露一个source.php

  

 

  我们打开这个source.php,发现是一段php代码,我们先进行代码审计,且发现   hint.php, 我们访问一下这个文件

  

 

   得到包含flag的文件名。

  我们再来看看source.php的代码部分:

  mb_substr() 函数返回字符串的一部分,之前我们学过 substr() 函数,它只针对英文字符,如果要分割的中文文字则需要使用 mb_substr()。

  注释:如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。

  用法:mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) : string

  

 

   mb_strpos():返回要查找的字符串在别一个字符串中首次出现的位置

  用法:mb_strpos(haystack, needle)

  haystack:要被检查的字符串。needle:要搜索的字符串。

  注意:mb_strpos()函数返回被查找的字符串在别一字符串中首次出现的位置

  中文查找中,尽量要声明一下页面的编码为UTF-8。

  经过源码审计,只要满足checkfile函数,为字符串,且不为空,那么就会被include

  我们构造source.php? +字符串即可

  这里我们构造  source.php?/../../../../../ffffllllaaaagggg,再进行url编码,得到flag

 

posted @ 2020-04-03 09:23  l2sec  阅读(771)  评论(0编辑  收藏  举报