• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

文件上传漏:upload靶场练习——渗透day12

武飞扬头像
菜鸟也疯狂!!
帮助1

一、靶场准备

        将upload解压在PhpStudy2018\PHPTutorial\WWW\upload

        学新通

二、靶场练习过程

        (一)、pass-01

                学新通

                1、通过对隐藏源码的分析,这是基于前端的验证

                学新通

                2、直接使用Script Blocker Ultimate插件进行禁用掉js的验证

                学新通

                3、上传成功

                学新通

                学新通

                学新通

                4、也可使用burp suit抓包然后修改数据来完成上传

                学新通

                学新通

                复制图像连接到地址栏

                学新通

                上传成功
                学新通

        (二)、pass-02

                1、查看源码

                学新通

                2、上传2.php 用burp suit进行抓包,修改相关内容

                学新通

                学新通

                学新通

                3、上传成功,复制图像连接进一步确认

                学新通

                学新通

        (三)、pass-03

                1、思路:PASS3:基于后缀名黑名单进行校验,使用不常见的后缀进行绕过,php5 phtml php3等,要配置以下系统才能实现,请参考视频,查看httpd.conf: AddType application/x-httpd-php ,增加后缀名。有的情况下由于管理员的疏忽用了老版本的apche,又没有更改配置文件,又应用到了去其他程序,而别的程序是不需要这些后缀的,但是系统是可以解析这些后缀的

设置phpstudy的配置文件

                学新通

                学新通

                学新通

                2、切换phpstudy 版本,重启

                学新通

                3、复制2.php,修改为2.phtml,进行上传

        (四)、pass-04

                说明:

                 PASS4:通过.htaccess文件修改解析规则( . 开头的为隐藏文件)
                .上传一个.htaccess文件,定义直接作为代码执行的文件名
                .上传一个webshell ,命名为up.jpg
                .访问up.jpg文件,可以看到文件被执行

                在php当中可以通过在当前目录下增加  .htaccess  文件并配置下面的内容并上传到目录,php在解析的时候会先去看有没有这个文件,如果有这个文件会先按照里面的配置执行其他文件。                    

                1、新建一个名为 .htaccess 的文本,里面写入以下代码

                <FilesMatch  "up">
                SetHandler application/x-httpd-php
                </FilesMatch>      

                学新通

                2、将这个文件上传

                学新通

                3、复制2.php,修改名字为 up.jpg

                4、上传2.jpg,然后进行查看,发现图片虽然上传成功但是无法正常显示

                学新通

                学新通

                5、上传up.jpg,上传成功然后执行

                学新通

                学新通

        (五)、pass-05

                思路:

                PASS5:通过上传.user.ini 文件修改解析规则
                先上传一个以auto_prepend_file=1.gif为内容的.user.ini文件
                然后再上传一个内容为php的一句话的脚本,命名为1.gif,
                user.ini文件里的意思是:所有的php文件都自动包含1.gif文件。.user.ini相当于一个用户自定义的php.ini。    

                 1、查看源代码

                学新通

                学新通

                黑名单中有了 htaccess 所以这里无法使用上面的方法

                2、点击“ 查看提示 ”,提示中显示,上传目录中存在php文件(readme.php)

                学新通

                学新通

                  3、建立一个文本名为  .user.ini  的文件,写入  auto_prepend_file=2.gif  代码

                学新通

                 3、复制 2.jpg 改名为 2.gif 

                4、上传 .user.ini 文件

                学新通

                5、上传2.gif

                学新通

                6、切换phpstudy版本

                学新通

                7、进入  http://127.0.0.1/upload/upload/readme.php  路径查看

                学新通

        (六)、pass-06

                1、查看“ 隐藏源代码 ”

                学新通

                基于一个黑名单

                学新通

                学新通

                2、 复制一个2.php,将名字改为4.Php

                学新通

                3、对4.Php进行上传,上传成功

                学新通

                4、修改phpstudy版本然后重启phpstudy

                学新通

                5、查看刚刚上传的图片,上传成功

                学新通

        (七)、pass-07

                1、查看源码,相比于pass06,多了全部转换为小写,这样变无法使用上面的方法

                学新通

                 学新通

                2、上传2.php,使用burpsuit进行截断修改抓取的数据包数据,然后放行数据

                学新通

                3、文件上传成功,然后进行查看

                学新通

                学新通

                原理:

                2.php .

                2.php        取出末尾的点

                php空格        通过点的分割

                使用php空格作为后缀进行比较从而绕过了验证,写入的时候将php空格作为后缀写的时候空格会自动被省略掉。

               

        (八)、pass-08

                1、查看源代码

                学新通

                学新通

                2、上传2.php,使用burpsuit截断修改包的数据,然后放包

                学新通

                学新通

                3、2.php上传成功,复制图片连接进一步查看

                学新通

                学新通

        (九)、pass-09

                1、查看源代码

                学新通

                1.php::$DATA          仅仅基于windows系统ntfs分区,::$DATA是ntfs的特殊符号、 

                当写入1.php::$DATA 时会默认去掉 ::$DATA      

                2、上传2.php,截断修改数据包,然后放行

                学新通

                学新通

                3、2.php上传成功,复制图片连接并在地址栏中去掉末尾添加 ::$data 的进行查看

                学新通

                学新通

        (十)、pass-10

                1、查看源码

                学新通

                2、上传2.php,使用burpsuit截断并修改信息,然后放包

                学新通

                学新通

                3、图片上传成功,复制图片链接进行验证

                学新通

                学新通

        (十一)、pass-11

                1、查看源代码

                学新通

                学新通

                2、上传 2.php ,使用burpsuit进行截断并修改数据,放行数据包

                学新通

                学新通

                3、上传成功,复制图像连接进行查看

                学新通

                学新通

        待续!

这篇好文章是转载于:编程之路

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 编程之路
  • 本文地址: /boutique/detail/tanhhfkaih
系列文章
更多 icon
同类精品
更多 icon
继续加载