PDA

Просмотр полной версии : Phpbb & java?


Diserted
18.07.2007, 21:01
Здравствуйте!
Помогите плс советом.

Наваял простейший флудер для phpbb на php, себе для одной задумки.

Но вот блин незадача, генерит он ссылку нужного вида, но на форме стоит джава(?) проверка на заполненность! Если проверять через браузер ссылку, то вылазит окно мол нет мессаги, отключаю джаву - оно вылазит на страничке, типа пхп как-то узнаёт что поле пустое?

Меня это ввело в ступор, даже и не знаю как обойти кроме писания скрипта который будет на страничке поле заполнять :\

А хочу именно простенькое на пхп\перл, без извратов, чтоб сам мог изменять..

Помогите плс :(

a1ex
18.07.2007, 21:17
Ну дай свой флудер заценить и глянуть.

n1†R0x
18.07.2007, 22:14
внатуре, заполнение можно дефолтным сделать, какие там поля тебе нужно пустыми оставить? вроде как нужно лишь заполнение названия топика и текста мессаги, так они и не должны быть пустыми...

пхп-скрипт легко распознает, пустой параметр или нет )

Diserted
19.07.2007, 03:25
не, вы не так поняли
делаю ссылку вида
posting.php?subject=&addbbcode18=%23444444&addbbcode20=12&helpbox=%CD%E0%EA%EB%EE%ED%ED%FB%E9+%F2%E5%EA%F1%F 2%3A+%5Bi%5D%F2%E5%EA%F1%F2%5B%2Fi%5D++%28alt%2Bi% 29&message=TEST_MESSAGE&disable_bbcode=on&disable_smilies=on&mode=reply&t=1338&post=%CE%F2%EF%F0%E0%E2%E8%F2%FC
граблю результат, имею еррор поле сообщений пустое.

я немнога подумал и решил что джаваскрипт тут нипричём, доп проверка в пхп. но вот же она переменнная message, заполнена?

<textarea name="message" rows="15" cols="35" wrap="virtual" style="width:98%" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"></textarea><br />

C!klodoL
19.07.2007, 09:19
там по моему и нельзя GET запросом посылать сообщение, вообще поставь себе для мозилы экстеншн LiveHTTPHeaders и посмотри заголовки, потом просто копируешь их и отсылаешь через сокеты, по крайней мере я всегда так делаю

Diserted
19.07.2007, 14:29
сабджект пустой ибо mode=reply - это ответ на тему а не создание новой
хедеры я выдрал, не дурак, оттуда эта строка и есть, толку-то.
что-то я видать туплю, попробовал пару других форумовв пхпбб - не канает тоже. есть у кого готовая строка ответа? дета я лоханулся :)

C!klodoL
19.07.2007, 14:45
я посмотрел заголовки, там POST запрос
POST /posting.php HTTP/1.1
Host: phorum.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://phorum.ru/viewtopic.php?t=48872
Cookie: PHPSESSID=xxxxxxxxxxxxxxxxxxxxxxx; phpbb2mysql_data=XXXXXXXXXXXXXXXXautologinidXXXXXX XXXXXXXXXXXXXXXuseridXXXXXXXXXXXXXXXXXXXX; phpbb2mysql_sid=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX;
phpbb2mysql_t=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXX
Content-Type: application/x-www-form-urlencoded
Content-Length: 189
quick_reply_flag=1&message=Message+Text&attach_sig=1&mode=reply&post=1&t=48872&sid=8ffda3c6feec396bae8cce09b10524b3&x=40&y=9

n1†R0x
19.07.2007, 14:48
ну вот пост и подавай.. для получения инфы по построению запросов советую почитать Rfcшки, кажется, #1945 (HTTP/1.0) & #2616 (HTTP/1.1)

Diserted
19.07.2007, 14:54
POST http://***.com/phpBB2/posting.php HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://***.com/phpBB2/posting.php?mode=reply&t=11611
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)
Proxy-Connection: Keep-Alive
Content-Length: 278
Host: ***.com
Pragma: no-cache
Cookie: phpbb2mysql_data=a%3A2%3A%7Bs%3A11%3A%22autologini d%22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bs%3 A4%3A%223371%22%3B%7D; phpbb2mysql_sid=73a186a90bf2967a80fc9b293ab78132; phpbb2mysql_t=a%3A1%3A%7Bi%3A11611%3Bi%3A118484212 0%3B%7D

