grundätzliche frage zum packetbot

07/20/2010 19:54 Australopiticus#1
ich schreib gerade einen packetbot und obwohl das packet das ich abschicke
haargenau so aussieht wie das von live-http-headers angezeigte packet wenn man die aktion durchführt bekomme ich ein totales müllpaket zurück das aussieht wie ein elendslanger hexadezimalcode.
wie geht das??
ich würd euch ja gern die grafiken der msg-box und von live http einfügen weiss aber nicht wie das geht (würd mich freuen wenn mir das auch jemand erklärt)
mfg australo
07/21/2010 00:02 Jeoni#2
Kann es sein, dass der Host zu dem du das Packet schickst, verschlüsselungen verwendet (aktuelle Uhrzeit kann auch mit einbezogen sein --> es kommt immer etwas unterschiedliches vom Server)?

Grafiken fügst du so ein:
1. Drück "Druck"
2. Öffne Paint
3. Strg + V
4. Mit dem Rechteck oben links kannste das Bild zurechtschneiden
4.1 Auf's Rechteck drücken
4.2 Den Bereich auswählen, den du haben willst
4.3 Strg + C
4.4 Nochmal Paint öffnen (altes kann ohne zu speichern geschlossen werden)
4.5 Strg + V
5. Strg + S
6. Einen Ort und einen Namen für das Bild auswählen & auf "Speichern" drücken
7. [Only registered and activated users can see links. Click Here To Register...] oder [Only registered and activated users can see links. Click Here To Register...] Website öffnen & Bild uploaden
8. Forum Code auswählen & Strg + C
9. Code hier posten (Strg + V) und den letzten URL tag entfernen (schaffst du schon; use "Edit")
10. Fertig & Freuen
07/21/2010 08:47 Australopiticus#3
danke für die erklärung dann hier mal die bilder:

das http live fenster:
[Only registered and activated users can see links. Click Here To Register...]

das von mir abgesendete packet:

[Only registered and activated users can see links. Click Here To Register...]

die antwort vom server
[Only registered and activated users can see links. Click Here To Register...]

die antwort sieht ja scon deutlich besser aus als die die ich in meinem ersten Post erwähnt hab nur zur belustigung stell ich die auch noch rein^^
[Only registered and activated users can see links. Click Here To Register...]

so nun noch der quelltext (der account ist extra erstellt, damit ihr euch auch damit spielen könnt falls ihr lust habt)

Quote:
#include<String.au3>

$name="meistermoe"
$password="1234"
$server="1"

$password=Change($password)
$name=Change($name)


TCPStartup()
$ip = TCPNameToIP("welt"&$server&".freewar.de")
TCPShutdown()


$post='name='&$name&'&password='&$password&'&submi t=Einloggen'

$cookieuebergeb='base_domain_640d764620ebb1d5c22c1 4c72afb7ec3=freewar.de; PHPSESSID=2ab98851261bdf7989cf88b6d80f6979; fbsetting_640d764620ebb1d5c22c14c72afb7ec3=%7B%22c onnectState%22%3A3%2C%22oneLineStorySetting%22%3A3 %2C%22shortStorySetting%22%3A3%2C%22inFacebook%22% 3Afalse%7D'

$source=TCPRequest($ip,'welt'&$server&'.freewar.de ',1, 'freewar/internal/index.php',$post,$cookieuebergeb,'http://welt'&$server&'.freewar.de/freewar')
MsgBox(0,"test",$source)
$cookies=GetCookies($source)


Func GetCookies($sQuellcode)
Local $sCookies, $i, $aCookies
$sCookies = ''
$aCookies = _StringBetween($sQuellcode, 'Set-Cookie: ', ';', 1)
For $i = 0 To UBound($aCookies) - 1
$sCookies &= $aCookies[$i] & ';'
Next
Return $sCookies
EndFunc ;==>GetCookies

Func TCPRequest($sIp, $sHost,$msg=0, $sSeite = "", $sPost = '', $sCookies = '', $sReferer = '', $iMaxTime = 10000)
Local $sPacket, $iSocket, $iTimer

