百木园-与人分享,
就是让自己快乐。

BUUCTF-WarmUp

BUUCTF-WARMUP WP

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

  • image-20220228135033134

  • 访问它

  • image-20220228135313602

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

  • 先看一下hint.php文件

  • image-20220228143317786

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

  • 再看最下面的if

  • image-20220228135820465

  • 三个条件分别是

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

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

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

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

  • image-20220228143428531

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

  • image-20220228143515271

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

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

  • image-20220228144129435

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

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

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

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

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

image-20220228145108088


来源:https://www.cnblogs.com/Q-and-K/p/15946778.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » BUUCTF-WarmUp

相关推荐

  • 暂无文章