Portál AbcLinuxu, 29. října 2025 00:19
curl --user uzivatel:heslo --upload-file /tmp/soubor --location --verbose https://uloz.to/ > /dev/null 2> ulozto.logtak se sice soubor někam fyzicky odešle ale když si potom u sebe otevřu web browser a lognu na uloz.to, tak ho nikde v tom jejich webovém průzkumníkovi nevidím. Ten verbose log vypadá nějak takto (uživatelské jméno jsem změnil):
* Uses proxy env variable no_proxy == 'localhost,127.*,192.168.*,10.*'
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 77.48.29.200:443...
* Connected to uloz.to (77.48.29.200) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [97 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [2555 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [333 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [70 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server did not agree to a protocol
* Server certificate:
* subject: CN=*.uloz.to
* start date: Jun 19 04:36:02 2020 GMT
* expire date: Sep 17 04:36:02 2020 GMT
* subjectAltName: host "uloz.to" matched cert's "uloz.to"
* issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
* SSL certificate verify ok.
* Server auth using Basic with user 'uzivatel'
} [5 bytes data]
> PUT /soubor HTTP/1.1
> Host: uloz.to
> Authorization: Basic c2lsdmFoZWQ6dXRwdzIy
> User-Agent: curl
> Accept: */*
> Content-Length: 15728640
> Expect: 100-continue
>
{ [5 bytes data]
* Mark bundle as not supporting multiuse
< HTTP/1.1 100 Continue
} [5 bytes data]
3 15.0M 0 0 3 576k 0 1125k 0:00:13 --:--:-- 0:00:13 1122k
7 15.0M 0 0 7 1088k 0 721k 0:00:21 0:00:01 0:00:20 721k
10 15.0M 0 0 10 1536k 0 622k 0:00:24 0:00:02 0:00:22 622k
13 15.0M 0 0 13 2048k 0 569k 0:00:26 0:00:03 0:00:23 569k
16 15.0M 0 0 16 2496k 0 550k 0:00:27 0:00:04 0:00:23 550k
19 15.0M 0 0 19 2944k 0 539k 0:00:28 0:00:05 0:00:23 478k
22 15.0M 0 0 22 3456k 0 527k 0:00:29 0:00:06 0:00:23 469k
25 15.0M 0 0 25 3904k 0 520k 0:00:29 0:00:07 0:00:22 470k
28 15.0M 0 0 28 4352k 0 514k 0:00:29 0:00:08 0:00:21 472k
31 15.0M 0 0 31 4864k 0 508k 0:00:30 0:00:09 0:00:21 470k
34 15.0M 0 0 34 5312k 0 505k 0:00:30 0:00:10 0:00:20 469k
37 15.0M 0 0 37 5760k 0 502k 0:00:30 0:00:11 0:00:19 468k
40 15.0M 0 0 40 6272k 0 499k 0:00:30 0:00:12 0:00:18 469k
43 15.0M 0 0 43 6720k 0 497k 0:00:30 0:00:13 0:00:17 470k
46 15.0M 0 0 46 7168k 0 495k 0:00:30 0:00:14 0:00:16 470k
50 15.0M 0 0 50 7680k 0 493k 0:00:31 0:00:15 0:00:16 469k
52 15.0M 0 0 52 8128k 0 492k 0:00:31 0:00:16 0:00:15 470k
55 15.0M 0 0 55 8576k 0 491k 0:00:31 0:00:17 0:00:14 469k
59 15.0M 0 0 59 9088k 0 490k 0:00:31 0:00:18 0:00:13 469k
62 15.0M 0 0 62 9536k 0 488k 0:00:31 0:00:19 0:00:12 469k
65 15.0M 0 0 65 9984k 0 488k 0:00:31 0:00:20 0:00:11 469k
68 15.0M 0 0 68 10.2M 0 487k 0:00:31 0:00:21 0:00:10 468k
71 15.0M 0 0 71 10.6M 0 486k 0:00:31 0:00:22 0:00:09 468k
74 15.0M 0 0 74 11.1M 0 485k 0:00:31 0:00:23 0:00:08 469k
77 15.0M 0 0 77 11.6M 0 485k 0:00:31 0:00:24 0:00:07 470k
80 15.0M 0 0 80 12.0M 0 484k 0:00:31 0:00:25 0:00:06 470k
83 15.0M 0 0 83 12.5M 0 483k 0:00:31 0:00:26 0:00:05 469k
86 15.0M 0 0 86 13.0M 0 483k 0:00:31 0:00:27 0:00:04 470k
89 15.0M 0 0 89 13.4M 0 483k 0:00:31 0:00:28 0:00:03 470k
92 15.0M 0 0 92 13.9M 0 482k 0:00:31 0:00:29 0:00:02 470k
95 15.0M 0 0 95 14.3M 0 482k 0:00:31 0:00:30 0:00:01 469k
98 15.0M 0 0 98 14.8M 0 481k 0:00:31 0:00:31 --:--:-- 471k* We are completely uploaded and fine
{ [5 bytes data]
100 15.0M 0 0 100 15.0M 0 469k 0:00:32 0:00:32 --:--:-- 394k* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< Server: nginx
< Date: Thu, 16 Jul 2020 02:26:04 GMT
< Content-Type: text/html; charset=utf-8
< Transfer-Encoding: chunked
< Connection: close
< X-Powered-By: Nette Framework 3
< X-Frame-Options: SAMEORIGIN
< Set-Cookie: nette-samesite=1; path=/; HttpOnly; SameSite=Strict
< Set-Cookie: ULOSESSID=jqu8ppght5veu0uc9ci5ki6fqm; expires=Thu, 30-Jul-2020 02:26:04 GMT; Max-Age=1209600; path=/; domain=.uloz.to; secure; HttpOnly; SameSite=Lax
< Expires: Thu, 19 Nov 1981 08:52:00 GMT
< Cache-Control: no-store, no-cache, must-revalidate
< Pragma: no-cache
< Vary: X-Requested-With
< Set-Cookie: uloztoid=911336723; expires=Fri, 16-Jul-2021 02:26:04 GMT; Max-Age=31536000; path=/; domain=uloz.to; secure; SameSite=None
< X-Node-Name: ulozto4
<
{ [7567 bytes data]
100 15.0M 0 7559 100 15.0M 224 455k 0:00:33 0:00:33 --:--:-- 306k
100 15.0M 0 7559 100 15.0M 217 442k 0:00:34 0:00:34 --:--:-- 212k
100 15.0M 0 7559 100 15.0M 211 429k 0:00:35 0:00:35 --:--:-- 124k
100 15.0M 0 7559 100 15.0M 205 418k 0:00:36 0:00:36 --:--:-- 38756
100 15.0M 0 7559 100 15.0M 200 406k 0:00:37 0:00:37 --:--:-- 1505
100 15.0M 0 7559 100 15.0M 195 396k 0:00:38 0:00:38 --:--:-- 0
100 15.0M 0 7559 100 15.0M 190 386k 0:00:39 0:00:39 --:--:-- 0
100 15.0M 0 7559 100 15.0M 185 376k 0:00:40 0:00:40 --:--:-- 0
100 15.0M 0 7559 100 15.0M 181 367k 0:00:41 0:00:41 --:--:-- 0
100 15.0M 0 7559 100 15.0M 176 359k 0:00:42 0:00:42 --:--:-- 0
100 15.0M 0 7559 100 15.0M 172 350k 0:00:43 0:00:43 --:--:-- 0
100 15.0M 0 7559 100 15.0M 168 343k 0:00:44 0:00:44 --:--:-- 0
100 15.0M 0 7559 100 15.0M 165 335k 0:00:45 0:00:45 --:--:-- 0
100 15.0M 0 7559 100 15.0M 161 328k 0:00:46 0:00:46 --:--:-- 0
100 15.0M 0 7559 100 15.0M 158 321k 0:00:47 0:00:47 --:--:-- 0
100 15.0M 0 7559 100 15.0M 154 314k 0:00:48 0:00:48 --:--:-- 0
100 15.0M 0 7559 100 15.0M 151 308k 0:00:49 0:00:49 --:--:-- 0
100 15.0M 0 7559 100 15.0M 148 302k 0:00:50 0:00:50 --:--:-- 0
100 15.0M 0 7559 100 15.0M 145 296k 0:00:51 0:00:51 --:--:-- 0
100 15.0M 0 7559 100 15.0M 143 290k 0:00:52 0:00:52 --:--:-- 0
100 15.0M 0 7559 100 15.0M 140 285k 0:00:53 0:00:53 --:--:-- 0
100 15.0M 0 7559 100 15.0M 137 280k 0:00:54 0:00:54 --:--:-- 0
100 15.0M 0 7559 100 15.0M 135 275k 0:00:55 0:00:55 --:--:-- 0
100 15.0M 0 7559 100 15.0M 133 270k 0:00:56 0:00:56 --:--:-- 0
100 15.0M 0 7559 100 15.0M 130 265k 0:00:57 0:00:57 --:--:-- 0
100 15.0M 0 7559 100 15.0M 128 261k 0:00:58 0:00:58 --:--:-- 0
100 15.0M 0 7559 100 15.0M 126 256k 0:00:59 0:00:59 --:--:-- 0
100 15.0M 0 7559 100 15.0M 124 252k 0:01:00 0:01:00 --:--:-- 0
100 15.0M 0 7559 100 15.0M 122 248k 0:01:01 0:01:01 --:--:-- 0
100 15.0M 0 7559 100 15.0M 120 244k 0:01:02 0:01:02 --:--:-- 0
100 15.0M 0 7559 100 15.0M 118 240k 0:01:03 0:01:03 --:--:-- 0
100 15.0M 0 7559 100 15.0M 116 236k 0:01:04 0:01:04 --:--:-- 0
100 15.0M 0 7559 100 15.0M 114 233k 0:01:05 0:01:05 --:--:-- 0
100 15.0M 0 7559 100 15.0M 113 229k 0:01:06 0:01:06 --:--:-- 0
100 15.0M 0 7559 100 15.0M 111 226k 0:01:07 0:01:07 --:--:-- 0
100 15.0M 0 7559 100 15.0M 109 223k 0:01:08 0:01:08 --:--:-- 0
100 15.0M 0 7559 100 15.0M 108 219k 0:01:09 0:01:09 --:--:-- 0
100 15.0M 0 7559 100 15.0M 106 216k 0:01:10 0:01:10 --:--:-- 0
100 15.0M 0 7559 100 15.0M 105 213k 0:01:11 0:01:11 --:--:-- 0
100 15.0M 0 7559 100 15.0M 103 210k 0:01:12 0:01:12 --:--:-- 0
100 15.0M 0 7559 100 15.0M 102 207k 0:01:13 0:01:13 --:--:-- 0
100 15.0M 0 7559 100 15.0M 100 205k 0:01:14 0:01:14 --:--:-- 0
100 15.0M 0 7559 100 15.0M 99 202k 0:01:15 0:01:15 --:--:-- 0
100 15.0M 0 7559 100 15.0M 98 199k 0:01:16 0:01:16 --:--:-- 0
100 15.0M 0 7559 100 15.0M 97 197k 0:01:17 0:01:17 --:--:-- 0
100 15.0M 0 7559 100 15.0M 95 194k 0:01:18 0:01:18 --:--:-- 0
100 15.0M 0 7559 100 15.0M 94 192k 0:01:19 0:01:19 --:--:-- 0
100 15.0M 0 7559 100 15.0M 93 189k 0:01:20 0:01:20 --:--:-- 0
100 15.0M 0 7559 100 15.0M 92 187k 0:01:21 0:01:21 --:--:-- 0
100 15.0M 0 7559 100 15.0M 91 185k 0:01:22 0:01:22 --:--:-- 0
100 15.0M 0 7559 100 15.0M 90 183k 0:01:23 0:01:23 --:--:-- 0
100 15.0M 0 7559 100 15.0M 89 180k 0:01:24 0:01:24 --:--:-- 0
100 15.0M 0 7559 100 15.0M 87 178k 0:01:25 0:01:25 --:--:-- 0
100 15.0M 0 7559 100 15.0M 86 176k 0:01:26 0:01:26 --:--:-- 0
100 15.0M 0 7559 100 15.0M 85 174k 0:01:27 0:01:27 --:--:-- 0
100 15.0M 0 7559 100 15.0M 85 172k 0:01:28 0:01:28 --:--:-- 0
100 15.0M 0 7559 100 15.0M 84 170k 0:01:29 0:01:29 --:--:-- 0
100 15.0M 0 7559 100 15.0M 83 168k 0:01:30 0:01:30 --:--:-- 0
100 15.0M 0 7559 100 15.0M 82 167k 0:01:31 0:01:31 --:--:-- 0* TLSv1.2 (IN), TLS alert, close notify (256):
{ [2 bytes data]
100 15.0M 0 7559 100 15.0M 81 165k 0:01:32 0:01:32 --:--:-- 0* transfer closed with outstanding read data remaining
100 15.0M 0 7559 100 15.0M 81 165k 0:01:32 0:01:32 --:--:-- 0
* Closing connection 0
} [5 bytes data]
* TLSv1.2 (OUT), TLS alert, close notify (256):
} [2 bytes data]
curl: (18) transfer closed with outstanding read data remaining
Trochu jsem gůglil jestli už to předemnou někdo neřešil a našel jsem tento skript na githubu. No ten bohužel taky nefunguje. Vyhodí to chybu
sed: -e expression #1, char 36: unknown option to `s'Poraďte prosím něco.
Řešení dotazu:
a546c6d4-400c-468b-80b9-acf64a75bcfe 6ec50ea8-0c89-4ab6-acd6-568a992832b7 137070d8-d103-4685-b9a0-4eb851ceecafA sed z toho odřezává ty pomlčky.
Když ten skript z githubu pustím s v ukecaném debug mode jako:
sh -x ulozto.sh /tmp/soubortak to spíš vypadá že chcípne proto, že je proměnná user_id= prázdná.
tak se sice soubor někam fyzicky odešle ale když si potom u sebe otevřu web browser a lognu na uloz.to, tak ho nikde v tom jejich webovém průzkumníkovi nevidímAno, protože stránka s uploadem téměř určitě nebude https://uloz.to/, ale něco složitějšího (https://uloz.to/foo/bar/upload/bleble), a taky se na dnešním webu téměř nepoužívá HTTP autentizace (curl --user), ale formulář, který ti dá cookie.
tak to spíš vypadá že chcípne proto, že je proměnná user_id= prázdnáNo tak to budeš muset ladit. Pro začátek: co vrátí ten wget? Co vrátí ten grep? Určitě od roku 2014 změnili frontnend a userid nepůjde získat přesně takhle. Letmým pohledem mi přijde, že změnili i přihlašovací formulář, takže nejspíš neprojde ani to přihlášení před tím. Budeš to muset opravit - pomůcky: Burp Suite (bohatě stačí community verze zadarmo), element inspector tvého prohlížeče.
#!/bin/sh username=lppjaclcukbm password=vfdzt6o7tuq6 # falešný user agent, aby server nepanikařil že máme zastaralý browser. ua="Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0" cookie=$(mktemp) file="$1" # první se stáhne prázdná login stránka a uloží se cookie. curl -v -A "$ua" -c $cookie https://uloz.to/login 1>/dev/null sleep 2 # teď se stránka jakoby vyplní a pošle se zpátky. curl -v -A "$ua" -X POST -b $cookie -F username=$username -F password=$password -L https://uloz.to/login?do=loginComponent-loginForm-form-submit 1>/tmp/ut-login-test.html # stáhne se stránka na upload souboru. curl -v -A "$ua" -b $cookie https://uloz.to/sem 1>/tmp/ut-sem.html # až posem to funguje. sleep 1 # dál je asi potřeba pro ten soubor vygenerovat nějaký token # no vrací to json s hodnotama null. curl -v -A "$ua" -b $cookie -H 'Referer: https://uloz.to/sem' https://uloz.to/p-api/get-api-current-user-token 1>/tmp/ut-token.json
Celý ten proces, login a upload souboru v prohlížeči jsem nahrál pomocí mitmproxy aby bylo vidět jak to přesně probíhá. Kompletní dump sem nejde vložit jako příloha protože to má víc jak 5MB
tak je na ulozto.
mitmproxy -nr ulozto.dump
nějakej progress?? co jakoby použít selenium třeba a neřešit tyhlety všecky věci ručně?? :O :O
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.