zoukankan      html  css  js  c++  java
  • CTFHUB-技能树-Web-文件上传

    无验证

    直接写一个一句话木马,上传,然后连接getshell

     

    前端验证&&MIME绕过

    将一句话木马文件后缀改为允许类型,如jpg等,然后bp拦截数据包,然后改后缀为php,然后放包,最后连接√√√

    文件头检查(/欺骗)

    依然是先把shell文件后缀改为允许的,然后拦截数据包,改文件头,以及文件后缀,然后连接getshell

    也可以上传一个图片马,制作方法:copy 1.jpg/b+1.php/a 2.jpg

    00截断

    把文件后缀改为.php%00.jpg,上传,同理0x00,/00等截断应该也可以,但是这题好像不行

    原理:从后往前判断文件类型,从前往后解析文件,%00相当于截断,也就是不解析%00.jpg了,所以会将文件以php形式执行

    双写后缀

    上传1.php,内容同上,bp截取数据包,修改后缀,也就是双写,双写的原理就是因为会对后缀php进行字符替换,但是只有一次,所以双写之后即使被替换了后缀仍然是php

    .htaccess文件

    先讲一下这个.htaccess文件究竟是何方神圣,百度一下

     对于解题有什么用呢???

    ①它可以用来留后门和绕过黑名单,比如写一个.htaccess文件

    内容:AddType application/x-httpd-php .png

    解释:将png文件解析为php文件  ###以此类推

    ②执行我想让服务器执行的文件,比如写一个.htaccess文件

    内容:

    <FilesMatch "1">

    SetHandler application/x-httpd-php

    </FilesMatch>

    解释:以php文件方式执行文件名包含1的文件

    参考https://www.cnblogs.com/hmbb/p/9689436.html

    利用:

    将一句话文件后缀改为允许类型,用上面任一方法写一个.htaccess文件,上传之后上传一句话文件,连接getshell

    这里就不贴图了,应该是没什么问题的,后面会再介绍一个.user.ini文件,功能强大!!!

    最后!!!总结

    文件上传类题目正常的基本思路就是想办法上传shell,然后连接查看flag,这里再记一个NP操作,就是不需要菜刀/蚁剑/冰蝎连接的(仅适合部分题目),直接在页面上回显,如下

    创建一个无后缀的文件,内容如下

    <?php 
    #passthru("ls /var/www/html/(flag的大概路径)"); //第一次只写这一行,用来找flag文件在哪里
    passthru("cat /flag路径");//第二次是找到了flag文件之后,直接读取内容
    ?>

    参考自https://blog.csdn.net/weixin_42742658/article/details/106132770

  • 相关阅读:
    ffmpeg rtmp推流 视频转码
    java日志发展史 log4j slf4j log4j2 jul jcl 日志和各种桥接包的关系
    nginx stream 流转发,可以转发rtmp、mysql访问流,转发rtmp、jdbc请求
    java web http 转https 通过nginx代理访问
    linux 服务器磁盘挂载
    novnc 通过websockify代理 配置多点访问
    linux 文件服务 minio 安装部署配置
    AOP实现原理,手写aop
    java 泛型
    JAVA反射getGenericSuperclass()用法
  • 原文地址:https://www.cnblogs.com/Web-Fresher/p/13663815.html
Copyright © 2011-2022 走看看