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");

宇宙安全声明

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

文件上传日志包含详解与CTF实战的更多相关文章

  1. express文件上传中间件Multer详解

    express文件上传中间件Multer详解 转载自:https://www.cnblogs.com/chengdabelief/p/6580874.html   Express默认并不处理HTTP请 ...

  2. Input标签文件上传,使用详解

    1.html添加标签按钮 <button ion-button (click)="selectVideo()">添加</button> <input ...

  3. 文件上传插件uploadify详解

    官网:http://www.uploadify.com/ 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件. 要求使用jquery1.4或以上 ...

  4. Java Struts文件上传和下载详解

    Struts2文件上传 Struts 2框架提供了内置支持处理文件上传使用基于HTML表单的文件上传.上传一个文件时,它通常会被存储在一个临时目录中,他们应该由Action类进行处理或移动到一个永久的 ...

  5. SpringMVC+BUI实现文件上传(附详解,源码下载)

    中午有限时间写这博文,前言就不必多说了,直奔主题吧. BUI是一个前端框架,关于BUI的介绍请看博主的文章那些年用过的一些前端框架. 下面我们开始实例的讲解! 一.效果演示: 上传成功后,会发现本地相 ...

  6. 【iOS 使用github上传代码】详解

    [iOS 使用github上传代码]详解 一.github创建新工程 二.直接添加文件 三.通过https 和 SSH 操作两种方式上传工程 3.1https 和 SSH 的区别: 3.1.1.前者可 ...

  7. PHP核心编程--文件上传(包含多文件上传)

    一.单文件上传 图片上传界面: <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  8. JQuery上传插件Uploadify详解及其中文按钮解决方案 .

    Uploadify有一个参数是 buttonText 这个无论你怎么改都不支持中文,因为插件在js里用了一个转码方法把这个参数的值转过码了,解码的地方在那个swf文件里,看不到代码,所以这条路不行. ...

  9. 多图上传-webupload 使用详解

    WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件. 在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏 ...

  10. FileUpload实现文件上传(包含多文件)

    package com.hzml.serve; import java.io.File; import java.io.IOException; import java.io.PrintWriter; ...

随机推荐

  1. jxls导入excel

    我们在开发中经常用jxls实现导出功能,殊不知jxls也有导入功能,下面来介绍下如何使用jxls导入excel. 首先在maven的pom中添加相关依赖,如下: <dependency> ...

  2. nvic stm32g0

    STM32G0 32个可屏蔽中断通道 4个可编程优先等级(抢占等级:0~3) 低延时异常和中断处理 电源管理控制

  3. sc2 天梯地图

    没记错的话以前 7 张 ban 3 张,非常合理,现在 9 张怎么还是 ban 3 张 好哥哥达蒙星际2教学 Goldenaura ban 三四矿近,挂运输机的地方长,架坦克的点位多,ZvT 打不了一 ...

  4. liunx下安装Nginx

    Linux下nginx的安装以及环境配置 https://blog.csdn.net/qq_42815754/article/details/82980326 第一步:下载nginx压缩包 在这里可以 ...

  5. Ubuntu 添加虚拟内存文件

    添加交换文件 准备工作 查看当前系统中启用的交换空间(swap space)的详细信息: sudo swapon --show 查看系统的内存和总交换空间的使用情况: free -h 为了有足够的空间 ...

  6. Java Web专题攻关

    servlet概念 servlet其实就是运行在服务器的一个小程序 如何去理解呢?我们访问服务器的资源包括静态资源和动态资源,其中静态资源是我们放置的模板,CSS.JS等文件,是不变的.而我们访问的动 ...

  7. 【Docker】之重启容器相关命令

    我想每次打开电脑,只要自动运行docker的时候,马上把设置指定的容器也自动运行起来. 首先查看一下容器启动情况: # 查看docker运行命令 docker ps -a --restart参数有3个 ...

  8. 【计算机视觉前沿研究 热点 顶会】ECCV 2024中目标检测有关的论文

    整值训练和尖峰驱动推理尖峰神经网络用于高性能和节能的目标检测 与人工神经网络(ANN)相比,脑激励的脉冲神经网络(SNN)具有生物合理性和低功耗的优势.由于 SNN 的性能较差,目前的应用仅限于简单的 ...

  9. 神经网络之卷积篇:详解卷积神经网络示例(Convolutional neural network example)

    详解卷积神经网络示例 假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片,想做手写体数字识别.32×32×3的RGB图片中含有某个数字,比如7,想识别它是从0-9这10个数字中的哪一 ...

  10. Dash 2.18版本新特性介绍

    本文示例代码已上传至我的Github仓库:https://github.com/CNFeffery/dash-master Gitee同步仓库地址:https://gitee.com/cnfeffer ...