buuctf web warm up
进去界面后,可以看到一张滑稽表情图,老规矩,先f12,查看网页源码:如图:
看到注释里面给了个提示,source.php,那么显然,就需要审计代码了
跳转如下地址http://4d06e63d-087b-496a-8c15-92a4b42f001d.node3.buuoj.cn/index.php?file=source.php,如图:
比较菜,php代码审计我也不太懂,大佬是这样解释的:
原地址:https://www.cnblogs.com/xhds/p/12266072.html
那位大佬说访问hint界面就会这样:
这说明,flag在ffffllllaaaagggg里面,大佬的代码审计是这样的:
1 class emmm
2 {
3 public static function checkFile(&$page)
4
5 {
6 //白名单列表
7 KaTeX parse error: Expected \'EOF\', got \'&\' at position 112: …ng()判断变量是否是字符串 &̲&用了逻辑与两个值都为真才执行…page) || !is_string(whitelist 如果有则执行真
14 if (in_array($page, page的值有?则从?之前提取字符串)
18 $_page = mb_substr(
19 page . ‘?’, ‘?’)//返回whitelist 如果有则执行真
25 if (in_array($_page, page解码
29 page);
30
31 //第二次过滤问号的函数(如果$page的值有?则从?之前提取字符串)
32 $_page = mb_substr(
33 _page . ‘?’, ‘?’)
36 );
37 //第三次检测传进来的值是否匹配白名单列表_page, $whitelist)) {
39 return true;
40 }
41 echo “you can’t see it”;
42 return false;
43 }
44 }
但本人不会php代码审计,所以也看的毫无头绪,所以呢?再进行这样的操作:http://5c8d494a-f267-4971-bcdb-082104d64a92.node3.buuoj.cn/index.php?file=hint.php?../…/…/…/…/ffffllllaaaagggg,跳转之后就有了flag:
虽然是write up,但一半是参考大佬的,所以自己就总结一下吧
首先要学会HTML,看得懂网页源码,其次学会php,可以看得懂代码,看不懂就无法分析,但其实质上,这道题也介绍了网站的体现方式,不懂还是要学啊