zoukankan      html  css  js  c++  java
  • Buuctfweb[HCTF 2018]WarmUp

    首先打开是一张表情图片,然后直接查看源码。发现。

     有个source.php 的注释,而源码里没有什么可寻的信息,直接查看source.php

     发现是一个程序。提示我们另一个地址hint.php,

    提示我们在ffffllllaaaagggg

     

    request函数包含了get和post方法,$_REQUEST是需要通过POST或者GET参数来赋值的,接收参数,file.

     然后if里的第一个判断是判断它接受的是否为空,第二个是判断是否为字符串,第三个将它传给函数check File。都满足后传给函数checkFile.否则打印图片。

    然后看checkFile函数。

    1,首先将传入的参数赋给page。

    2,然后声明了一个数组

    $whitelist值源自source.php 和hint.php

    3,如果page变量不存在或者非字符串,返回false

    4,如果变量page存在于whitelist中返回true

    5,mb_substr() 函数返回字符串的一部分,

    mb_strpos():返回要查找的字符串在别一个字符串中首次出现的位置 

    $_page里存放了函数mb_substr 截取$page中'?'前部分,若无则截取整个$page

    然后再判断变量page存在于whitelist中返回true

    6,然后url解码了一次page

     然后因为网页给page解码了一次,函数中也解码了一次,所以?要url编码两次,为%253F

    所以直接给file赋值view-source:http://e9cdbb91-074c-488d-8ae9-91cf504329d2.node3.buuoj.cn/source.php?file=source.php%253F../../../../../../../../ffffllllaaaagggg

    因为不知道flag路径,所以多次尝试

  • 相关阅读:
    sl学习
    xc笔记
    1_2_3_4_5 Html-Css
    linux服务器架设--学习笔记
    注解学习
    关于ruby gem源更新安装问题
    css3:2D与3D变形
    css3关键帧动画以及兼容性策略
    css3背景,蒙版,倒影以及过度
    阴影边框以及渐变
  • 原文地址:https://www.cnblogs.com/tac2664/p/13678561.html
Copyright © 2011-2022 走看看