logo Homepage
+  NewbieContest
|-+  Programmation» Langages Web» [Php] et netcat
Username:
Password:
Pages: [1]
  Imprimer  
Auteur Fil de discussion: [Php] et netcat  (Lu 3888 fois)
Ghost_panic
Profil challenge

Classement : 3662/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil WWW
« le: 30 Juillet 2007 à 08:04:27 »

Salut tout le monde

J'ai un petit probleme avec netcat et j'ai besoin de votre aide. Voila mon script php qui est exécuté en local copie les favoris de FF dans le repertoire de Easy (www), ensuite je crée une requete POST HTTP1.1 qui est sensée simulée l'envoi d'un fichier par formulaire. Mais lorsque j'envoie cette requete à netcat ya quelques pitit soucis :

Voici la réponse :
Code:
nc  127.0.0.1 80 <upload.txt
HTTP/1.1 200 OK
Date: Mon, 30 Jul 2007 06:58:12 GMT
Server: Apache/2.2.3 (Win32) PHP/5.2.0
X-Powered-By: PHP/5.2.0
Content-Length: 3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
Donc là c'est cool je me dis que le code à marché mais à la suite il renvoie ça et je comprends pas pourquoi ?!
edit le Ok en dessous c'est ma page qui recoit le script qui vérifie le refferer et tout ca avant et qui renvoie ok si c'est bon
Code:
Ok HTTP/1.1 400 Bad Request
Date: Mon, 30 Jul 2007 06:58:12 GMT
Server: Apache/2.2.3 (Win32) PHP/5.2.0
Content-Length: 312
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Request header field is missing ':' separator.<br />
<pre>
&lt;/DL&gt;&lt;p&gt;</pre>
</p>
</body></html>
Au début il me renvoit un code 200 donc ok mais juste après erreur 400 je comprends pas.

Donc voici le contenu de upload.txt (la requete)
Code:
POST /re.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla
Accept:application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: Cowboyz
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: www.fbi.gov
Content-Type: multipart/form-data; boundary=---------------------------251643216214322
Content-Length: 64259

-----------------------------251643216214322
Content-Disposition: form-data; name="noone"; filename="test.html"
Content-Type: text/html

<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
     It will be read and overwritten.
     DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1 LAST_MODIFIED="1185645532">Bookmarks</H1>

----<p>
    <HR>
    <DT><H3 LAST_MODIFIED="1185645525" PERSONAL_TOOLBAR_FOLDER="true" ID="rdf:#$FvPhC3">Barre personnelle</H3>
<DD>Ajoutez des marques-pages dans ce dossier pour les voir apparaître sur votre barre personnelle
    ----<p>
    </DL><p>
    <HR>
// etc ....
</DL><p>
-----------------------------251643216214322
Content-Disposition: form-data; name="submit"

Envoyer
-----------------------------251643216214322--
(j'ai raccourci )

Pour Content-Length:  je le mesure avec un strlen  c'est bon ?
Et aussi la valeur de la boundary c'est une valeur aléatoire non ??

Voila j'éspère que c'est pas trop long et compréhensible merci d'avoir tout lu .
Journalisée
Ghost_panic
Profil challenge

Classement : 3662/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil WWW
« #1 le: 01 Août 2007 à 08:24:33 »

Bon je précise qu'en supprimant </DL> cela ne résoud pas mon erreur il me trouve toujours un caractère .
Code:
<p>Your browser sent a request that this server could not understand.<br />
Request header field is missing ':' separator.<br />
<pre>
&lt;p&gt;</pre>
</p>
</body></html>
j'aimerais bien comprendre ce que ça veut dire ça :Request header field is missing ':' separator.

Merci
Journalisée
Zmx

Profil challenge

Classement : 71/54344

Membre Héroïque
*****
Hors ligne Hors ligne
Messages: 559


Voir le profil WWW
« #2 le: 01 Août 2007 à 12:21:18 »

Que le server Web trouve que tu a envoyer un Header qui ne contient pas ":"
(normalement les Header c'est Nom: Value, genre Host: www.nc.com )

Pourquoi il peux croire ça ?
Ton Accept:application semble ne pas avoir d'espace (il me semble que c'est obligatoire)

Ptet un soucis de retour chariot.
Journalisée

Ghost_panic
Profil challenge

Classement : 3662/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil WWW
« #3 le: 01 Août 2007 à 12:28:43 »

Citation
Que le server Web trouve que tu a envoyer un Header qui ne contient pas ":"
(normalement les Header c'est Nom: Value, genre Host: www.nc.com )
Ok pour le Accept j'ai mis un espace, pas de changement.

pour les retour chariot j'ai fait comme ça :
Code:
$req = "POST /re.php HTTP/1.1\nHost: 127.0.0.1\nUser-Agent: Mozilla 
\nAccept: application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\nAccept-Language: Cowboyz
\nAccept-Encoding: gzip,deflate\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\nKeep-Alive: 300\nConnection: keep-alive\nReferer: www.fbi.gov\nContent-Type: multipart/form-data; boundary=---------------------------251643216214322\nContent-Length: ";
Journalisée
yo

Profil challenge

Classement : 29167/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 2


Voir le profil
« #4 le: 02 Août 2007 à 12:10:20 »

\r\n pour les retours chariots
Journalisée
Ghost_panic
Profil challenge

Classement : 3662/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil WWW
« #5 le: 02 Août 2007 à 12:53:53 »

Oui j'utilise \n
Journalisée
yo

Profil challenge

Classement : 29167/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 2


Voir le profil
« #6 le: 02 Août 2007 à 17:34:38 »

faut pas juste mettre \n faut mettre \r\n
Journalisée
Ghost_panic
Profil challenge

Classement : 3662/54344

Néophyte
*
Hors ligne Hors ligne
Messages: 11


Voir le profil WWW
« #7 le: 03 Août 2007 à 08:41:02 »

Euh nan ça change rien ..
Journalisée
Pages: [1]
  Imprimer  
 
Aller à: