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

【文件包含】——日志文件注入

改变的确很难,但结果值得冒险

本文主要根据做题内容的总结,如有错误之处,还请各位师傅指正

一.伪协议的失效

当我们做到关于文件包含的题目时,常用思路其实就是使用伪协议(php:filter,data,inpput等等)执行一些shell命令或者读出flag文件内容

但如果遇到一些对php以及其他伪协议字符的限制,这种方法就行不通了

以ctfshow的web81文件包含题目来说:

这里限制了phpdata,以及" : ",也想不出来如何使用伪协议做出来

那么便可以通过日志getshell,利用日志文件的作用,在日志文件留下webshell

getshell就是向日志文件注入一句话木马的过程;

利用文件包含的特性,只要日志文件中有php代码,就会被解析php脚本语言,那么我们便能利用一句话木马里的参数执行我们想得到的东西/或者用蚁剑连接

二.日志文件的注入

1.首先介绍日志文件的作用:通俗来说日志文件(access.log)可以记录我们所有在服务器上的操作记录

2.getshell的过程也很简单,我们可以在UA(user-agent)输入木马(常用)

执行,也可在url后面加上一句话木马(常被url编码)执行

但当我们利用参数a执行ls命令的时候,发现没有成功,原来是因为日志文件里的木马被url编码过了,但我们想要让日志文件的木马是未被urlencode

(注:include包含html或者文本文件,其内容会被直接输出的,这里就是直接输出了日志文件内容)

所以我们可以通过bp传一句话木马,bp传参的时候是不会经过浏览器url编码的,而是直接到服务器进行urldecode

或者直接在ua处添加:

 然后我们对参数执行命令即可

或者我们还可以用蚁剑连接日志文件中的php木马

 但测试的时候不知道为什么这里连不上了

 这里报错unable to verify leaf signature:就是没法认证签名,https认证失效了,我们只需要把https改成http就可以

 但无论哪种方法本质都是一样的,都是利用日志文件的webshell得到flag

http://www.lryc.cn/news/438993.html

相关文章:

  • UE5源码Windows编译、运行
  • AI大模型与产品经理:替代与合作的深度剖析
  • 资本的运作方式、贷款的评估标准、杠杆率
  • Python:抓取 Bilibili(B站)评论、弹幕、字幕等
  • Ubuntu系统Docker部署数据库管理工具DbGate并实现远程查询数据
  • 18063 圈中的游戏
  • 【Spring Boot】SpringBoot自动装配-Import
  • C++:opencv计算轮廓周长--cv::arcLength
  • 探索学习Python的最佳开发环境和编辑器
  • 【Pycharm】Pycharm创建Django提示pip版本需要升级
  • 模拟退火算法(SA算法)求解实例---旅行商问题 (TSP)
  • 衡石分析平台使用手册--替换衡石 metadb
  • 【Unity学习心得】如何制作俯视角射击游戏
  • 【资料分析】常见的坑
  • GitLab权限及设置
  • 算法练习题24——查找杨辉三角中的组合数
  • string类的模拟实现
  • 如何训练机器学习力场
  • AI创作新手册:精通Prompt提示词的提问策略
  • gingivitis
  • 开源 AI 智能名片小程序:开启内容营销新境界
  • p12docker 进入容器的命令和拷贝的命令
  • 代码随想录Day 45|leetcode题目:115.不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • 浮点数在内存中的存储详解(超详细)
  • Maven下载安装
  • Qt:Q_GLOBAL_STATIC实现单例(附带单例使用和内存管理)
  • URL.createObjectURL 与 FileReader:Web 文件处理两大法宝的对比
  • 零基础考过软考信息系统项目管理师经验分享
  • 机器学习课程学习周报十二
  • python多线程程序设计 之二