Чтобы понять, как это взломать, надо понимать, как это работает и как такие проверки защищают от взлома.
if (isset($_POST['go']))
Для прохождения такой проверки нужно отправить запрос методом POST с параметром go в теле запроса
curl -d "go=1" -X POST
somedomain/someurlif (!isset($_SESSION['admin']))
Сессия - это ресурс на стороне сервера, например файл с определённым именем. К нему нет прямого доступа.
Для открытия сессии (то есть конкретного файла) используется идентификатор, сохраняемый в cookies. Обычно это PHPSESSID. Например, в куке PHPSESSID записано "2n24161uqm7ctl2tmp8b10sng3" - значит на сервер есть файл например /var/tmp/session_2n24161uqm7ctl2tmp8b10sng3.php (имя файла условное), а внутри записаны все значения массива $_SESSION, закодированные с помощью функции serialize.
Тут два варианта взлома:
1. В своём браузере записать в ту же куку то же значение, что и у админа. Для этого конечно, это значение надо у админа украсть.
2. На сервере открыть файл сессии, декодировать, подставить там параметр "admin" = 1, закодировать и записать обратно в тот же файл.
Оба вариант трудно реализуемы. Возможно, украсть куку админа будет чуть проще :) Например, украсть его ноутбук :) Или пошариться в его браузере, пока он душ принимает. Шпионство.
Для таких как мы - шпионов-лузеров - в $_SESSION на стороне сервера при авторизации также записывают UserAgent браузера и IP адрес компьютера админа, чтобы подмена куки не сработала. То есть там не только !isset($_SESSION['admin']) но и несколько других проверок например. Если проверка на user-agent - нужно будет ещё подменить UserAgent своего браузера или в curl передать в заголовках. Если проверка на IP - тупик, IP подменить будет нереально, это на уровне протокола TCP
Для подмены значений на сервере нужно взломать сервер. То есть либо подсунуть туда хитрый скрипт, который может быть выполнен путём запроса HTTP, он должен сделать описанное выше. Либо авторизоваться через FTP или SSH, затем либо искать файл сессии, чтобы поправить вручную, либо искать этот скрипт с проверкой !isset($_SESSION['admin']), чтобы закомментировать условие. Чтобы войти на сервер, понадобится стырить логин пароль у админа, либо украсть его ноут.
Иногда сессии хранятся не в файлах, а в других сервисах. Например, в memcached или redis или
ещё где угодно.
В общем, юный хакер, изучай. Взломай для начала свой сервер с такими же проверками :)