CTF web题日常积累——代码审计题型(持续更新)

1.变量1

     题目来源:

     https://ctf.bugku.com/challenges

     这是一个入门的代码审计题,难度不大,主要在于看代码逻辑和正则。

CTF web题日常积累——代码审计题型(持续更新)_第1张图片

     题目链接直接打开便是一段php源码,直接观察这个代码。明显可以看到一个正则表达式,这个正则表达式意为匹配都是字母的串。

     而这里明显光是正则表达式是不够的,继续仔细看,在最后有一个$$args,这是可变变量的意思,如$args的值是另一个变量的变量名,那么$$args就代表$args的值作为变量名的另一个变量值,而看到这里明显是需要得到一个变量名的,但是题目没有任何提示,于是猜测是否会是PHP的九大全局变量。

     附上九大全局变量:

  • $_POST [用于接收post提交的数据]
  • $_GET [用于获取url地址栏的参数数据]
  • $_FILES [用于文件就收的处理img 最常见]
  • $_COOKIE [用于获取与setCookie()中的name 值]
  • $_SESSION [用于存储session的值或获取session中的值]
  • $_REQUEST [具有get,post的功能,但比较慢]
  • SERVER[是预定义服务器变量的一种,所有SERVER[是预定义服务器变量的一种,所有_SERVER [是预定义服务器变量的一种,所有_SERVER开头的都
  • $GLOBALS [一个包含了全部变量的全局组合数组]
  • $_ENV [ 是一个包含服务器端环境变量的数组。它是PHP中一个超级全局变量,我们可以在PHP 程序的任何地方直接访问它]

     依次尝试,当传递参数args=GLOBALS时,得出flag。

CTF web题日常积累——代码审计题型(持续更新)_第2张图片

     附上正则表达式教程:

     http://deerchao.net/tutorials/regex/regex-1.htm

你可能感兴趣的:(CTF积累)