Показать сообщение отдельно

  #8  
Старый 25.10.2011, 14:53
Mail2k
Guest
Сообщений: n/a
Провел на форуме:
488

Репутация: 0
По умолчанию

Цитата:
Сообщение от Expl0ited  
Expl0ited said:
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
В колонке `pass` - phpinfo(); в колонке `user` - assert, вот структура базы, для теста:
PHP код:
PHP:
[
COLOR="#000000"][COLOR="#0000BB"]CREATE TABLE[/COLOR][COLOR="#007700"]IF[/COLOR][COLOR="#0000BB"]NOT EXISTS[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]users[/COLOR][COLOR="#007700"]` (

`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]int[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]10[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL AUTO_INCREMENT[/COLOR][COLOR="#007700"],

`[/COLOR][COLOR="#DD0000"]user[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]varchar[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]255[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL[/COLOR][COLOR="#007700"],

`[/COLOR][COLOR="#DD0000"]pass[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#0000BB"]varchar[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]255[/COLOR][COLOR="#007700"])[/COLOR][COLOR="#0000BB"]NOT NULL[/COLOR][COLOR="#007700"],

[/
COLOR][COLOR="#0000BB"]PRIMARY KEY[/COLOR][COLOR="#007700"](`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`)

)[/
COLOR][COLOR="#0000BB"]ENGINE[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]MyISAM[/COLOR][COLOR="#007700"]DEFAULT[/COLOR][COLOR="#0000BB"]CHARSET[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]utf8 AUTO_INCREMENT[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]INSERT INTO[/COLOR][COLOR="#007700"]`[/COLOR][COLOR="#DD0000"]users[/COLOR][COLOR="#007700"]` (`[/COLOR][COLOR="#DD0000"]id[/COLOR][COLOR="#007700"]`, `[/COLOR][COLOR="#DD0000"]user[/COLOR][COLOR="#007700"]`, `[/COLOR][COLOR="#DD0000"]pass[/COLOR][COLOR="#007700"]`)[/COLOR][COLOR="#0000BB"]VALUES

[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'assert'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'phpinfo();'[/COLOR][COLOR="#007700"]);

[/
COLOR][/COLOR
Т.е. логика у скрипта такая, если в _REQUEST['userlogin'] передаются данные, то скрипт обращается к базе и запрашивает из таблицы users две колонки user и pass у записи где id равен 1, и эти данные попадают в функцию array_filter которая возвращает данные отфильтрованные в соответствии с результатом
функции обратного вызова
, в качестве такой функции мы используем assert, которая может обработать строку как PHP код, в качестве этой строки у нас phpinfo(); что собственно и работает нам на руку.
если я правильно понял,то при данной схеме вместо какой-то определенной страницы на сайте будет загружаться вебшелл? Верно?

А можно ли к примеру сделать таким образом,чтобы при запросе опредленной страницы вебшел из базы записывался в какую-нибудь папку? И записывался бы только в случае,его отсутствия в этой папке.
 
Ответить с цитированием