[安洵杯 2019]easy_web-韶华当歌





[安洵杯 2019]easy_web

发布时间:2020/07/20 作者:linmoumou 浏览(191) 评论(20) 分类【CTF】 文章来源:博主原创

    考点

    • RCE
    • 编码
    • 强类型MD5碰撞
    • PHP代码审计

    解题

    进去是一个背景图片和一个表情包,源码看下表情包是base64显示的,发i西安url比较特别index.php?img=TXpVek5UTTFNbVUzTURabE5qYz0&cmd=这个img会不会就是表情包,把它删除了试试,表情包果然没了,把它base64解码一下

    CTF,2019安洵杯,web

    什么鬼,看了下位数好像不对,补上个=试试,可以解开了,发现还是一个base64,再解开是个hex编码再解得到了555.png

    他如果是这么读文件的那么这是不是有任意文件读取呢,用index.php试试反向加密一波

    得到TmprMlpUWTBOalUzT0RKbE56QTJPRGN3,看下源码

    吧后面base64部分拿来解码一下得到

    这我们就读到了源码

    重点在

    就一个无参rce,上面是一个强类型MD5比较要用到md5碰撞

    ls被顾虑了那么用dir来看一下当前文件夹下有没有flag文件,回显:

    显然是没有的那么看一下根目录:因为空格被过滤了我们用%20代替POST /index.php?cmd=dir%20/ HTTP/1.1回显:

    可以看到falg确实在这,那么我们直接读就好了,但是cat 也被过了了,单是没有过滤\换行符POST /index.php?cmd=c\at%20/flag HTTP/1.1回显

    这样我们就得到了flag

    在做这个碰撞的时候一直出不来,发现如果a,b两个参数不是写在同一行,那么最后要多一个换行不然出不来,如果两个参数在同一行,最后不能有换行,它应该把换行符号也算进去了

     

关键字词:CTF,2019安洵杯,web

返回顶部小火箭


常用网站

我的主页

浙ICP备20007936号 · @版权所有 lin 联系我