"Пролезть" можно же и через web приложение))
Ну так поясню как это делается на примере FTP. (рандомный пример)
Допустим на сервере крутится некий someFtp.
И ты решил узнать, можно ли через него пролезть.
Ставишь его себе на машину, фаззишь ( гугли "фаззинг").
Нашел ты в нем какое-то переполнение. Вот тут уже и пригодится ASM и навыки RE.
Подрубаешь все это дело в gdb, копаешь что и как и можно ли эту дыру эксплуатировать.
Например, ты выяснил, что получаешь контроль над стеком и можешь перезаписать EIP.
Далее, заюзав например ROP стайл ( return oriented programming) заставляешь передать управление на твой шеллкод. (Его берешь к примеру из метасплоит какой нибудь bind_tcp/reverse_tcp).
Ну как-то так.
Но так то, это если ты сам хочешь, обычно когда проводят пентест, проверяют на наличие известных дыр.