subject=&addbbcode18=%23&addbbcode20=12&helpbox=%CF%EE%E4%F1%EA%E0%E7%EA%E0%3A+%CC%EE%E6%E D%EE+%E1%FB%F1%F2%F0%EE+%EF%F0%E8%EC%E5%ED%E8%F2%F C+%F1%F2%E8%EB%E8+%EA+%E2%FB%E4%E5%EB%E5%ED%ED%EE% EC%F3+%F2%E5%EA%F1%F2%F3&message=qwe&mode=reply&t=11611&post=%CE%F2%EF%F0%E0%E2%E8%F2%FC

Diserted
19.07.2007, 15:00
вот хедер из навиката, вроде тажа строчка, результат тот же.
или я чёта не понимаю?

Diserted
19.07.2007, 15:07
догадался сравнить хедер при тыке этой ссылки
у меня get а там post
как сделать post? :)

C!klodoL
19.07.2007, 15:14
print $sock "POST http://site.ru/page.php HTTP/1.1\r\n";
print $sock "Host: site.ru\r\n";
print $sock "Accept: */*\r\n";
print $sock "Content-Type: application/x-www-form-urlencoded\r\n";
print $sock "Content-Length: ".length($uri)."\r\n";
print $sock "Referer: Referer: http://site.ru/\r\n";
print $sock "User-Agent: Internet Explorer 6.0\r\n";
print $sock "Cookie: $cookie\r\n";
print $sock "Connection: close\r\n\r\n$uri";

вот пример пост запроса на перл, $cookie это куки, $uri - это subject=&addbbcode18=%23&a......

Diserted
19.07.2007, 15:46
<?
$fp = fsockopen("forum.***.ru", 80, $errno, $errstr, 10);
$url="subject=&addbbcode18=%23444444&addbbcode20=12&helpbox=%CF%EE%E4%F1%EA%E0%E7%EA%E0%3A+%CC%EE%E6%E D%EE+%E1%FB%F1%F2%F0%EE+%EF%F0%E8%EC%E5%ED%E8%F2%F C+%F1%F2%E8%EB%E8+%EA+%E2%FB%E4%E5%EB%E5%ED%ED%EE% EC%F3+%F2%E5%EA%F1%F2%F3&message=123&disable_bbcode=on&disable_smilies=on&mode=reply&t=1341&post=%CE%F2%EF%F0%E0%E2%E8%F2%FC";
$out = "POST http://forum.***.ru/posting.php HTTP/1.1\r\n";
$out .= "Host: forum.***.ru\r\n";
$out .= "Accept: */*\r\n";
//$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: ".strlen($url)."\r\n";
$out .= "Referer: http://forum.***.ru/posting.php\r\n"; $out .= "User-Agent: Mozilla\r\n";
$out .= "Cookie: phpbb2***_data=a%3A2%3A%7Bs%3A11%3A%22autologinid% 22%3Bs%3A32%3A%2209952e423f8c854d84190df8070eaae9% 22%3Bs%3A6%3A%22userid%22%3Bi%3A185%3B%7D;
phpbb2***_sid=c06b74d2a9441608ca6fe097c583125c; phpbb2***_t=a%3A1%3A%7Bi%3A1278%3Bi%3A1184339622%3 B%7D\r\n";
$out .= "Connection: close\r\n\r\n$url";
fputs($fp,$out);

while (!feof($fp)) { echo fgets ($fp,128); } fclose($fp); ?>

Diserted
19.07.2007, 15:49
HTTP/1.1 200 OK Date: Thu, 19 Jul 2007 11:47:01 GMT Server: Apache/2.2.4 (Unix) PHP/5.1.6 mod_ssl/2.2.4 OpenSSL/0.9.8a X-Powered-By: PHP/5.1.6
Set-Cookie: phpbb2***_data=a%3A2%3A%7Bs%3A11%3A%22autologinid% 22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D; expires=Fri, 18-Jul-2008 11:47:01 GMT; path=/; domain=forum.***.ru Set-Cookie: phpbb2***_sid=481439295326078b15a2ceee3c36f6d8; path=/; domain=forum.***.ru Cache-Control: private, pre-check=0, post-check=0, max-age=0 Expires: 0 Pragma: no-cache Content-Length: 7260 Connection: close Content-Type: text/html

Diserted
19.07.2007, 16:19
$url="mode=reply";
$out .= "Connection: close\r\n\r\n$url\r\n\r\n";
не передаётся mode=reply серверу, не видит он этого - почему?
вот как я вижу это
Connection: close mode=reply HTTP/1.1 200 OK

