BugKu-WEB-变量1
BugKu-WEB-变量1
题目


思路
打开可以看到是一份php代码,估计就是在考察代码审计
1 |
|
这个代码大概的意思就是:
1.删除错误信息
2.引用flag1.php文件
3.显示目前文件的源代码
4.检测args这个变量有没有从GET方法那里定义,如果有就执行下面的语句
5.先定义args为从GET方法获得的args的值,然后根据”/^\w+$/“这个正则表达式(大概意思是只能是数字,字母和下划线组成)来执行下面的exit()方法,也就是说不满足条件的就直接终止程序然后输出”args error!”
6.最重要的一步,通过eval()来执行字符串中的php代码,字符串中的大概意思是返回$$args变量的信息,比如说我输入?args=flag,那么下面就会返回$flag的变量信息
加上题目说的flag In the variable !,说明我们要输入一个特定的字符串,那个字符串就是藏着flag的变量,如果在flag1.php中没有定义的,那就会返回NULL
php中有普通人为规定的变量,也有系统变量,在这个系统变量用有一个GLOBALS超级全局变量,可以看到全部的变量,此时我们传入数据?args=GLOBALS,就可以看到全部的变量了
这个变量名应该也是为了防止爆破之类的,只能靠php基础

Flag
1 | flag{3107a288e375d11375f622c2729382d5} |
- 标题: BugKu-WEB-变量1
- 作者: Mel0ny
- 创建于 : 2025-08-31 10:09:59
- 更新于 : 2025-08-31 11:59:59
- 链接: https://mel0nyrame.github.io/2025/08/31/BugKu-WEB-变量1/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论