文件上传-竞争条件

1. 文件上传过程介绍
文件上传过程:
服务器获取文件>>>保存上传临时文件>>>重命名移动临时文件
2. 竞争条件原理介绍
网站逻辑:
1、网站允许上传任意文件,然后检查上传文件是否包含Webshell,如果包含删除该文件。

2、网站允许上传任意文件,但是如果不是指定类型,那么使用unlink删除文件。

在删除之前访问上传的php文件,从而执行上传文件中的php代码。
例如:上传文件代码如下


	fputs(fopen('shell.php','w'),'');

?>

3. 竞争条件代码分析
先进行上传,后进行判断与删除。利用时间差进行webshell上传。文件上传-竞争条件_第1张图片

4. 竞争条件文件上传利用
提前不断访问代码文件,然后上传,最终使用菜刀连接一句话Webshell。

Python发送http请求:

import requests
while true:
requests.get(“路径”)
文件上传-竞争条件_第2张图片

你可能感兴趣的:(web安全,python,php,java,mysql,linux)