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

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

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

一.伪协议的失效

当我们做到关于文件包含的题目时,常用思路其实就是使用伪协议(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

相关推荐
PHP代码41 分钟前
2025年PHP面试宝典,技术总结。
php
软件公司.乐学2 小时前
安全生产算法一体机定制
人工智能·安全
hunzi_12 小时前
Java和PHP开发的商城系统区别
java·php
云起无垠2 小时前
【论文速读】| 评估并提高大语言模型生成的安全攻击探测器的鲁棒性
人工智能·安全·语言模型
寰宇软件3 小时前
PHP校园助手系统小程序
小程序·vue·php·uniapp
晚秋贰拾伍4 小时前
设计模式的艺术-代理模式
运维·安全·设计模式·系统安全·代理模式·运维开发·开闭原则
hwscom4 小时前
Windows Server 2025如何做系统安全加固
windows·安全·系统安全
JZC_xiaozhong5 小时前
低空经济中的数据孤岛难题,KPaaS如何破局?
大数据·运维·数据仓库·安全·ci/cd·数据分析·数据库管理员