jokerGermany
Anmeldungsdatum: 11. Mai 2008
Beiträge: 1003
|
Ich möchte gerne ein POST Formular per nc senden. Das hier ist der hoffentlich richtige Mitschnitt vom Live HTTP headers Addon von Firefox. 1
2
3
4
5
6
7
8
9
10
11
12
13
14 | http://192.168.11.1/login
POST /login HTTP/1.1
Host: 192.168.11.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://connect.meinhotspot.com/de/client/welcome
Connection: keep-alive
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 182
dst=http%3A%2F%2Fconnect.meinhotspot.com%2Fde%2Fclient%2Fredirect&popup=true&username=XX%XXXX%XXXX%XXXX%XXXX%XXXX&password=XX%XXXX%XXXX%XXXX%XXXX%XXXX&mac=XX%XXXX%XXXX%XXXX%XXXX%XXXX
|
Das hier habe ich versucht zu basteln:
| #!/bin/sh
BODY="dst=http%3A%2F%2Fconnect.meinhotspot.com%2Fde%2Fclient%2Fredirect&popup=true&username=XX%XXXX%XXXX%XXXX%XXXX%XXXX&password=XX%XXXX%XXXX%XXXX%XXXX%XXXX&mac=XX%XXXX%XXXX%XXXX%XXXX%XXXX"
echo -ne "POST /login HTTP/1.1\r\nHost: 192.168.11.1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ${BODY_LEN}\r\n\${BODY}" | nc 192.168.11.1 80
|
Das hier ist die Antwort:
HTTP/1.0 503 unknown method
Connection: close
Content-Length: 119
Date: Thu, 09 Mar 2017 19:32:05 GMT
Expires: 0
<html>
<head><title>Error 503: unknown method</title></head>
<body>
<h1>Error 503: unknown method</h1>
</body>
</html>
Was mache ich falsch?
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
jokerGermany schrieb: Ich möchte gerne ein POST Formular per nc senden.
Und warum nimmst Du nicht curl ?
Was mache ich falsch?
Ich weiß nicht, ob das der Grund ist, aber vor dem Body fehlt auf jeden Fall ein "\r\n".
|
jokerGermany
(Themenstarter)
Anmeldungsdatum: 11. Mai 2008
Beiträge: 1003
|
weil es später auf der fritz.box laufen soll. das \r\n löst das Problem leider nicht.
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
jokerGermany schrieb: weil es später auf der fritz.box laufen soll.
Es gibt FritzBoxen mit ssh-Zugang?
das \r\n löst das Problem leider nicht.
Hast Du denn BODY_LEN gesetzt?
|
jokerGermany
(Themenstarter)
Anmeldungsdatum: 11. Mai 2008
Beiträge: 1003
|
rklm schrieb: jokerGermany schrieb: weil es später auf der fritz.box laufen soll.
Es gibt FritzBoxen mit ssh-Zugang?
Mit freetz ist alles möglich 😉 Allerdings Ziele ich eher darauf ab, das Teil automatisch z.B. per Cron ablaufen zu lassen, wie genau weiß ich allerdings auch noch nicht konkret^^
Erstmal das Problem hier lösen XD rklm schrieb: das \r\n löst das Problem leider nicht.
Hast Du denn BODY_LEN gesetzt?
Ups, kopiere dir nie was aus dem Internet zusammen ohne es genau zu verstehen...
Werde ich heute Abend mal ausprobieren, danke
|
jokerGermany
(Themenstarter)
Anmeldungsdatum: 11. Mai 2008
Beiträge: 1003
|
Kein Unterschied ☹
HTTP/1.0 503 unknown method
Connection: close
Content-Length: 119
Date: Fri, 10 Mar 2017 16:34:35 GMT
Expires: 0
<html>
<head><title>Error 503: unknown method</title></head>
<body>
<h1>Error 503: unknown method</h1>
</body>
</html>
simon@vit15-017:~/meinhotspot$ ./test.sh
HTTP/1.0 503 unknown method
Connection: close
Content-Length: 119
Date: Fri, 10 Mar 2017 16:41:39 GMT
Expires: 0
<html>
<head><title>Error 503: unknown method</title></head>
<body>
<h1>Error 503: unknown method</h1>
</body>
</html>
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
Da ist noch ein Slash zu viel. 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 | $ echo -ne "POST /login HTTP/1.1\r\nHost: 192.168.11.1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ${BODY_LEN}\r\n\${BODY}"
POST /login HTTP/1.1
Host: 192.168.11.1
Content-Type: application/x-www-form-urlencoded
Content-Length:
${BODY}$
$ echo -ne "POST /login HTTP/1.1\r\nHost: 192.168.11.1\r\nContent-Type: application/x-www-form-ded\r\nContent-Length: ${BODY_LEN}\r\n\${BODY}" | od -t x1c
0000000 50 4f 53 54 20 2f 6c 6f 67 69 6e 20 48 54 54 50
P O S T / l o g i n H T T P
0000020 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 31 39 32 2e
/ 1 . 1 \r \n H o s t : 1 9 2 .
0000040 31 36 38 2e 31 31 2e 31 0d 0a 43 6f 6e 74 65 6e
1 6 8 . 1 1 . 1 \r \n C o n t e n
0000060 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74
t - T y p e : a p p l i c a t
0000100 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75
i o n / x - w w w - f o r m - u
0000120 72 6c 65 6e 63 6f 64 65 64 0d 0a 43 6f 6e 74 65
r l e n c o d e d \r \n C o n t e
0000140 6e 74 2d 4c 65 6e 67 74 68 3a 20 0d 0a 24 7b 42
n t - L e n g t h : \r \n $ { B
0000160 4f 44 59 7d
O D Y }
0000164
$ echo -ne 'POST /login HTTP/1.1\r\nHost: 192.168.11.1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ${BODY_LEN}\r\n\${BODY}' | od -t x1c
0000000 50 4f 53 54 20 2f 6c 6f 67 69 6e 20 48 54 54 50
P O S T / l o g i n H T T P
0000020 2f 31 2e 31 0d 0a 48 6f 73 74 3a 20 31 39 32 2e
/ 1 . 1 \r \n H o s t : 1 9 2 .
0000040 31 36 38 2e 31 31 2e 31 0d 0a 43 6f 6e 74 65 6e
1 6 8 . 1 1 . 1 \r \n C o n t e n
0000060 74 2d 54 79 70 65 3a 20 61 70 70 6c 69 63 61 74
t - T y p e : a p p l i c a t
0000100 69 6f 6e 2f 78 2d 77 77 77 2d 66 6f 72 6d 2d 75
i o n / x - w w w - f o r m - u
0000120 72 6c 65 6e 63 6f 64 65 64 0d 0a 43 6f 6e 74 65
r l e n c o d e d \r \n C o n t e
0000140 6e 74 2d 4c 65 6e 67 74 68 3a 20 24 7b 42 4f 44
n t - L e n g t h : $ { B O D
0000160 59 5f 4c 45 4e 7d 0d 0a 5c 24 7b 42 4f 44 59 7d
Y _ L E N } \r \n \ $ { B O D Y }
0000200
|
Bitte selber weiter debuggen.
|
jokerGermany
(Themenstarter)
Anmeldungsdatum: 11. Mai 2008
Beiträge: 1003
|
Stimmt
#!/bin/sh
BODY="dst=https%3A%2F%2Fconnect.meinhotspot.com%2Fde%2Fclient%2Fredirect&popup=true&username=XX%3AXX%3AXX%3AXX%3AXX%3AXX&password=XX%3AXX%3AXX%3AXX%3AXX%3AXX&mac=XX%3AXX%3AXX%3AXX%3AXX%3AXX"
BODY_LEN=$( echo -n ${BODY} | wc -c )
echo $BODY_LEN
echo ${#BODY}
echo -ne "POST /login HTTP/1.1\r\nHost: login.meinhotspot.com\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://connect.meinhotspot.com/en/client/welcome\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ${#BODY}\r\n${BODY}" | nc login.meinhotspot.com 80
→
183
183
HTTP/1.0 503 unknown method
Connection: close
Content-Length: 119
Date: Sat, 11 Mar 2017 11:09:09 GMT
Expires: 0
<html>
<head><title>Error 503: unknown method</title></head>
<body>
<h1>Error 503: unknown method</h1>
</body>
</html>
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Aus meiner Sicht machst du zwei Fehler:
Zwischen Header und Daten müssen zwei Line-Breaks sein Du setzt die Verbindung auf Keep-Alive, was in dem Kontext Schwachsinn ist. Du solltest den Connection-Header auf "Close" setzen, damit die Verbindung korrekt terminiert wird.
Korrekt wäre es also IMHO so (Änderungen sind markiert):
echo -ne "POST /login HTTP/1.1\r\nHost: login.meinhotspot.com\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate, br\r\nReferer: https://connect.meinhotspot.com/en/client/welcome\r\nConnection: Close\r\nUpgrade-Insecure-Requests: 1\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: ${#BODY}\r\n\r\n${BODY}" | nc login.meinhotspot.com 80
|
jokerGermany
(Themenstarter)
Anmeldungsdatum: 11. Mai 2008
Beiträge: 1003
|
Vielen Vielen Dank Wenn man bei deiner Variante, das -ne wegnimmt funktioniert deine Variante (warum auch immer, er übergibt immer -ne mit...). 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 | 183
183
HTTP/1.1 200 OK
Cache-Control: no-cache
Connection: close
Content-Length: 1425
Content-Type: text/html
Date: Mon, 13 Mar 2017 17:34:53 GMT
Expires: 0
<html>
<head>
<title>MeinHotspot > redirect</title>
<meta http-equiv="refresh" content="2; url=https://connect.meinhotspot.com/de/client/redirect">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="expires" content="-1">
<style type="text/css">
<!--
textarea,input,select {
background-color: #FDFBFB;
border: 1px #BBBBBB solid;
padding: 2px;
margin: 1px;
font-size: 14px;
color: #808080;
}
body{ color: #737373; font-size: 12px; font-family: verdana; }
a, a:link, a:visited, a:active { color: #AAAAAA; text-decoration: none; font-size: 12px; }
a:hover { border-bottom: 1px dotted #c1c1c1; color: #AAAAAA; }
img {border: none;}
td { font-size: 12px; color: #7A7A7A; }
-->
</style>
<script language="JavaScript">
<!--
function startClock() {
location.href = 'https://connect.meinhotspot.com/de/client/redirect';
}
//-->
</script>
</head>
<body onLoad="startClock()">
<table width="100%" height="100%">
<tr>
<td align="center" valign="middle">
<img src="img/logo.png" alt="MeinHotspot" title="MeinHotspot"/>
<br><br>
Sie wurden soeben auf dem Hotspot eingeloggt und werden weitergeleitet.
<br><br>
<img src="img/load.gif" alt="Lade" title="Lade"/>
<br><br>
Falls keine Weiterleitung stattfindet bitte <a href="https://connect.meinhotspot.com/de/client/redirect">hier klicken</a></td>
</tr>
</table>
</body>
</html>
|
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Das ist der klassische Unterschied zwischen der bash und der dash 😉 : track@track:~$ echo "POST /login HTTP/1.1\r\nHost: login.meinhotspot.com\r\n"
POST /login HTTP/1.1\r\nHost: login.meinhotspot.com\r\n
track@track:~$ sh
$ echo "POST /login HTTP/1.1\r\nHost: login.meinhotspot.com\r\n"
POST /login HTTP/1.1
Host: login.meinhotspot.com
$
LG, track
|