domino 网站开发,排名网站,创意网站案例,平台设计理念什么是文件上传漏洞#xff1a;
文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷#xff0c;而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马#xff0c;病毒#xff0c;恶意脚本或者WebShell等。“…什么是文件上传漏洞
文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马病毒恶意脚本或者WebShell等。“文件上传”本身没有问题有问题的是文件上传后服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全则会导致严重的后果。 第一关 关闭js 创建一句话木马 首先创建一个.php文件写入一句话木马进行上传发现页面弹出 通过查看网页源码发现有一个checkFile 函数获取了文件名称并判断了文件类型白名单。
该文件并没有在白名单里面所以被禁止上传。白名单我还不知道怎么绕过。
解决方案
js是前端页面独有的可以尝试关闭浏览器的js功能
关闭js功能后发现除上传按钮外其他按钮都不能点js再次上传一句话木马文件我的文件名是web.php发现成功上传。
不能使用eval---可以使用assert:
?0assert1phpinfo(); 第二关 修改文件类型 再次尝试使用web.php 提示文件类型不正确查看源码没找到checkFile可能在后端验证 解决方案
提示文件类型不正确尝试一下改文件类型
使用抓包软件更改web.php的文件类型为image/jpeg 放包后发现上传成功 第三关
上传web.php显示不允许上传.....说明是黑名单限制 解决方案
上传web.php发现这一关限制后缀查看源码发现这一关是黑名单限制限制.asp、.aspx、.php、.jsp。
尝试修改后缀为php3php4php5phtml。成功上传 第四关:
查看提示可以看到这一关使用了更多的黑名单限制上一关的php3php4等都被加入了黑名单所以本关不使用修改后缀绕过。 解决方案
尝试使用.htaccess绕过。
介绍一下什么是.htaccess主要的作用URL重写、自定义错误页面、MIME类型配置以及访问权限控制等。主要体现在伪静态的应用、图片防盗链、自定义404错误页面、阻止/允许特定IP/IP段、目录浏览与主页、禁止访问指定文件类型、文件密码保护等。 .htaccess的用途范围主要针对当前目录。可以把php后缀隐藏起来
创建一个.htaccess文件写入SetHandler application/x-httpd-php将该目录和子目录的所有文件映射为php文件
先上传.htaccess文件因为它可以把任何文件都解析为.php文件所以我们将web.php修改为web.jpg再上传web.jpg文件上传成功最后访问web.jpg时会自动解析为php文件。 第五关
查看源码发现限制了htaccess文件但是没有大小写限制因为php没有大小写限制所以修改大写PHP成功上传。
第六关
查看提示是黑名单限制
查看源码发现没有空格过滤在Windows中空格在存储时会自动删除 解决方案
不能在修改文件名后面加空格也会被删除所以使用抓包软件进行抓包然后 在文件名”web.php“后加个空格,成功上传。 第七关
与第六关相似查看源码发现这一关没有删除 . 的代码在Windows中文件存储时会自动删除后缀后面的“.”同样抓包修改后缀上传成功
第八关
与前两关类似这关少了::$DATA的删除。
当php在windows环境的时候如果文件名 “::$DATA 会 把 ::$DATA 之后的数据当成文件流处理,不会检测后缀名.且保持::$DATA之前的文件名
所以跟前两关一样的步骤
第九关
查看提示这一关使用了白名单限制
查看源码它先是将文件后的“.”依次删除后再进行下一步但是deldot函数在遇到空格时会停住
所以我们将web.php文件后缀添加“. .”的形式绕过同样抓包修改 上传成功