Comments: |
а енкрипт - такойже как и декрипт? а че, удобно..
> а енкрипт - такойже как и декрипт? а че, удобно.. конечно. только палево, даже +/- был бы лучше в качестве "шифрования", ну и, естественно, вторая функа рута не увидит.
да и C99 уже больше десяти лет на дворе. ну сколько можно эти ебанистические «int i; for (выеби-меня-в-жопу-потому-что-мой-компилятор-говно)»?!
откуда там только не копипастили... смотрю на кодес, и судя по стилю оформления, и обилию дурацкой копипасты, каждая строка так и кричит: "очень хотелось денег", вот еще дивное:
unsigned long ip2long (str) char *str; { unsigned long i, octet, ip = 0; char *cp, arg[256]; strncpy (arg, str, sizeof(arg)-1); arg[sizeof(arg)-1] = '\0'; cp = strtok (arg, "."); for (i=4; i>0; i--) { octet = 0; while (*cp) { octet = octet*10 + *cp-'0'; cp++; } ip += octet*(1<<((i-1)*8)); cp = strtok (NULL, "."); } return ip; }
inet_aton, тоже отменили, а strtok... деграданты.
дьявол всезнающий, НО ЗАЧЕМ? с strtok()… я ещё понимаю, зачем inet_ntoa() можно быстропереписать, но тут-то… я и так поутру в человечество не верю…
тьфу. эмо-камент какой-то получился, довели, проклятые!
зачем вообще строку копировать и бить, когда ее можно просто отпарсить, не говоря уже о том, что апач а) может туда и NULL сунуть, и IPV6 б) с тредами, весь этот шалашик сложится пиздой. занятно еще, что этот продукт стоит $1K, а эйверы подняли такой вой, будто звезду смерти нашли. а как оно славно выпаливается по кукам, и сколько всякого говна тащит в систему... а вот еще охенчик:
#ifdef DEBUG FILE* debug_f; debug_f = fopen(DEBUG, "a"); fprintf(debug_f, "%s ALLOC ERROR: dl_genFilenameSession(), md5, md5, 128\r\n", dl_ClientIP(f)); fclose(debug_f); #endif
и так ВЕЗДЕ, где нужен отладочный вывод. и зачем нужен va args ума не приложу )))
ну, просто парзилку IP можно столькими способами сделать… зато заметь, strncpy(), заботятся о buffer overflow!
>и так ВЕЗДЕ, где нужен отладочный вывод а я давно говорю, что copy и paste должны вызываться комбами из как минимум 128 нажатий. желательно, рандомных. а то и сам грешу, бывает…
я не могу понять зачем вообще строку копировать, ведь функа ее не меняет, а парсер - простейший автомат. и если уже разбили на куски, то почему *= +=, а не atoi? чудовищно одним словом. это не кодер, а создание хаоса. )))
> комбо точно! Ж-)
>я не могу понять зачем вообще строку копировать если бы не k&r, я бы предположил, что они так пытаются обеспечить потокобезопасность (ничего больше придумать не могу).
а, не, вот: strtok() же в строку нули хуячит в полный рост! точнее, может так делать, нигде не запрещено — ну, и часто делает. за что я его и не люблю. видимо, автор оригинала об этом знал. так что без копирования как раз поменяла бы.
такой парзер вообще можно сделать однопроходным, без всей этой ерунды. с проверкой на переполнение вдобавок.
хотя, конечно, это всё херня, потому что форм записи IPv4 немеряно, и годная aton их все распознаёт. но нынешние сумрачные гении не в курсе, видимо.
внутри апача не так много вариантов IPV4/6
большая часть хакеров - это просто пиздец, даже студентота и то лучше (понтов меньше)
>внутри апача не так много вариантов IPV4/6 лучше перебдеть, чем недобдеть! ну ладно, упёрло молодое дарование функцию, не хочет из библиотеки дёргать — так почему тогда не пойти и не упереть её из glibc, например? там кода-то…
дарование не знает, что эта функа есть. а glibc оно юзает от души, ведь идет сборка на целевой системе из сырков + apxs, это ж школота - модифицировать бинари не умеют, там же еще поди скриптов на шелле вагон, чтобы весь девел вытащить ))))
беру свои слова обратно, оно знает, что есть ntoa
if (rec.ut_addr > 0) { struct in_addr address_struct; address_struct.s_addr = rec.ut_addr; ip = inet_ntoa(address_struct); dl_SendIPToLocalBlacklist(f); }
толи тащили все подряд со stackoverflow, то ли методом проб и ошибок, а может просто php головного мозга
блять. посмотрел на предыдущий пост (address_struct unused), и точно:
void dl_SendIPToLocalBlacklist(ap_filter_t *f) { char *filename = dl_genFilenameBlacklist(f); FILE* fd; fd = fopen(filename, "w"); if (fd != NULL) { fclose(fd); } }
а, понял, это файл-флаг, только забанит он ip текущей сессии, а не ip из utmp
ВСЕ! хватит с меня глубин хакерской мысли.
хотел пошутить на тему того, что скоро будут с собой таскать собраные шланг+ллвм для всех нужных архитектур и всё остальное нужное в архиве, но потом подумал, что это может и не шуткой оказаться.
с нетерпением жду, когда они найдут что-нибудь вроде DynamoRIO и попробуют его прикрутить. лулзов должно быть значительно больше.
"и не шуткой оказаться."
пытаются. только для того, чтобы хакать (в хорошем смысле этого слова) LLVM нужны мозги...
пока видел только переделанные tinyc и llvm на предмет поксоренных строк и перестановок базовых блоков, но ради такой фигни можно и не брать продвинутые тулзы, все это можно сделать прямо в экзешке, а то, что нельзя, ну так это опять-таки нужны мозги, так что галктеко в безопасности.
как тебе K&R style? это к вопросу о C99... ))))
йопт, до меня и не сразу дошло, что ж в коде-то ещё глаз дёргает! демоны, ЭТО-ТО они откуда скопипастили, интересно?!
(задумчиво) а что, хоть ARC4 уже ниасиливают? ну простой же, скопипасти и наслаждайся…
тогда не осилят билдер, ведь придется или менять стиль разработки, или препроцессор вменяемый писать или бинарь патчить, а с этим уже все совсем плохо. )))
неуловимый Джо: darkleech@thesecure.biz 17:26 отходил 17:28 это нерутабельное ядро. Можно попробовать другими путями. Какие права у тебя там? Юзера или Апача? Это шаред хостинг или отдельный сервер какого-то чувака? Дай команду: uname -a; cat /etc/crontab; ls -lia --full-time /etc/cron* /lib; find / -type f -perm -u+s -exec ls -lia {} \; 2>/dev/null; find / -type f -name "*.sh" -user root -perm -o+rw -exec ls -la {} \; 2>/dev/null JustFive 17:31 привет 17:31 ты до этого общался 17:31 с моим партнером ............................. http://pastebin.com/DBxBfGXGпод столом.
удивительно, как эта городушка вообще взлетела, хотя судя по раскопкам на pastebin...
mod_build_mime.c:170: warning: (near initialization for 'directives[0].func') mod_build_mime.c:181: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'out_filter' mod_build_mime.c:399: error: expected ')' before '*' token mod_build_mime.c:405: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'build_mime_module' apxs:Break: Command failed with rc=1 === Dark Leech Apache/2 Iframer 2012.08.07 keep it priv8 [+] FreeBSD version [+] Random MODULE_NAME = build_mime_module [+] Getting sudoers
[+] Generated KEY_XOR = C79283E7EB46F64 [+] Generated crypted_strings.h (11523 bytes) [+] Debug is off [+] APXS found, compiling module... [-] Compilation unsuccessfull. Exiting...
ахуенчик. «ну, нишмагла я, нишмагла…» | |