文件上传靶机DVWA和upload-labs

DVWA靶机

LOW

<?php phpinfo() ?>

上传文件

Medium级别

修改Content-Type: application/octet-stream的值为jpg的格式为Content-Type: image/jpeg

访问文件http://localhost/DVWA-master/hackable/uploads/1.php

high级别

图片马

由于后台验证了像素,所以要有图片,我们把php文件和图片文件合成一个文件

在cmd中进行    /b表示二进制    /a表示ascii码

先进入桌面

cd Desktop

copy 1.jpg /b + 1.php /a 2.jpg

解码文件 .htaccess

我们先写文件

<FilesMatch "jpg">

SetHandler application/x-httpd-php

</FilesMatch>

文件我们要保存成.htaccess,没有文件名,我们bp改包

抓包修改1.txt为.htaccess

现在访问文件http://localhost/DVWA-master/hackable/uploads/2.jpg


upload-labs靶机

第一关

查看源码

是前端绕过,我们可以禁用js

在浏览器里打开about:config

把红色的选项改为false

 访问文件http://localhost/upload-labs-master/upload//1.php

第二关

只对文件的MIME进行的验证,改包

application/octet-stream改为image/jpeg

第三关

更改文件名绕过

php相同的有php1 php2 php3 php4 php5 phtml pht

第四关

把1.php的后缀改为jpg绕过,在上传解码文件.htaccess

<FilesMatch "jpg">

SetHandler application/x-httpd-php

</FilesMatch>

上传.htaccess

第五关

文件后缀大小写绕过

第六关

文件后缀加空格绕过

第七关

文件后缀加[.]绕过

第八关

文件后缀加::$DATA绕过 

访问时不加::$DATA

第九关

由于后台代码是先删除两端的空格,然后删除末尾的点,还有一些其他的,最后在删除两端的空格。我们可以写[. .](点 空格 点),代码是先删两端的空格,这里,没有删掉,然后删末尾的点,删掉了,剩点和空格,最后删除两端的空格,就剩点了,绕过了

第十关

双写

第十一关

00截断

一般用在文件被上传到一个目录下面,我们在目录下面写上文件名1.php,然后在用00截断,上传的文件名我们用白名单能上传的格式(jpg),由于用了00截断,其实保存在目录下的文件名是1.php,而不是jpg

源文件

修改后

进行%00的url解码

第十二关

00截断

源文件

第十三关 

图片马(jpg)

第十四关

图片马(png)  

第十五关

图片马(png)  

第十六关

二次渲染 传个gif的动态图



原文地址:https://www.cnblogs.com/bingtang123/p/12838321.html