BUUCTF-WarmUp

BUUCTF-WARMUP WP

  • 打开之后,首先看到是一个笑脸,查看源代码后发现一个source.php

  • BUUCTF-WarmUp

  • 访问它

  • BUUCTF-WarmUp

  • highlight_file(__FILE__)和show_source(__FILE__)两个函数都一样,都是显示出文件的源代码。接下来,细细分析一下

  • 先看一下hint.php文件

  • BUUCTF-WarmUp

    可以猜测,flag在ffffllllaaaagggg这个文件或文件夹里面

  • 再看最下面的if

  • BUUCTF-WarmUp

  • 三个条件分别是

    1. ?file=后面的数据不能为空或者数据的值不等于False
    2. ?file=后面的数据必须全是字符串
    3. 一个函数检测这个值

    都符合条件后会包含这个文件,并退出此脚本

  • 然后我们来看这个函数checkFile($_REQUEST['file'])

    注:$_REQUEST即可以用get在url中传数据,也可以在post请求头头里面传数据 这里在url中传数据

  • BUUCTF-WarmUp

    这两个if表示我们可以访问source.php和hint.php文件

  • BUUCTF-WarmUp

    这些表示可以截取?之前的字符串,比如:?file=adc.php?file=ccm.php ( 我乱写的 ),

    $_page=abc.php 后面的内容会被过滤,如果这个字符串在$whitelist里面就会然会true

  • BUUCTF-WarmUp

    进行url解码之后在进行重复上边的内容

  • 好了,代码已经审计完了

  • 构造payload,综上,就是构造的payload里面必须有source.php?或者hint.php?

  • 我们不知道在哪个文件夹里面,只能一个一个地往上级走,最终发现,在根目录里面,所以就算多加一个../也没关系

  • 最终?file=source.php?../../../../../../ffffllllaaaagggg

BUUCTF-WarmUp

上一篇:sass ihrm项目-社保归档、考勤设置


下一篇:Error:Cannot find module 'webpack/lib/RuleSet'