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. lbs 地理位置

    lbs 地理位置 https://caorong.github.io/2018/05/04/lbs/ https://www.cnblogs.com/lbser/p/3310455.html http ...

  2. 从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章)

    从海量信息中脱颖而出:Workflow智能分析解决方案,大语言模型为AI科技文章打造精准摘要评分体系(总篇章) 1.简介 该项目整合了编程.AI.产品设计.商业科技及个人成长等多领域的精华内容,源自顶 ...

  3. zabbix报错大全

    zabbix报错 https://www.cnblogs.com/losbyday/category/876878.html作者总结的很全棒 1.在启动zabbix-agent 时系统日志输出 PID ...

  4. 使用Power Shell 拉取项目源代码

    使用 Power Shell 下载代码 工具:Power Shell(win10 自带) 新建源码的存放地址 1.使用 CD 命令进入文件夹 2.使用 git clone 命令拉取代码 git 命令: ...

  5. C++ 项目目录结构

    目录结构 project_root/ ├── bin/ # 可执行文件目录 │ ├── my_app # 可执行文件 │ └── ... # 其他可执行文件或脚本 │ ├── build/ # 编译产 ...

  6. 我恨 gevent

    报错了一晚上,最后发现是 python 版本不对.3.11,3.12,3.8,3.10 试了个遍,最后 3.10 终于编译通过了‍ 还有这个 greenlet,每次都是它和 gevent 合着来恶心我 ...

  7. Zabbix-(1)安装

    环境: VMware Workstation Pro 16.0 版本 系统 Centos7 内存 2G 处理器 1G 硬盘 20G 网络适配器 NAT 服务器地址:192.168.220.40 1.安 ...

  8. js通过文件路径下载文件而不跳转页面

    js通过文件路径下载文件,而页面不发生跳转 一.js下载文件而页面不进行跳转 1)方法一: 通过a标签触发文件流形式,代码如下: let url = 'http://xxxxx.zip' fetch( ...

  9. OpenSSL证书通过Subject Alternative Name扩展字段扩展证书支持的域名

    1.概述 1.1 什么是Subject Alternative Name(证书主体别名) SAN(Subject Alternative Name) 是 SSL 标准 x509 中定义的一个扩展.它允 ...

  10. JavaScript——案例-表单验证

    需求       <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...