POST w Delphi - jak uzyskać dane?

0

Witam!

Chcę odpowiedzieć na forum darkwarez.pl(Gram w otwarte karty :D Wprawdzie są już darmowe autopostery, ale nia mają opcji, które sam mogę dodać) używając programu i metody POST. Jednak wyjaśnienia w HTTP nie są dla mnie przejrzyste:

Żeby napisać taki program trzeba przeanalizować kod HTML strony z formularzem, by poznać jakie pola przez formularz są wymagane

Według mnie to miejsce formularza w kodzie źródłowym:

			<td colspan="9"><span class="gen"> 
			  <textarea id="message" name="message" rows="15" cols="35" wrap="virtual" style="width:450px" tabindex="3" class="post" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"></textarea>
			Rozmiar pola: <a href="" onclick="changeCommentSize(-120); return false;">zmniejsz rozmiar</a> | <a href="" onclick="changeCommentSize(120); return false;">zwiększ rozmiar</a> | <a href="" onclick="changeCommentSize(240); return false;">zwiększ rozmiar x2</a>
			  </span></td>

		  </tr>
		</table>
		</span></td>
		  		  		  		</table>
	  </td>
	</tr>
	 
	<tr> 
	  <td class="catBottom" colspan="2" align="center" height="28"> <input type="hidden" name="mode" value="reply" /><input type="hidden" name="sid" value="d4d1eb93d44918785d0e4453f45b59b7" /><input type="hidden" name="t" value="346939" /><input type="submit" tabindex="5" name="preview" class="mainoption" value="Podgląd" />&nbsp;<input type="submit" accesskey="s" tabindex="6" name="post" class="mainoption" value="Wyślij" id="postb" /></td>
	</tr>
  </table>

Forum jest oparte na (zmodyfikowanym!) phpBB, kod źródłowy sekcji post w załączniku
EDIT. Przeszukałem już go, niestety, nie znalazłem dosłownego wykonania czynności których się spodziewałem(Może zrobił to w inny sposób, niż bezpośrednie wypisanie wszystkich rzeczy tworzących formularz?)

Jak zdobyć wszystkie uchwyty i parametry do POST-owania? Co ma znaleźć się w Input i w jakiej kolejności?(Skąd to mam wziąć?)

