概述
文件上传漏洞是指:用户上传了一个可执行的脚本文件,并通过该文件获得了执行服务端命令的权限
文件上传漏洞测试过程:
1 进行正常的上传,期间可抓包查看
2 尝试上传不同类型的恶意脚本文件,如JSP PHP文件等
3 查看是否在前端做了上传限制,如大小,格式,并尝试进行绕过
4 利用报错或者猜测等方式获得木马路径,访问
dvwa文件上传漏洞演示:
1 绕过大小限制
通过firebug来修改大小限制;
通过burp抓包更改大小限制;
2 上传cmd shell
low
上传cmd.php文件(一句话木马),去掉此时地址栏最后的#,拷贝文件上传成功提示最前面的文件相对路径到URL的最后,然后接参数?cmd=ipconfig发送请求,就相当于在cmd界面里进行操作
medium
直接上传cmd.php,发现不能上传成功,查看中级别的源代码,找到中级别下允许上传的文件类型,再次上传文件,抓包,在包中修改文件类型,重放请求,发现文件上传成功
high
按照中级别的方法上传文件发现并不可行,所以要换个思路。先放弃上传cmd.php文件,改为上传系统所允许的文件格式,上传一个图片文件,抓包,将文件名字x.jpg改为x.php.jpg,将cnd.php文件中的代码粘贴在图片乱码的最后面,重放请求,发现上传成功,执行low中的操作,执行结果一样。
文件上传防御:
1 对上传的文件在服务器上存储时进行重命名
2 检查上传文件的类型和大小、
3 禁止上传危险的文件类型,如jsp jar war等
4 直接受指定类型的文件
5 上传文件做日志记录
6 上传文件要保存的文件名和目录名由系统根据时间生成,不允许用户自定义
最后
以上就是想人陪毛豆为你收集整理的文件上传漏洞原理及防御的全部内容,希望文章能够帮你解决文件上传漏洞原理及防御所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复