文件上传

文件上传
Att@ckxu简介
客户端文件上传到服务器的过程
当上传文件的时候,如果服务器的后端代码没有对上传的文件进行严格的验证和过滤,就容易造成上传任意文件的情况,如果可以上传webshell,就形成了文件上传漏洞
危害
攻击者通过上传恶意文件传递给解释器去执行,并在服务器上执行恶意代码。比如进行数据库执行、服务器文件管理、命令执行等恶意操作。从而控制整个网站,甚至是服务器
前提条件
- 成功上传文件到服务器
- 文件能够被访问到(知道路径)
- 文件被解释器解析执行
文件检测方式
判断文件检测方式
漏洞防御措施
- 上传的目录设置为不可执行
- 对文件后缀的判断中使用白名单的方式
- 文件服务器和web服务器分离
- 不需要返回文件路径的情况下,随即改写文件名
实际渗透
只要证明服务器可以解析我们所上传的文件内容即可
当我们实际渗透中,不能传危险文件,可以传phpinfo或者是加密字符串,从而看是否存在漏洞
phpinfo
文件上传传入phpinfo
<?php |
获取上传路径,访问该文件,发现有回显,存在文件上传
不是一句话木马,是一个函数,返回服务器信息
加密字符串
<?php |
说明对php代码进行了解析,存在文件上传