DVWA之文件上传

这篇具有很好参考价值的文章主要介绍了DVWA之文件上传。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概念:

指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。

“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。

二、漏洞的成因:

该漏洞的成因大部分是由于程序员在编写代码时对文件上传功能的代码设计缺陷造成的,可以导致用户上传可执行的脚本文件或者WebShell至服务器,并由服务器成功解析运行造成服务器权限被控制。

三、漏洞的危害:

文件上传漏洞与其他漏洞相比,其风险更大,利用最简单。如果网站存在上传漏洞,黑客就可以上传一个Web脚本语言到服务器,并使服务器成功的解析和运行了黑客上传的脚本,导致代码被执行使得黑客全面控制服务器,从而进一步的入侵和攻击。

四、DVWA漏洞平台演示:

low级

查看源代码

DVWA之文件上传

basename(str,name)

函数返回路径中的文件名部分,如果可选参数name为空,则返回的文件名包含后缀名,反之不包含后缀名。

对源码分析可以看到,服务器对上传文件的类型、内容没有做任何的检查、过滤,存在明显的文件上传漏洞,生成上传路径后,服务器会检查是否上传成功并返回相应提示信息。文件上传没有做任何限制,可以上传任何文件,在上传一句话木马,然后通过蚁剑或者中国菜刀拿到webshell。

DVWA之文件上传

使用蚁剑工具直接连接,口令为hacker,然后蚁剑就会通过向服务器发送包含hacker参数的post请求,在服务器上执行任意命令,获取webshell权限,进入网站后台。可以下载、修改服务器的所有文件。如下图

DVWA之文件上传
DVWA之文件上传

Medium中级

查看源代码

DVWA之文件上传

程序对上传的文件类型的大小做了限制,文件类型必须为image/jpeg和image/png,且文件大小要小于100000b

当上传php文件时,页面将提示错误

DVWA之文件上传

可使用burp suite抓包修改Content-Type类型

DVWA之文件上传

重放后上传成功!

DVWA之文件上传

或者将上传文件名修改为file.php .jpg [中间有空格] 抓包后选择repeater模块,之后点击hex选择十六进制编码,在该文件名对应的行数,将 20 改为 00,之后选择send发送,也可使php文件上传成功)

higth高级

查看源代码

DVWA之文件上传

strrpos(string , find ,start): 查找find字符在string字符中的最后一次出现的位置,start参数可选,表示指定从哪里开始

substr(string,start,length): 返回string字符中从start开始的字符串,length参数可选,表示返回字符的长度

strtolower(string): 返回给定字符串的小写

getimagesize(string): 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。如果不能访问 filename 指定的图像或者其不是有效的图像,getimagesize() 将返回 FALSE 并产生一条 E_WARNING级的错误。所以 getimagesize函数的作用是判断上传的文件是不是有效的图片

move_uploaded_file(file,newlocal) 函数表示把给定的文件移动到新的位置

因此,上传文件名为file.jpg,且文件内容为<?php @eval($_POST['hacker']);?>,此时页面将报错,显示上传失败,因为getimagesize()函数判断该文件不是有效的图片文件,所有需要在文件中加入文件头。

DVWA之文件上传

Impossible高难度

DVWA之文件上传

imagecreatefromjpeg(filename): 从给定的文件或url中创建一个新的图片

imagejpeg(image,filename,quality): 从image图像中以 filename 文件名创建一个jpeg的图片,参数quality可选,0-100 (质量从小到大)

imagedestroy(image): 销毁图像

分析源码可以看到,代码中加入了token机制用于防御CSRF攻击,并对文件名进行了MD5加密,防止了00截断绕过过滤规则,同时对文件后缀和文件类型做了白名单设置,并且还对文件内容作了严格的检查,不符合图片的内容一律舍弃,导致攻击者无法将含有恶意代码的图片上传成功。文章来源地址https://www.toymoban.com/news/detail-416990.html

到了这里,关于DVWA之文件上传的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DVWA之文件上传

    指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。 “文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解

    2023年04月18日
    浏览(27)
  • DVWA之文件上传漏洞

    指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。 “文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解

    2024年02月12日
    浏览(38)
  • DVWA靶场-文件上传漏洞

           文件上传漏洞,通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞。 basename(str,name)       函数返回路

    2024年02月07日
    浏览(41)
  • dvwa文件上传通关及代码分析

    查看源码:

    2024年02月10日
    浏览(35)
  • DVWA 之 File Upload(文件上传)

    目录 1、级别:Low  2、级别:Medium 3、级别:High    什么是文件上传漏洞? 黑客利用文件上传后服务器解析处理文件的漏洞上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。 造成文件上传漏洞的原因 : 1.服务器配置不当 2.开源编辑器上传漏洞

    2024年02月07日
    浏览(39)
  • 程序员简历程序员简历.pdf

    你们在制作简历时,是不是基本只关注两件事: 简历模板,还有基本信息的填写 。 当你再次坐下来更新你的简历时,可能会发现自己不自觉地选择了那个“ 看起来最好看的模板 ”,填写基本信息,却没有深入思考如何使简历更具吸引力。这其实是一个普遍现象: 许多求职

    2024年04月14日
    浏览(52)
  • 上传漏洞(一句话木马、中国菜刀使用、DVWA文件上传漏洞利用)

       可抓包后修改扩展名为图片格式,再上传可绕过验证。如:   可以修改php文件后缀为其他,再上传。如test.php.xxx  可对图片文件添加一句话木马,再修改为.php上传,会解析为图片上传此文件。    客户端验证绕过的方法有:  例:   1)木马分为大马、小马和一句话木马:

    2024年02月11日
    浏览(44)
  • 普通程序员和厉害程序员的差距!

    大家好,我是 程序员陶朱公 。 今天跟大家聊一下关于代码重构的话题。 话说,很多程序员对自己写的代码平时很随心所欲(各种魔法变量,一个方法几十上百行代码,还有各种让人崩溃的变量或方法命名)。 当有一天让他维护他人的代码,他就会抓狂,很容易激发他体内重构

    2024年03月23日
    浏览(67)
  • AI程序员对程序员的影响

    最近,全球首位AI程序员Devin的出现引发了广泛关注,也引发了人们对人工智能在编程领域的潜力和影响的讨论。尽管AI技术在编程领域得到广泛应用,但人们仍然在探讨它是否能完全取代人类程序员。本文将探讨AI程序员的优势、局限性以及对程序员职业的影响,并展望未来

    2024年03月23日
    浏览(61)
  • 大批程序员失业,大龄程序员出路在哪里?

    在程序员这个群体中,时常有人陷入技术迷信和思维僵化的困境,但实际上,当前市场对于技术的需求是非常广泛的。因此,我提出了一些建议,希望能够帮助程序员跳出技术框架,更好地利用技能创造实际价值。以下是一些建议供参考: 开发小而实用的工具类软件: 以“

    2024年01月22日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包