连码三全中是什么:web渗透测试 第19课:文件上传漏洞

连码四七靠三活猜生肖 www.dvwa8.cn 在本节中,我们将介绍如何使用文件上载功能来获取代码。

 

在Web应用程序(尤其是使用文件系统来确定应运行哪些代码的应用程序)中,如果您设法上传具有正确文件名的文件(通常取决于扩展名),则可以在服务器上执行代码。在本节中,我们将看到这些类型的攻击的基础知识。

 

首先,由于我们正在开发一个PHP应用程序,我们需要一个PHP Web shell。Web shell只是一个简单的脚本或Web应用程序,它运行所提供的代码或命令。例如,在PHP中,以下代码是一个非常简单的Web shell:

<?php
  system($_GET["cmd"]);
?>

更复杂的Web shell可以执行更高级操作,例如提供数据库和文件系统访问,甚至TCP隧道。

 

Example 1

第一个例子是一个非?;镜纳洗淼?,没有任何限制。通过使用上面的Web shell,并使用.php扩展名命名,您应该能够将其上传到服务器上。上传后,您可以访问脚本(例如参数cmd=name -a)来执行命令。文件上传漏洞

 

Example 2

在第二个示例中,开发人员对文件名进行了限制。文件名不能以.php。结尾。要绕过此限制,您可以使用以下方法之一:

  • 将扩展名更改为.php3。在其他系统上,扩展类似.php4.php5可能也有效。这取决于Web服务器的配置。
  • 使用Apache .blah在扩展后不知道的扩展名.php。由于Apache不知道如何处理扩展.blah,它将转移到下一个:.php并运行PHP代码。
  • 上传.htaccess文件,启用另一个扩展程序由PHP运行。

 

具体原理如下:

获取命令执行的最常见方法是使用任意扩展的处理程序:

AddType application/x-httpd-php .blah

这一行将告诉Apache使用PHP引擎解释扩展名为.blah的文件。 由于.blah文件不太可能被应用程序过滤。

这是因为AllowOverride设置为All(其默认值),这意味着服务器遇到`.htaccess`文件时会解释它。

一旦我们上传了带有上述内容的.htaccess文件。 我们现在可以将我们的文件shell.php重命名为shell.blah并上传它。

上传两个文件后,我们就可以执行命令了!

 

使用这些方法之一,您应该能够获得命令执行。

文件上传漏洞

 

文件上传漏洞

    A+
发布日期:2018年07月07日  所属分类:Web Pentester
最后修改时间:2018-07-07 16:31
评分: (1 票;平均数5.00 ;最高评分 5 ;用户总数1;总得分 5;百分比100.00)
付杰
wordpress discux dedecms 帝国 phpcms等快速建站服务
wordpress discux dedecms 帝国 phpcms等快速建站服务
  • ¥ 99.9元
  • 市场价:499.9元
SEO顾问服务 中小型网站 单站/最低99.9元 全方位优化
SEO顾问服务 中小型网站 单站/最低99.9元 全方位优化
  • ¥ 99.9元
  • 市场价:5000元
wordpress站群服务 泛解析二级域名站群 二级目录站群
wordpress站群服务 泛解析二级域名站群 二级目录站群
  • ¥ 1999.9元
  • 市场价:4800元
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
花牛苹果 甘肃天水 李宏恩家自种 1斤 包邮
  • ¥ 6.8元
  • 市场价:8.8元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

 

目前评论:6   其中:访客  3   博主  3

  1. 小杰杰 1

    很不错的文章!

  2. 小菜鸟 1

    哈哈哈

  3. 小菜鸟 1

    测试test