首页 > 其他分享 >文件上传日志包含详解与CTF实战

文件上传日志包含详解与CTF实战

时间:2024-09-23 15:45:22浏览次数:1  
标签:文件 log 包含 CTF 详解 日志 php 上传

1. 日志简介

1.1 日志介绍

日志是记录系统或应用程序运行时事件的文件。这些记录可以包括错误信息、用户活动、系统性能指标等,帮助开发者和管理员监控和排查问题。

日志通常会记录多种内容,包括:

  1. 时间戳:事件发生的具体时间。
  2. 用户代理(UA)头:浏览器或客户端的类型和版本。
  3. IP地址:发起请求的用户的IP地址。
  4. 请求方法:如GET、POST等。
  5. 请求路径:被访问的资源URL。
  6. 响应状态码:服务器对请求的响应状态(如200、404等)。
  7. 用户行为:如点击、表单提交等。

1.2 日志路径

在Apache中,默认日志路径通常是:

  • 访问日志/var/log/apache2/access.log(Debian/Ubuntu)
  • 错误日志/var/log/apache2/error.log(Debian/Ubuntu)

在NGINX中,默认日志路径通常是:

  • 访问日志/var/log/nginx/access.log
  • 错误日志/var/log/nginx/error.log

具体路径可能因系统配置而异。

2. 文件上传日志包含概述

不妨考虑这样一种思路:

  • 上传一个正常的图片,把UA头修改为后门代码,从而将它写入日志
  • 上传图片,内容写入恶意代码:包含日志文件。
  • 利用.user.ini将图片中代码包含入upload下的php文件

这样造成的结果就是:该php文件中就会包含日志内容,也就包含了后门代码

3. CTFshow Web 160

上传正常文件,将UA头修改为后门代码。再看返回包,服务器是nginx,由1.2可知日志路径(如果是默认配置的话)

上传.user.ini,将1.png的恶意代码包含入upload文件夹下php文件

上传1.png,写入包含日志文件的代码。这里需要尝试一下,会发现log被过滤了,这里用.来连接路径字符串

访问upload下的php文件,发post包,查看网页源代码(看的比较清楚)

x=system("ls ../");

x=system("tac ../flag.php");

宇宙安全声明

本博客所提供的内容仅供学习与交流,旨在提高网络安全技术水平,谨遵守国家相关法律法规,请勿用于违法用途,博主不对任何人因使用博客中提到的技术或工具而产生的任何后果负责。如果您对文章内容有疑问,可以留言私信。

标签:文件,log,包含,CTF,详解,日志,php,上传
From: https://www.cnblogs.com/xinghaihe/p/18427170

相关文章

  • Python中if语句使用详解!
    在Python语言中,if语句是一种条件语句,主要用于根据不同的条件执行不同的操作。接下来,小编通过这篇文章为大家详细讲解一下Python语言if语句,快来学习吧!1、基础语法在Python中,if语句的基本语法是:ifcondition:statement(s)如果条件condition为真,则执行if语句......
  • 苍穹外卖学习日志 -----20天项目从零到完结-----含软件下载,环境配置,框架学习,代码编写,
    年份2024    基础:Javase  Javaweb已完结   2024  8.25---9.14  20天Day-01   8.25今天开始学习已经晚了,网盘下载了一下文件,做了一些开始项目的准备工作。本来其实打算用notepad++来写学习日志的,但是那个传不了图片,而且编辑视图没有这......
  • 滚雪球学SpringCloud[9.2讲]:CI/CD与自动化部署详解
    全文目录:前言1.持续集成与持续交付的基本概念1.1持续集成(CI)1.1.1持续集成的主要优势1.2持续交付(CD)1.2.1持续交付的主要特点1.3CI与CD的区别与联系2.使用Jenkins与GitLab实现CI/CD管道2.1使用Jenkins实现CI/CD2.1.1Jenkins简介2.1.2Jenkins的安装与配置2.1.3......
  • 滚雪球学SpringCloud[9.1讲]:Docker与容器化详解
    全文目录:前言9.1Docker与容器化Docker的基本概念与SpringBoot应用的容器化1.Docker的核心概念2.将SpringBoot应用容器化DockerCompose与微服务编排1.DockerCompose的核心概念2.使用DockerCompose编排微服务使用Kubernetes部署SpringCloud应用1.Kubernetes......
  • Nuxt Kit 使用日志记录工具
    title:NuxtKit使用日志记录工具date:2024/9/23updated:2024/9/23author:cmdragonexcerpt:摘要:本文介绍在Nuxt3框架的NuxtKit中使用日志记录工具的方法,重点讲解useLogger函数的应用,通过创建示例项目一步步展示如何配置和使用日志记录功能来监控应用状态、记录信息......
  • Nuxt Kit 使用日志记录工具
    title:NuxtKit使用日志记录工具date:2024/9/23updated:2024/9/23author:cmdragonexcerpt:摘要:本文介绍在Nuxt3框架的NuxtKit中使用日志记录工具的方法,重点讲解useLogger函数的应用,通过创建示例项目一步步展示如何配置和使用日志记录功能来监控应用状态、记......
  • Nuxt Kit 使用日志记录工具
    title:NuxtKit使用日志记录工具date:2024/9/23updated:2024/9/23author:cmdragonexcerpt:摘要:本文介绍在Nuxt3框架的NuxtKit中使用日志记录工具的方法,重点讲解useLogger函数的应用,通过创建示例项目一步步展示如何配置和使用日志记录功能来监控应用状态、记......
  • 7-41 PAT排名汇总 (25 分)(详解 思路 重写sort函数)兄弟们冲呀呀呀呀呀呀呀
    二:思路===================================================================利用结构体存储学号成绩总排名考点号本考点的排名;然后在输入的时候要记得将j设置成一个变量,这样就能挨个把所有的值都输入到结构体数组当中。再然后就是,向结构体里的变量进行赋值。三:上码......
  • Thingsboard规则链:Calculate Delta节点详解
    在物联网(IoT)应用中,对设备数据的实时分析和处理是优化运营、预测维护的关键。Thingsboard作为一款功能强大的物联网平台,其规则引擎提供了丰富的节点来处理和分析数据流。其中,CalculateDelta节点是一个重要的工具,用于计算连续消息间特定数值的差值,常用于监测变化率、节能分析......
  • 安全:用logrotate实现fail2ban日志按天切分
    一,fail2ban默认安装了日志分割文件文件位置:/etc/logrotate.d/fail2ban[[email protected]]#rpm-qf/etc/logrotate.d/fail2banfail2ban-server-1.0.2-12.el9.noarch可以看到此文件来自于fail2ban-server这个rpm包配置文件默认内容:[root@iZ2zejc9t0hf6pnw6sewrxZlog......