文件上传渗透

实验环境:

目标靶机:OWASP_Broken_Web_Apps_VM_1.2
测试渗透机:Kali-Linux-2018.2-vm-amd64

实验原理:

1、文件上传(File Upload)是大部分Web应用都具备的功能,例如用户上传附件、修改头像、分享图片/视频等
2、正常的文件一般是文档、图片、视频等,Web应用收集之后放入后台存储,需要的时候再调用出来返回
3、如果恶意文件如PHP、ASP等执行文件绕过Web应用,并顺利执行,则相当于黑客直接拿到了Webshell
4、一旦黑客拿到Webshell,则可以拿到Web应用的数据,删除Web文件,本地提权,进一步拿下整个服务器甚至内网 5、SQL注入攻击的对象是数据库服务,文件上传漏洞主要攻击Web服务,实际渗透两种相结合,达到对目标的深度控制

  • 访问owasp


    image.png
  • 进入DVWA


    image.png
  • 默认账号密码为:admin


    image.png

    image.png

    image.png

php文件

小马: 一句话木马也称为小马,即整个shell代码量只有一行,一般是系统执行函数
大马: 代码量和功能比小马多,一般会进行二次编码加密,防止被安全防火墙/入侵系统检测到

Webshell:
test1.php   #eval 使用php函数,例如 phpinfo(); 
    
浏览器:http://192.168.1.17/dvwa/hackable/uploads/test1.php?cmd=phpinfo();

test2.php   #system 使用Linux系统命令,例如 ls,cp,rm 
 
浏览器:http://192.168.1.17/dvwa/hackable/uploads/test2.php?chao=cat 20/etc/passwd

说明:REQUEST是在网页端输入变量访问,POST则是使用像zg菜刀之类的工具连接,是C/S架构。

zg菜刀:
test.php

实验过程:

实验一:低安全模式下,上传任意类型的文件,文件大小限制

  • 安全级别设置为:low 可以上传任何类型的文件


    image.png
  • 访问 192.168.19.143/dvwa/hackable/uploads/test.php 查看自己上传的文件。由于我上传的php文件看不到


    image.png
  • test.php文件内容


    image.png
  • zg菜刀设置


    image.png
  • 双击添加的链接双击打开,此时我将可以使用zg菜刀修改服务器里的文件


    image.png
  • 上传test1.php


    image.png

    image.png
  • 访问 192.168.1.17/dvwa/hackable/uploads/test1.php?cmd=phpinfo(); 可以调用php函数


    image.png
  • 上传test2.php


    image.png

    image.png
  • 访问 192.168.1.17/dvwa/hackable/uploads/test2.php?chao=cat /etc/passwd 可以调用shell指令


    image.png
  • 访问 192.168.1.17/dvwa/hackable/uploads/test2.php?chao=cat /a.txt


    image.png

实验二:中安全模式下,绕过类型上传文件(文件mime类型)

  • 安全级别设置为:medium 只可以上传图片类型的文件


    image.png
  • 图片上传成功


    image.png

    image.png
  • 后端配置:根据类型判断(image/jpeg)


    image.png
通过kali绕过类型上传非图片类型的文件:
  • 打开kali中的BurpSuite


    image.png
  • 浏览器配置网络代理(此处我使用的为火狐)


    image.png
  • 因为BurpSuite配置的规则是*.8080所以浏览器设置为kali的 ip:8080端口


    image.png

    image.png

    image.png
  • 再次上传test.php会卡住不动


    image.png
  • 更改完毕后就上传成功


    image.png

    image.png

实验三:高安全模式(文件后缀限制),上传一句话图片muma

依赖低级别的文件包含

  • 后端配置:根据文件后缀名判断(jpg,jpeg,JPG,JPEG)


    image.png

    此配置可以通过kali中的BurpSuite更改后缀进行上传,但是无法使用,因为是用php写的,后缀修改为jpg后无法打开

  • 使用工具在图片中插入一句话


    image.png
  • 填入 ')?>
    访问这个图片链接将会在文件包含路径下生成一个test.php文件密码chenchao


    image.png
  • 清空在OPSWA上传的文件


    image.png
  • 上传图片


    image.png
  • 复制上传文件路径替换到此处访问
    因为依赖低级别的文件包含,所以修改级别为low


    image.png
  • 显示乱码即成功


    image.png
  • 会在文件包含路径下生成一个test.php


    image.png
  • 此时将可以使用zg菜刀等工具进行修改


    image.png
  • 双击添加的链接,成功进入


    image.png

你可能感兴趣的:(文件上传渗透)