zoukankan      html  css  js  c++  java
  • BUUOJ [WUSTCTF2020]朴实无华

    [WUSTCTF2020]朴实无华

    复现了武科大的一道题///

    进入界面

    一个hack me

    好吧,直接看看有没有robot.txt

    哦豁,还真有

    好吧

    fAke_f1agggg.php

    看了里面,然后在响应头里面有个fl4g.php

    哦豁,进去玩玩

    然后里面一堆乱码.....

    告辞

    然后网上有完整的图

    下面是乱码图,直接对照着看呗

    黑人问号!居然叫我去非洲???

    我又不是十佳员工,凭啥??

    不可以!

    直接进行第一个函数的绕过

    intval函数绕过

    get传值,num<2020,然后+1后,要大于2021...

    emm,为了不去非洲,不过好像考过这道题的样子哦

    然后就会发现intval函数参数会把e前的数字返回,那么就是说,如果是2e5,返回的值是2,而且2e5+1,则返回200001

    直接绕过!搞定!

    md5弱类型

    这个就直接秒咯~

    百度一堆

    php具有弱类型,== 在进行比较的时候,会先将字符串类型转化成相同,再比较

    终于到最后一关了!

    空格与系统命令执行

    本层的意思就是:参入的get_flag的参数不能有空格,如果里面有cat,则转换为wctf202

    然后传入的参数作为系统命令执行

    先传ls进去查看里面有啥文件,然后看到了一串长的不像flag的flag文件

    好吧,做到这里,发现不能用cat,于是百度了....

    用tac这个东西,但是也要空格呀

    < 符号

    %09 符号需要php环境,这里就不搭建啦,见谅)

    $IFS$9 符号${IFS} 符号

    利用$IFS$9替代空

    接着就拿到flag了

    payload=num=2e5&md5=0e215962017&get_flag=tac$IFS$9fllllllllllllllllllllllllllllllllllllllllaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaag
    

      

  • 相关阅读:
    Object.assign()方法
    JavaScript对象(二)
    JavaScript对象(一)
    vue开发中遇到的问题集锦(2)
    Python:str.ljust()、str.rjust()、str.center()函数
    Python:如何将多个小字符串拼接成一个大的字符串
    Python:.join()函数
    Python:生成器表达式
    VS Code:快捷方式
    Python:如何调整字符串中文本的格式
  • 原文地址:https://www.cnblogs.com/JeffKing11/p/12657710.html
Copyright © 2011-2022 走看看