If $sPost = '' Then
$sPacket = 'GET /' & $sSeite & ' HTTP/1.1' & @CRLF
Else
$sPacket = 'POST /' & $sSeite & ' HTTP/1.1' & @CRLF
EndIf
$sPacket &= 'Host: ' & $sHost & @CRLF & _
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)' & @CRLF & _
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' & @CRLF & _
'Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 300' & @CRLF & _
'Content-Type: application/x-www-form-urlencoded' & @CRLF & _
'Connection: keep-alive' & @CRLF
If $sReferer <> '' Then
$sPacket &= 'Referer: ' & $sReferer & @CRLF
EndIf
If $sCookies <> '' Then
$sCookies=StringStripCR($sCookies)
$sCookies=StringStripWS($sCookies,8)
$sPacket &= 'Cookie: ' & $sCookies & @CRLF
EndIf
If $sPost <> '' Then
$sPacket &= 'Content-Length: ' & StringLen($sPost) & @CRLF
EndIf
$sPacket &= @CRLF
If $sPost <> '' Then
$sPacket &= $sPost
EndIf
If $msg=1 Then
MsgBox(0,"Packet",$sPacket)
EndIf
TCPStartup()
If @error Then Return SetError(1, 0, "")
$iSocket = TCPConnect($sIp, 80)
If @error Then Return SetError(2, 0, "")
TCPSend($iSocket, $sPacket)
If @error Then Return SetError(3, 0, "")
$iTimer = TimerInit()
Do
$sRecv = TCPRecv($iSocket, 1024)
If TimerDiff($iTimer) > $iMaxTime Then Return SetError(4, 0, "")
Until $sRecv <> ""
Do
$sRecv &= TCPRecv($iSocket, 1024)
Until @error Or StringInStr($sRecv, '</html>')
TCPCloseSocket($iSocket)
TCPShutdown()
Return $sRecv
EndFunc ;==>TCPRequest

Func Change($string)
$string = StringReplace($string, "%", "%25")
$string = StringReplace($string, "†", "%E2%80%A0")
$string = StringReplace($string, "ä", "%C3%A4")
$string = StringReplace($string, "ö", "%C3%B6")
$string = StringReplace($string, "ü", "%C3%BC")
$string = StringReplace($string, "!", "%21")
$string = StringReplace($string, '"', "%22")
$string = StringReplace($string, "§", "%C2%A7")
$string = StringReplace($string, "$", "%24")
$string = StringReplace($string, "&", "%26")
$string = StringReplace($string, "/", "%2F")
$string = StringReplace($string, "+", "%2B")
$string = StringReplace($string, " ", "+")
$string = StringReplace($string, "(", "%28")
$string = StringReplace($string, ")", "%29")
$string = StringReplace($string, "=", "%3D")
$string = StringReplace($string, "?", "%3F")
$string = StringReplace($string, "[", "%5B")
$string = StringReplace($string, "]", "%5D")
$string = StringReplace($string, "{", "%7B")
$string = StringReplace($string, "}", "%7D")
$string = StringReplace($string, "ß", "%C3%9F")
$string = StringReplace($string, ",", "%2C")
$string = StringReplace($string, ":", "%3A")
$string = StringReplace($string, ";", "%3B")
$string = StringReplace($string, "#", "%23")
$string = StringReplace($string, "~", "%7E")
$string = StringReplace($string, "²", "%C2%B2")
$string = StringReplace($string, "³", "%C2%B3")
$string = StringReplace($string, "<", "%3C")
$string = StringReplace($string, ">", "%3E")
$string = StringReplace($string, "|", "%7C")
$string = StringReplace($string, "^", "%5E")
$string = StringReplace($string, "°", "%C2%B0")
$string = StringReplace($string, "´", "%C2%B4")
$string = StringReplace($string, "@", "%40")
$string = StringReplace($string, "€", "%E2%82%AC")
Return $string
EndFunc ;==>Change
07/21/2010 17:12 Australopiticus#4
hat sich geklärt das paket war eh richtig hatte einen denkfehler
danke nochmal
07/21/2010 17:23 black_byte#5
Oups habe mirs nicht komplett durchgelesen. Sorry.
07/21/2010 17:30 Atheuz#6
Quote:
Originally Posted by Xxx Daniel xxX View Post
Lass es dir lieber per ConsoleWrite ausgegeben & wenn ich das riochtig sehe kann sich jetzt jeder mit dem Account einloggen, wenns dein Main ist hasse pech ...

Name: meistermoe
PW : 1234
Lesen bildet.

Übrigens, identifizierst du jetzt die antwort vom server anhand der Hex codes? oO
07/21/2010 18:36 Australopiticus#7
nein brauch ich garnicht bei der serverantwort mit dem hexcode hatt ich irgendwo einen fehler aber jetzt gehts