C!klodoL
19.07.2007, 17:23
$out .= "Connection: close\r\n\r\n$url\r\n";
\r\n после самих данных лишнее, надо так $out .= "Connection: close\r\n\r\n$url";

Diserted
19.07.2007, 17:38
оно отрабатывает, но страничка пишет что не задан тип сообщения(не видит оно что там mode=reply итд, не срабатывает строчка $url :/ )

C!klodoL
19.07.2007, 17:45
$out .= "Content-Length: ".strlen($url)."\r\n";
я пхп не знаю, но тут ".strlen($url)." должна быть длинна $url, сколько символов, может быть кавычки и точки там не нужны? ибо писано это для перл

Diserted
19.07.2007, 18:09
писец я туплю, раскомментил контент-тайп всё пошло
теперь вопрос почему я получаю редирект на
Location: http://forum.***.ru/login.php?redirect=posting.php&mode=reply&t=1257&sid=bbab0f5d768302c62e9d371e307fa4bb
проблема с куками?

Diserted
19.07.2007, 18:17
бугага!контент тайп был не нужен с ет Но нужен с пост)))


очень может быть
просто полностью прочти ответ от сервера и выведи в броузер

HTTP/1.1 302
Found Date: Thu, 19 Jul 2007 14:13:54 GMT
Server: Apache/2.2.4 (Unix) PHP/5.1.6 mod_ssl/2.2.4 OpenSSL/0.9.8a
X-Powered-By: PHP/5.1.6

Set-Cookie: phpbb2***_data=a%3A2%3A%7Bs%3A11%3A%22autologinid% 22%3Bs%3A0%3A%22%22%3Bs%3A6%3A%22userid%22%3Bi%3A-1%3B%7D; expires=Fri, 18-Jul-2008 14:13:54 GMT; path=/; domain=forum.***.ru

Set-Cookie: phpbb2***_sid=f9fdca4a4bff80c7e70d160bb5f53af9; path=/; domain=forum.***.ru

Location: http://forum.***.ru/login.php?redirect=posting.php&mode=reply&t=1257&sid=f9fdca4a4bff80c7e70d160bb5f53af9
Content-Length: 0
Connection: close
Content-Type: text/html

вот что он мне отвечает, к чему это? :)

C!klodoL
19.07.2007, 18:24
там на странице ответа скрытое поле и в нем вот такие ключи 48753, 5026be448d23afe2d94b7e88403d6735 сначала надо загружать страницу и их парсить, а потом уже слать запрос, через тупой цикл ничего не выйдет
<input type="hidden" name="attach_sig" value="1" /><input type="hidden" name="mode" value="reply" /><input type="hidden" name="post" value="1"><input type="hidden" name="t" value="48753" /> <input type="hidden" name="sid" value="5026be448d23afe2d94b7e88403d6735" />

Diserted
19.07.2007, 18:30
там на странице ответа скрытое поле и в нем вот такие ключи 48753, 5026be448d23afe2d94b7e88403d6735 сначала надо загружать страницу и их парсить, а потом уже слать запрос, через тупой цикл ничего не выйдет
<input type="hidden" name="attach_sig" value="1" /><input type="hidden" name="mode" value="reply" /><input type="hidden" name="post" value="1"><input type="hidden" name="t" value="48753" /> <input type="hidden" name="sid" value="5026be448d23afe2d94b7e88403d6735" />
аццкий пиздец.
есть готовый парсер\пример? :(

C!klodoL
19.07.2007, 18:35
$sid =~/value="([a-f0-9]{32})"/
$t =~/value="(\d+)"/
вот тебе парсер на перл, в пхп наверно так же

Diserted
19.07.2007, 19:04
$sid =~/value="([a-f0-9]{32})"/
$t =~/value="(\d+)"/
вот тебе парсер на перл, в пхп наверно так же
атас, не догоняю, в $sid =~/value="([a-f0-9]{32})"/ где указывается где он ищет значение? предположим я считал текст в $site - и куда его тут подставить?

C!klodoL
19.07.2007, 19:08
$sid = $t = $site;
$sid =~/value="([a-f0-9]{32})"/
$t =~/value="(\d+)"/
в результате $sib будет иметь значение 5026be448d23afe2d94b7e88403d6735, а $t 48753

Diserted
19.07.2007, 19:54
окей, заебался но с парсингом разобрался
совсем мозги не варят, в какой момент считывать страницу?