【网络安全】upload靶场pass1-10思路-LMLPHP

【网络安全】upload靶场pass1-10思路-LMLPHP

Pass-1

在桌面生成1.png文件,内容为:

<?php

phpinfo();

?>

上传1.png,用bp抓包,修改后缀png为php,然后放包:

【网络安全】upload靶场pass1-10思路-LMLPHP

复制文件路径到新窗口,打开成功

Pass-2

步骤同一

Pass-3

观察源码 $deny_ext = array('.asp','.aspx','.php','.jsp');

上传1.png,bp抓包,修改后缀png为phtml,放包,复制文件路径到新窗口,打开成功。

Pass-4

观察源码 $deny_ext = array(...);发现没有过滤.htaccess

在桌面生成.htaccess.png文件,内容为:

SetHandler application/x-httpd-php

上传.htaccess.png,bp抓包,修改后缀.htaccess.png为.htaccess,放包,上传1.png,复制文件路径到新窗口,打开成功:

【网络安全】upload靶场pass1-10思路-LMLPHP

Pass-5

观察源码 $deny_ext = array(...);发现没有过滤.user.ini

在桌面生成.user.ini文件,内容为:

auto_prepend_file=1.png

先上传.user.ini,再上传1.png,复制文件路径到新窗口,在路径中将1.png改为readme.php,打开成功:

【网络安全】upload靶场pass1-10思路-LMLPHP

Pass-6

观察源码,发现没有使用strtolower()函数转换小写,上传1.png,用bp抓包,修改后缀png为Php,放包,复制文件路径到新窗口,打开成功。

Pass-7

观察源码,发现没有使用trim()函数去除空格,上传1.png,用bp抓包,修改后缀png为php ,php的后面有一个空格,放包,复制文件路径到新窗口,打开成功。

Pass-8

观察源码,发现没有使用deldot()函数去删除文件名末尾的点,上传1.png,用bp抓包,修改后缀png为php.,php的后面有一个点,放包,复制文件路径到新窗口,打开成功。

Pass-9

观察源码,发现没有使用str_ireplacet()函数去除特殊字符串::$DATA,上传1.png,用bp抓包,修改后缀png为php::$DATA,放包,复制文件路径到新窗口,去掉路径末尾的::$DATA,打开成功。

Pass-10

观察源码,发现既有trim()函数,又有deldot()函数,上传1.png,用bp抓包,修改后缀png为php. .,php的后面为点空格点,放包,复制文件路径到新窗口,打开成功。

12-30 23:53