0%

PHP文件上传题型记录

常规思路

常规思路是上传一句话木马上去,然后用中国蚁剑拿个webshell。

直接传php文件传不了,就尝试其他也能执行php代码的格式,如:php3, php4, php5, phtml, pht等。

如果都不行,就尝试上传图片木马,在开头添加一个GIF的magic number骗一下,同时POST过去的时候用bp抓个包,把filename改成php代码后缀。

再不行可以尝试上传.user.ini,具体的做法如下:

不抓包修改后缀名,把图片木马直接上传,这一步应该是正常的。

然后再上传一个.user.ini文件,在里面写:

1
2
GIF89a
auto_prepend_file=image.gif

该文件上传后,在其所在目录访问任何php代码都会首先把image.gif里面的东西include进来,相当于将一句话木马通过文件包含的形式注入了。

最后直接上中国蚁剑拿webshell,地址即是同目录下的任一个php文件(如果没有就再上传一个普通的php上去然后连)

还有一种做法,提交.htaccess,内容如下:

1
SetHandler application/x-httpd-php

或者:
1
AddType application/x-httpd-php .jpg

前者把所有上传的东西都当做php文件执行,后者添加了.jpg结尾的文件可以当做php文件执行。

之后跟.user.ini差不多,不需要抓包把后缀名改掉,直接上传jpg文件即可。