上传文件之条件竞争
前言
安全自在人心
一个文件上传点可以成为一个写入webshell的一个靶点。
上传你的头像
通常情况下,只要有上传文件的地方,都可以作为上传点尝试写入webshell。
例如我们尝试上传一个正常的图片,然后观察一下上传后的文件名及目录,通常情况下是 /uploads/
目录,以及时间随机重命名。
那么我们有两种思路写入webshell。
执行
竞争条件
获取webshell?
假设对方是一个 php
网站,且对于上传的文件采用这种 “先上传 ,后校验” 的方式。
直接暴力上传文件,然后试图访问这个文件,例如准备了一个 php
一句话
php
<?php
fputs(fopen('shell.php','w'),'<?php @eval($_POST["password"])?>');
?>
上传,访问这个文件,然后如果返回200 则证明webshell写入成功。然后连接这个webshell,尝试执行一些命令,进行提权。
预防方法
- 严格约束权限,例如该文件夹可写可读,不可执行。
- 访问限制频率。
- 使用一个配置更为强大的服务器。
文件包含漏洞
等待填坑ing....