Input.WriteString(Format('title=%s&name=%s&email=%s&body=%s', [edtTitle.Text, edtNick.Text,
edtmail.Text, memBody.Lines.Text])

Proszę o pomoc.

P.S. Googlowałem już trochę, ale wszystko odnosiło się do PHP.

1

Mam nadzieje, że nie chodzi Ci o spamowanie. Ale zainteresuj się jakimś sniferem, np wiresharkiem, albo liveHeader'sem (wtyczka do firefoxa - jak dla mnie, w sam raz do tych działań), podglądnij wszystko co się wysyła i umysł ci się rozjaśni.

kroki które musisz wykonać to:

  • Zalogować się
  • Przejść do danego tematu
  • klinąć nowa odpowiedź
  • uzupełnić dane formularza
  • klinknąć submit

Wszystkie te czynności sobie podejrzyj, a następnie przełóż na kod.

1

Wireshark? :| Obecnie każda przeglądarka ma jakiś tool który z nią współgra - Firebug, Dragonfly...
Za pomocą takich zabawek możesz podejrzeć trzema kliknięciami jakie zapytanie jest faktycznie wysyłane - polegając na statycznej analizie przy odrobinie farta nie wychwycisz połowy zmiennych.

0
Demonical Monk napisał(a)

Wireshark? :| Obecnie każda przeglądarka ma jakiś tool który z nią współgra - Firebug, Dragonfly...
Za pomocą takich zabawek możesz podejrzeć trzema kliknięciami jakie zapytanie jest faktycznie wysyłane - polegając na statycznej analizie przy odrobinie farta nie wychwycisz połowy zmiennych.

Przy pomocy wiresharka wyszło

[truncated] subject=&addbbcode18=%23A6A6A6&addbbcode20=0&helpbox=Rada%3A+Style+mog%B1+by%E6+stosowane+szybko+do+zaznaczonego+tekstu
&message=%5Bsize%3D24%5DFast+Five+%2F+Szybcy+i+wsciekli+5+%282011%29+DvDrip+LEKTOR+%5Bcolor%3D%23c6bac6%5DP%

Czyli ogólnie subject&message
Subject pozostawiłem pusty i wwaliło tam coś takiego. Czy wysyłając mam uzupełnić subject o to, czy pozostawić pusty? Czy w message mam zamienić spacje na +(Robi to przeglądarka - wtedy muszę to zrobić, czy serwer?)

Wynik z Firebuga(inny post):

subject=&addbbcode18=%23A6A6A6&addbbcode20=0&helpbox=Rada%3A+Style+mog%B1+by%E6+stosowane+szybko+do+zaznaczonego+tekstu
&message=%5Bsize%3D24%5D%5Bcolor%3D%23147426%5DDrzewo+%BFycia+%2F+The+Tree+of+Life+%282011%29+%5B%2Fcolor%5DPLSUBBED.BRRip.XviD+Wtopione+Napisy+%5Bcolor%3D%23c6bac6%5DP%5B%2Fcolor%5D%5Bcolor%3D%23e50000%5DL%5B%2Fcolor%5D+%0D%0A
5B%2Fsize%5D%0D%0A%0D%0A%5Bimg%5Dhttp%3A%2F%2Fi22.lulzimg.com%2Fi%2Fdb2f98.jpg%5B%2Fimg%5D%0D%0A%0D%0A%5Bquote%5DFilm-
Arcydzie%B3o%2C+kt%F3ry+szuka+odpowiedzi+na+najwa%BFniejsze+pytanie+ludzko%B6ci+
%26%238211%3B+jaki+jest+sens+%BFycia%3F+Duet+najlepszych+aktor%F3w+naszych+czas%F3w+%28Brad+Pitt+i+Sean+Penn%29+w+filmie+legendarnego+tw%F3rcy
+kina+%26%238211%3B+Terrence%26%238217%3Ba+Malicka+%28%26%238222%3BCienka+czerwona+linia%26%238221
%3B%29.+Jack+%BFyje+wraz+z+dw%F3jk%B1+braci+oraz+rodzicami+w+szcz%EA%B6liwym+domu.+Rodzice+otaczaj%B1+go+opiek%B1+i+trosk
%B1%2C+a+%B6wiat+wydaje+si%EA+by%E6+dla+niego+wspania%B3ym+miejscem.+Do+tego+z+pozoru+idealnego+%B6wiata+zaczynaj%B1+jednak+dociera%E6+mroc
zne+aspekty+%BFycia+takie+jak+choroba%2C+cierpienie+i+%B6mier%E6.+Ch%B3opak+zaczyna+swoj%B1+drog%EA+wiod%B1c%B1+ku+doros%B3o%B6ci+i+przekonuj
e+si%EA
%2C+%BFe+w+miejsce+sielanki+i+beztroski+przychodzi+mu+zmierzy%E6+si%EA+z+labiryntem+doros%B3ego+%BFycia.+Jack+staje+si%EA+zagubion%B1+dusz%B1+w
+nowoczesnym+%B6wiecie.+Jedynym+sposobem+na+wydostanie+si%EA+z+pu%B3apki+b%EAdzie+znalezienie+odpowiedzi+na+najbardziej+fundamentalne+pytania
+o+sens+wiary+i+pow%F3d+naszej+egzystencji.+B%EAdzie+to+wymaga%B3o+podr%F3%BFy+do+najodleglejszych+miejsc+w+czasie+i+przestrzeni+
%26%238211%3B+miejsc%2C+w+kt%F3rych+nie+by%B3+jeszcze+nikt.%0D%0A%5B%2Fquote%5D%0D%0A%5Bcode%5D%0D
%0ARelease%3A+Drzewo.zycia.2011.PLSUBBED.BRRip.XviD-BiDA%0D%0AWaga%3A+710+MB%0D%0AZawarto%B6%E6%3A+plik+wideo
%0D%0AAudio%3A+BluRay+%5Beng%5D%0D%0AVIDEO%3A+%5BXVID%5D+576x304+24bpp+23.976+fps+587.8+kbps+%2871.8+kbyte%2Fs%29%0D
%0AAUDIO%3A+48000+Hz%2C+2+ch%2C+s16le%2C+112.0+kbit%2F7.29%25+%28ratio%3A+14000-%3E192000%29%5B%2Fcode%5D%0D%0A%5Bcolor%3D%23ffb300
%5D%0D%0A%0D%0A*+Polska+wersja+j%EAzykowa%21%0D%0A*+Bez+has%B3a%21%0D%0A*+1+link%21%0D%0A%5B%2Fcolor%5D%0D%0A%0D%0A%5Bsize%3D18
%5D%5Bcolor%3D%236699ff%5DWupload%5B%2Fcolor%5D%5B%2Fsize%5D%0D%0A%0D%0A%5Bcode%5Dhttp%3A%2F
%2Fwww.wupload.com%2Ffile%2F202999157%2FDrzewo.zycia.2011.PLSUBBED.BRRip.XviD-BiDA.avi%5B%2Fcode%5D&mode=reply&
sid=669a117d8f20038d1db1d6058dcf0b93&t=3115679&post=Wy%B6lij

Tutaj znowu w miejscu jakiś kod, ale moją uwagę przykuło zakończnie:

&mode=reply&sid=669a117d8f20038d1db1d6058dcf0b93&t=3115679&post=Wy%B6lij

Wdg. Firebuga schemat wygląda tak: subject&helpbox&message&mode&sid&t&post
Jak poprzedni wynik był dla mnie zrozumiały, tak ten jest niezbyt. Którego mam użyć?

1

Wynik z Firebuga(inny post):

Skąd ty to wyciągnąłeś?! raw post data? :|

Przecież Firebug daje ładną tabelkę ze wszystkim, ale polak potrafi sobie życie skomplikować...

1

Widocznie, nie do końca rozczytałeś dane z wiresharka. Musisz to wszystko uzupełnić.
sid= i t= wyciągasz ze strony z formularzem.

1

Tak, tak. Używajcie statycznej analizy do usranej śmierci i oglądajcie sobie encodowane zapytania plain tekstem bo przecież przez tyle lat istnienia sieci faktycznie nikt narzędzia do tego celu nie wymyślił (Firebug, Fiddler, Dragonfly, IE Developer Toolbar).

0

Poprawiam:

Post

Parametryapplication/x-www-form-urlencoded
addbbcode18 #A6A6A6
addbbcode20 0
helpbox *Wstaw adres: [url]http:*adres[/url] or [url=http://adres]Tekst adresu[/url] (alt+w)//
message *[size=24][color=#994c00]Mi¶ Yogi / Yogi Bear (2010) DVDRip XviD [/color][color=#c6bac6]DUBBING[/color] [color=#e50000]PL [/color][/size] [img]http:*s2.ifotos.pl/img/7344577_hrnwxpa.jpg[/img] [quote]Film opowiada o mieszkaj±cych w Parku Jellystone nied¼wiedziach - Yogim (g³os - Dan Aykroyd) i jego
przyjacielu Boo Boo (g³os - Justin Timberlake). Pewnego dnia do parku przybywa reporterka (g³os - Anna Faris), która staje siê obiektem zainteresowañ stra¿nika Smitha.
[/quote] [code]Format : AVI at 1.206 Kb/s Length : 693 MB for 1h 20 min. 22s 488ms Video #0 : MPEG-4 Visual at 1.068 Kb/s Aspect : 640 x 352 (1.818) at 23.976 fps
Audio #0 : MPEG Audio at 128 Kb/s Infos : 2 kanaly, 48,0 KHz Wielko¶æ ca³o¶ci: ~700 mb Kompresja: . brak Zawarto¶æ uploadu: .avi Jêzyk: Lektor PL haslo: Brak [/code]
Wupload [code]http://www.wupload.com/file/204910572/YBr.2010.DVDRip.Dubb.Pl.XviD.avi[/code]//
mode reply
post Wy¶lij
sid 669a117d8f20038d1db1d6058dcf0b93
subject
t 2806170
Źródło

Content-Type: application/x-www-form-urlencoded Content-Length: 1546 subject=&addbbcode18=%23A6A6A6&addbbcode20=0&
helpbox=Wstaw+adres%3A+%5Burl%5Dhttp%3A%2F%2Fadres%5B%2Furl%5D+or+%5Burl%3Dhttp%3A%2F%2Fadres%5DTekst+adresu%5B%2Furl%5D++%28alt%2Bw%29&
message=%5Bsize%3D24%5D%5Bcolor%3D%23994c00%5DMi%B6+Yogi+%2F+Yogi+Bear+%282010%29+DVDRip+XviD+%5B%2Fcolor%5D%5Bcolor%3D%23c6bac6%5DDUBBING
%5B%2Fcolor%5D+%5Bcolor%3D%23e50000%5DPL+%5B%2Fcolor%5D%5B%2Fsize%5D%0D%0A%0D%0A%5Bimg%5Dhttp%3A%2F
%2Fs2.ifotos.pl%2Fimg%2F7344577_hrnwxpa.jpg%5B%2Fimg%5D%0D%0A%0D
%0A%5Bquote%5DFilm+opowiada+o+mieszkaj%B1cych+w+Parku+Jellystone+nied%BCwiedziach+-+Yogim+%28g%B3os+-+Dan+Aykroyd%29+i+jego+przyjacielu+Boo+Boo+%28
g%B3os+-+Justin+Timberlake%29.+Pewnego+dnia+do+parku+przybywa+reporterka+%28g%B3os+-+Anna+Faris
%29%2C+kt%F3ra+staje+si%EA+obiektem+zainteresowa%F1+stra%BFnika+Smitha.+%5B%2Fquote%5D%0D%0A%0D
%0A%5Bcode%5DFormat++++++++++++%3A+AVI+at+1.206+Kb%2Fs%0D%0ALength++++++++++++%3A+693+MB+for+1h+20+min.+22s+488ms%0D%0A
%0D%0AVideo+%230++++++++++%3A+MPEG-4+Visual+at+1.068+Kb%2Fs%0D%0AAspect++++++++++++%3A+640+x+352+%281.818%29+at+23.976+fps%0D%0A
%0D%0AAudio+%230++++++++++%3A+MPEG+Audio+at+128+Kb%2Fs%0D%0AInfos+++++++++++++%3A+2+kanaly%2C+48%2C0+KHz%0D%0A%0D%0AWielko
%B6%E6+ca%B3o%B6ci%3A+%7E700+mb%0D%0AKompresja%3A+.+brak%0D%0AZawarto%B6%E6+uploadu%3A+.avi%0D%0AJ%EAzyk%3A+Lektor+PL
%0D%0Ahaslo%3A+Brak+%5B%2Fcode%5D%0D%0A%0D%0AWupload%0D%0A%0D%0A%5Bcode%5Dhttp%3A%2F
%2Fwww.wupload.com%2Ffile%2F204910572%2FYBr.2010.DVDRip.Dubb.Pl.XviD.avi%5B%2Fcode%5D&mode=reply&sid=669a117d8f20038d1db1d6058dcf0b93&t=2806170&
post=Wy%B6lij
1

No masz dump parametrów zapytania. Co w tym jest niezrozumiałego?

1

Ok, ok to nie upieram się już przy wiresharku ;)

dokładnie to stąd:

<input type="hidden" name="sid" value="d4d1eb93d44918785d0e4453f45b59b7" /><input type="hidden" name="t" value="346939" /> 

1 użytkowników online, w tym zalogowanych: 0, gości: 1