Тема: Сплоит
Показать сообщение отдельно

  #6  
Старый 08.09.2006, 13:03
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
С нами: 10378404

Репутация: 1095


Smile

Регулярные выражение это, конечно, очень удобно, но часто возникают ситуации, когда удобней использовать split, чтобы выцепить из переменной, содержащей ответ сервера определенные данные. Например, на днях я писал скрипт который вынимает мейлы из html-страниц, причем не все в подряд а расположенные в определенном месте. В таких ситуациях, когда знаешь формат текста из которого надо извлечь определенные данные, split очень удобен.

Чтоб стало ясно, прокоментирую непонятный topicstarter'у фрагмент:

Код:
if ($answer =~ /;highlight=/) #здесь переменная $answer проверяется на присутствие текста ";highlight=" в ней, и если он есть, то
{
$success = 1; #эксплуатация считается удавшейся
# не стал узнавать чо там возвращает эксплоит, пусть что-нить подобное:
# lala=tralala;highlight=&&D41D8CD98F00B204E9800998ECF8427E;lalalalala;lalala;etc
# из всего этого надо извлечь хеш
@result=split(/;/,$answer); #здесь мы делим значение $answer по символу ";" и заносим каждое из этих разделенных значений в массив @result. Теперь в элементе массива $result[1] содержится "highlight=&&D41D8CD98F00B204E9800998ECF8427E"
@result2=split(/=/,$result[1]); # теперь $result2[1]=&&D41D8CD98F00B204E9800998ECF8427E
$result2[1]=~s/&/ /g; # заменяем символы & на пробелы
print "[+] MD5 Hash for user with id=$user_id is: $result2[1]\n"; # без комментариев...
В общем, тут все очень просто.
В случае с данным сплоитом, возможно, применить рег. выражения было бы разумней...

Последний раз редактировалось Digimortal; 08.09.2006 в 13:06..
 
Ответить с цитированием