当前位置: 首页 > news >正文

【CTF】Nginx日志注入

Nginx日志注入:

日志包含漏洞的成因还是服务器没有进行严格的过滤 ,导致用户可以进行任意文件读取,但是前提是服务器需要开启了记录日志的功能才可以利用这个漏洞。

对于Apache,日志存放路径:/var/log/apache/access.log

对于Ngnix,日志存放路径:/var/log/nginx/access.log 和 /var/log/nginx/error.log

中间件的日志文件会保存网站的访问记录,比如HTTP请求行,User-Agent,Referer等客户端信息,如果在HTTP请求中插入恶意代码,那么恶意代码就会保存到日志文件中,访问日志文件的时候,日志文件中的恶意代码就会执行,从而造成任意代码执行甚至获取shell。

Nginx中的日志分两种,一种是error.log,一种是access.log。error.log可以配置成任意级别,默认级别是error,用来记录Nginx运行期间的处理流程相关的信息;access.log指的是访问日志,用来记录服务器的接入信息(包括记录用户的IP、请求处理时间、浏览器信息等)。

一、 基础知识

  • /etc/nginx/nginx.conf:该文件是Nginx的配置的文件,该文件保存着能够影响服务器运行的配置信息。有时会泄露敏感信息。该文件支持php解析。
  • /var/log/nginx/access.log:该文件是Nginx的访问日志文件,Nginx会把每个用户访问信息记录到指定的日志文件里。该文件支持php解析。

我们尝试读取它的日志文件:

?url=/var/log/nginx/access.log

img

?url=/var/log/nginx/error.log

img

尝试读取Linux系统下的用户信息:

?url=/etc/passwd

img

从上面的日志信息可以看出是User-Agent的内容,这里我们在User-Agent里插入一句话木马

由于访问URL时,服务器会对其进行编码,所以我们通过使用burpsuite抓包来进行来注入

img

写入一句话木马之后,使用蚁剑尝试连接

连接url即为日志的地址:http://ec78819f-174d-4e26-82be-7cce55c08b05.challenge.ctf.show/?url=/var/log/nginx/access.log

连接成功

进入后台,找到flag

ctfshow{8df69fe0-d37b-4231-a482-c3d93c89f43c}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【算法题】63. 不同路径 II-力扣(LeetCode)-”如果起点有障碍物,那么便到不了终点“
  • WebGL颜色与纹理
  • 【制作100个unity游戏之32】unity开发属于自己的一个2d/3d桌面宠物,可以实时计算已经获取的工资
  • QT快速安装使用指南
  • Linux学习/复习2--Linux工具
  • 解决 npm ERR! node-sass 和 gyp ERR! node-gyp 报错问题
  • 蓝桥杯15届C/C++B组省赛题目
  • 【深入学习Redis丨第六篇】Redis哨兵模式与操作详解
  • 【Taro】初识 Taro
  • MyBatis系统学习(四)——MyBatis的关联映射和缓存机制
  • 摆脱困境并在 Android 手机上取回删除照片的所有解决方案
  • 使用vite+react+ts+Ant Design开发后台管理项目(一)
  • Python计算机视觉 第10章-OpenCV
  • vulnhub(12):bob 1.0.1(gpg文件解密)
  • 你了解system V的ipc底层如何设计的吗?消息队列互相通信的原理是什么呢?是否经常将信号量和信号混淆呢?——问题详解
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • css选择器
  • exports和module.exports
  • extract-text-webpack-plugin用法
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java Agent 学习笔记
  • JS字符串转数字方法总结
  • Linux Process Manage
  • SOFAMosn配置模型
  • text-decoration与color属性
  • 安卓应用性能调试和优化经验分享
  • 二维平面内的碰撞检测【一】
  • 翻译--Thinking in React
  • 记一次删除Git记录中的大文件的过程
  • 技术胖1-4季视频复习— (看视频笔记)
  • 面试总结JavaScript篇
  • 前端设计模式
  • 实现菜单下拉伸展折叠效果demo
  • 阿里云API、SDK和CLI应用实践方案
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​iOS安全加固方法及实现
  • #微信小程序:微信小程序常见的配置传旨
  • ( 10 )MySQL中的外键
  • (1)无线电失控保护(二)
  • (6)STL算法之转换
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (C++)八皇后问题
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (附源码)springboot掌上博客系统 毕业设计063131
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (函数)颠倒字符串顺序(C语言)
  • (七)c52学习之旅-中断
  • (十六)、把镜像推送到私有化 Docker 仓库
  • (原)Matlab的svmtrain和svmclassify
  • (原創) 未来三学期想要修的课 (日記)
  • (状压dp)uva 10817 Headmaster's Headache
  • .Net Core 微服务之Consul(二)-集群搭建
  • .NET Core 项目指定SDK版本