dbg

(no subject)

Jun 05, 2007 20:03

Ко вчерашнему.

Некоторые могли обратить внимание, что если пойти на http://community.livejournal.com/ru_politics, будучи незалогиненым, то ЖЖ честно покажет "This journal has been suspended.". А если пойти залогиненым, то ВСЕ ОПЯТЬ ПОВИСНЕТ, АААА!!!! Псы Тоталитарного Режима отслеживают невинных пользователей, интересующихся крамольным коммьюнити, и берут на карандашик!!! Страшно?

Разберемся.

Когда мы залогиненными идем на http://community.livejournal.com/ru_politics, ЖЖ нас перенаправит на URL вида http://community.livejournal.com/ru_politics/__setdomsess?dest=http://community.livejournal.com/ru_politics&k=ljdomsess.community.ru_politics&v= ....
Вот так вот у ЖЖ хитрО устроена схема авторизации.

Попробуем подсократить. Не логинясь, пойдем на http://community.livejournal.com/ru_politics/ - в конце ULR слеш. Опять все висит. Вот оно. Становится понятней.

Проверям (невалидным HTTP запросом, его валидность нам не важна):

$ telnet 204.9.177.18 80
Trying 204.9.177.18...
Connected to 204.9.177.18.
Escape character is '^]'.
GET /ru_politics

Параллельно запускаем tcpdump:

# tcpdump -S -nl -s0 host 204.9.177.18 and port 80
19:59:58.223493 IP 89.108.83.67.36117 > 204.9.177.18.80: S 516335794:516335794(0)
win 5840
19:59:58.443826 IP 204.9.177.18.80 > 89.108.83.67.36117: S 845985459:845985459(0)
ack 516335795 win 4380
19:59:58.443858 IP 89.108.83.67.36117 > 204.9.177.18.80: . ack 845985460 win 5840

20:00:00.316302 IP 89.108.83.67.36117 > 204.9.177.18.80: P 516335795:516335813(18)
ack 845985460 win 5840
20:00:00.636080 IP 204.9.177.18.80 > 89.108.83.67.36117: . ack 516335813 win 4398

Все пролезло, к нам прилетел ACK.

Пробуем со слешом:

$ telnet 204.9.177.18 80
Trying 204.9.177.18...
Connected to 204.9.177.18.
Escape character is '^]'.
GET /ru_politics/
Опять смотрим tcpdump'ом:

# tcpdump -S -nl -s0 host 204.9.177.18 and port 80
20:00:15.680079 IP 89.108.83.67.36119 > 204.9.177.18.80: S 535122460:535122460(0)
win 5840
20:00:15.900485 IP 204.9.177.18.80 > 89.108.83.67.36119: S 1002706682:1002706682(0)
ack 535122461 win 4380
20:00:15.900507 IP 89.108.83.67.36119 > 204.9.177.18.80: . ack 1002706683 win 5840

20:00:20.709008 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:21.794070 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:23.974075 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:28.334092 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
20:00:37.054082 IP 89.108.83.67.36119 > 204.9.177.18.80: P 535122461:535122480(19)
ack 1002706683 win 5840
А вот и ретрансмиты.

Судя по всему, атака не прекратилась, но ЖЖ стал умнее и теперь режет пакеты по строчкам 'GET /ru_politics/', 'POST /ru_politics/' и т.д. Причем, строчка должна быть в самом начале TCP-payload. Т.е. пост с этими строчками проходит (правда, с накоторой вероятностью может обломаться).

В общем, жжшным сисадминам за борьбу с DDoS'ом четверка. Была бы пятерка, если б они так сделали сразу.
Previous post Next post
Up