Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Viestit - Mistofelees

Sivuja: [1] 2 3 ... 33
1
En ymmärtänyt ihan kaikkea, mutta pari asiaa:

Tarkoittanet ”linkki.txt” etkä ”linkki.php”?

Koska symlinkeillä ei varsinaisesti ole omistajaa, chown-komento vaikuttaa linkin kohteeseen eikä linkkiin.

Kuvan kyselyikkuna ei liity varsinaisesti mitenkään asiaan. Firefox kertoo siinä vain, että kysely tehdään uudestaan. Tämähän on tavallista esim. kun yrittää siirtyä verkkolomakkeessa selaimen painikkeella taaksepäin.

Kiitos, Tämä ratkaisi asian. Pistä sulka hattuun :)

Tarkemmin ajatellen tuo kyselyikkuna ei todellakaan ilmesty, kun kutsun poop.php, koska en ole suorittamassa 'Reload', vaan käynnistän jo rakennettua html-muotoista 'ohjelmaa'.

2
Ratkesi:
Syy löytyi vastauksena tulleen viestin perusteella.
chown -komento todellakin muuttaa original.txt -tiedoston omistusasetuksia.
En vaan ollut katsonut niitä oikeassa vaiheessa, joten MY BAD !
Kiitos opastuksesta !

KYSYMYKSET:
- Miten Firefox erottaa, kuka on sen tiedoston omistaja, josta nettisivu on generoitu ?
- Miksi tiedostolistauksessa linkki.txt omistajana näkyy aina root:root, vaikka tiedosto on annettu käyttäjälle www-data:www-data
- Onko olemassa komentoa, jolla näkisi linkki.txt -tiedoston TODELLISEN omistajan

TAUSTA
Minulla on kotiserverissä itsetehty index.php, jonka alussa puhdas html-koodi kirjoittaa alkuosan <table> taulukosta.
Loppuosa on php:tä, joka lukee linkki.txt tiedostoa riveittäin, muokkaa lukemaansa ja rakentaa siitä <table>-taulukon loppuosan.
Luettava tiedosto on symbolinen linkki toisessa hakemistossa olevaan tiedostoon:
ln -s original.txt linkki.txt

Alkuperäiseen tiedostoon original.txt ja sen hakemistoon  tai näiden oikeuksiin ei kosketa lainkaan:
Koodia: [Valitse]
drwxrwxr-x  3 pasi     pasi        4096 Oct 19 15:09 ./
drwxr-xr-x 60 pasi     pasi        4096 Oct 16 14:00 ../
-rw-------  1 root     root      140063 Oct 19 15:09 original.txt

Nettisivuun index.php tai sen oikeuksiin ei kosketa lainkaan:
Koodia: [Valitse]
-rw-r--r-- 1 www-data www-data 5789 Oct 19 16:29 index.php

ENSIMMÄINEN TAPAUS:
- Annan serverillä komennon 'php index.php > poop.php
- Firefox avaa tämän poop.php sivun aina ilman ongelmia

TOINEN TAPAUS:
KOKEILU 1:
Koodia: [Valitse]
root@kone:/tracker# chown www-data: linkki.txt
root@kone:/tracker# ls-l linkki.txt
lrwxrwxrwx 1 root root 30 Oct 19 10:09 linkki.txt -> /home/pasi/Sijainti/original.txt
- Nyt nettisivu aukeaa Firefoxilla kuten kuuluukin
- Nettisivua kutsuessa Ctrl-R:llä tai Ctrl-F5:llä ruudulle ilmestyy liitteenä oleva lappu.
Tätä lappua EI tule, jos kutsun Firefoxissa poop.php
- php index.php >poop.php tuottaa virheettömän poop.php tiedoston

KOKEILU 2:
root@kone:/tracker# chown root: linkki.txt
root@kone:/tracker# ls -l linkki.txt
lrwxrwxrwx 1 root root 30 Oct 19 10:09 linkki.txt -> /home/pasi/Sijainti/original.txt

- Nyt Firefoxin ruudulle tulee vain index.php:n html-koodilla kirjoitettu osa, mutta ei php:llä
- Firefox ruudulle ei tule lappua "To display this page, ..."
- php index.php >poop.php tuottaa virheettömän poop.php tiedoston

KOKEILU 1 ja KOKEILU 2 suoritetaan koskematta index.php ja original.txt  -tiedostoon mitenkään. Ainoa, mikä muuttuu, on linkki.txt -tiedoston omistaja

TAUSTATIEDOT:
- index.php on käsin kirjoitettu html-tageina ja php:nä, Ei CSS:ää eikä linkitettyjä kirjastoja.
- original.txt sisältää ainoastaan US-ASCII merkkejä ja rivinvaihtomerkkejä
- Olen kirjoittanut aikojen kuluessa satoja (isojakin) nettisivuja erilaisin työkaluin erilaisiin ympäristöihin.

DISTRIB_DESCRIPTION="Ubuntu 24.10"

Server version: Apache/2.4.62 (Ubuntu)
Server built:   2024-08-15T07:32:14

PHP 8.3.11 (cli) (built: Sep 30 2024 12:07:44) (NTS)

Tämän kanssa on mennyt tänään useampi tunti hukille.

3
Asentaminen ja käyttöönotto / rdiff-backup ?
« : 15.10.24 - klo:22.57 »
Käyttääkö joku rdiff-backuppia ?
Olisiko esittää exclude-regexp:n kaipaamasta tiedostosta esimerkkiä ?

Olen koittanut saada exclude -filtteriä toimimaan niin, että se poistaisi tietyt tiedostot ( *~ *.tmp tmp.* )
man-sivulla sanotaan fiksusti "files matching the given regexp (according to Python rules)"
Tuosta ei ole paljoa apua.

Sain kyllä varmuuskopioinnin toimimaan, mutta hieman soveltaen
rdiff-backupissa on omat hyvät puolensa, ainakin heidän mainostekstiensä mukaan
Itselle tärkeintä oli, että sen saa liitettyä crontabiin kirjoittamalla sopivan scriptin.

4
Minulla serveri on lähettänyt sähköpostilla tilatiedotuksia, jos jotain on rikki.
Nyt M$ ja Mainostoimisto G ovat siirtyneet 2-vaiheiseen tunnistautumiseen, eikä ssmtp enää toimi vanhoilla asetuksilla, mikä aiheutti pienimuotoisen katastrofin.
Tein M$ ohjeiden mukaiset käsiliikkeet ja sain "app paswordin", jonka pistin ssmtp:n confiin ohjeiden mukaisesti.
Posti ei kuitenkaan mene läpi asiakkaalle.

Netissä on paljon viestejä siitä, että M$:n ap pasword saattaa lakata toimimasta yllättäen ja neuvotaan käyttämään G:n palvelua.
Googlen sivuilla taas varoitellaan käyttämästä heidän systeemiään laitteilta, jotka eivät osaa heidän protokolliaan.

Onko jotain yksinkertaista ratkaisua tälläiseen ?

5
Autentikointi on hankala toteuttaa, kun clienttinä on Arduino-tason laite.
Suodattaminen olisi paras tapa, jos siihen löytyisi työkalu.
Nyt bash-scripti käy crontabin potkimana tutkimassa saapuneen datan fileen 3 min välein ja suodattaa siitä oikean datan jatkokäsittelyyn.
Tuon kolmen minutin aikana ehtii kuitenkin maailmalta tulla saastaa pitkä pökäle.
Pitäisi saada suodatus osaksi porttia lukevaa ohjelmaa. Vain leimatut paketit talletettaisiin saapuneeksi.

6
Olenko paranoidi ? Mikään kokeilemani portscanneri ei löydä avoimia portteja reitittimeltä, eikä serveriltä.
Miksi tuota allaolevaa roskaa kuitenkin tulee ?

Serverillä olisi pakko pitää yksi TCP portti auki ulkoa tulevaa mittausdataa varten 24/7.
Saapuvan datarivin alussa on aina kaksimerkkinen tunniste
Ulkoinen laite on 4G-verkossa, joten sen IP:tä ei pysty ennakoimaan.
Serveri on kotiverkossa reitittimen takana.
Tällä hetkellä luen porttia komennolla
nc -lk $Sport >>$hakemisto"saapuneet.txt" &

Miten estää avoimen TCP-portin näkyminen ulkomaailmalle ?

Onko mitään tapaa lukea vain datarivejä, jotka alkavat tietyillä merkeillä

Varsinainen ongelma on siinä, että porttiin puskee maailmalta sontaa, Esimerkiksi:
-" User-Agent: Expanse, a Palo Alto Networks company, searches across the global IPv4 space multiple times per day to identify customers&#39; presences on the Internet."
-" CONNECT hotmail-com.olc.protection.outlook.com:25 HTTP/1.1
Host: hotmail-com.olc.protection.outlook.com:25"
-" {"id":1,"jsonrpc":"2.0","method":"login","params":{"login":"YOUR_WALLET_ADDRESS","pass":"x","agent":"XMRig/6.20.0-C3Pool","algo":["cn/1"],"algo-perf":{"cn/1":63.32038223248976}}}"

Osa näyttää olevan ohjelmakoodia.

7
Osan verkkopetoksista saisi lopetettua muutamalla pienellä lisäyksellä pankkien toiminnassa.
Olen näistä jo lähettänyt viestin omalle pankilleni.

8
Ainoa tähän mennessä tapahtui aikoinaan, kun kännyköihin myytiin soittoääniä ja taustakuvia. Niitä saadakseen piti "Liittyä kerhoon".
Vaikka puhelinliittymä oli minun nimissäni, oli tytär onnistunut tuollaisen tekemään.

Ihmettelin, miksi puhelinlaskussa oli joka kuukausi muutaman euron 'palvelumaksu'
ISP tietenkin oli peittänyt puhelinnumerosta liittymän omistajaa suojellakseen puheliinnumeron loppuosan, joten en nähnyt, kuka oli kyseessä.
Kun soitin ISP:lle, he kertoivat, että heillä ei ole oikeutta kertoa minulle, mihin minun puhelimellani oli soitettu.
He eivät myöskään suostuneet katkaisemaan laskutusta, koska tästä oli 'minun ja myyjän välinen sopimus', jota he eivät voineet katkaista.

Lopulta ASPA-tyttö suostui sanomaan 'kyllä', kun kysyin, oliko laskutustiedoissa heidän tiedostoissaan Z:lla alka va nimi.
Tätä kautta pääsin kiinni laskuttajaan. Soitin heille. Eivät kuulema voi katkaista sopimusta jonkin lakikohdan nojalla.
Kerroin tulevani heidän ovelleen keskustelemaan sopimuksen päättämisestä joko pesäpallomailan tai parin poliisin kanssa, ellei laskutus lopu tässä ja nyt.

Seuraavassa laskussa ei tätä enää löytynyt.

9
Yleistä keskustelua / Vs: miten tappaa prosessi
« : 06.02.24 - klo:23.25 »
Kiitos.

Ongelma-prosessi katosi neljännen bootin jälkeen. Pitää silti pistää seurantaan.

cron (crontab) tuli tutkittua huolella. Siellä on iso kasa itsetehtyjä scriptejä, jotka tarkistin kaikki.
Tuo 9999 portti on käytössä ainoastaan sisäverkossa yhtä järjestelmää testatessa. Silloinkin tiukassa valvonnassa.

Systemd olisi ollut seuraavana vuorossa
Ja tietenkin nc:n poistaminen, testailu ja palautus. Ja taas testailu

En olisi tähän niin vakavasti muuten puuttunutkaan muuten, mutta fail2ban:ss näkyi jatkuvaa pommitusta Kiinasta. Ainahan sieltä tulee yrittäjiä, mutta tämä oli harvinaisen sitkeä. Bannista huolimatta hyökkäys jatkui kolmatta vuorokautta. Fail2banin olen säätänyt aika tiukaksi.
Lisäksi serveri tuntui hitaalta. Tämä kuitenkin paljastui reitittimen viaksi.

10
Yleistä keskustelua / Vs: miten tappaa prosessi
« : 06.02.24 - klo:20.59 »
Uptime antoi aivan oikean ajan rebootin jäljiltä

Kill on ajettu, kun olen kirjautunut 'sudo su' kyseiselle serverille.

11
Yleistä keskustelua / miten tappaa prosessi
« : 06.02.24 - klo:17.52 »
Koneessa näyttäisi pyörivän ohjelma, jota en ymmärrä.
Häviääkö tuo itsekseen, vai pitäisikö huolestua ?
( Tuo komento "nc -l 9999" on annettu tunteja sitten juuri tuossa hakemistossa "/home/bin/Pikkukoneet/tcp/ESP_energia" )

# ps x|grep 9999
 390093 ?        S      0:00 nc -l 9999

# ps -eo pid,user,group,args,etime,lstart | grep '390093'
 390093 root     root     nc -l 9999                        10:11 Tue Feb  6 17:30:47 2024

# pwdx 390093
390093: /home/bin/Pikkukoneet/tcp/ESP_energia

# ls /proc/390093/cwd -l
lrwxrwxrwx 1 root root 0 Feb  6 17:35 /proc/390093/cwd -> /home/bin/Pikkukoneet/tcp/ESP_energia

# ls /proc/390093/exe -l
lrwxrwxrwx 1 root root 0 Feb  6 17:35 /proc/390093/exe -> /usr/bin/nc.openbsd

Olen käyttänyt tuota porttia 9999 aiemmin juuri komennolla "nc -l 9999"
Koittanut tappaa:
- Kone resetoitu
- fuser -k 9999/tcp
- kill -9 390093
- ajettu chkrootkit ja rkhunter

(Hävettää aina kysellä, mutta joskus vaan oma äly loppuu)

12
Tiedosto otti ja katosi omin aikoineen

LISÄYS: Nyt ymmärrän tuonn allaolevan pötkön:
- Joku on huomannut avoimen portin ja tyrkännyt sinne pahoin aikein tuollaisen cookien-tapaisen
- Porttia kuunteleva ohjelma on kiltisti kopioinut pökäleen tiedostoon, koska tässä vaiheessa dataa käsitellään vasta kevyesti.
Serveri itse on siis suojassa, koska koodinpätkää ei suoriteta. Ilmeisesti kyseessä RDP-pyyntö.

Nyt on riesana /tmp/-hakemiston Wc1.txt -tiedostoon generoituva omituinen pötkö:

^C^@^@/*<E0>^@^@^@^@^@Cookie: mstshash=Administr

^A^@^H^@^C^@^@^@


Harmittavasti joudun pitämään yhtä porttia auki ulkomaailmaan. Tuohon porttiin tulevaa materiaalia luetaan aktiivisesti ja saapuneesta materiaalista kopioidaan osa tuohon /Wc1.txt -tiedostoon. Saapuvat paketit ovat pituudeltaan rajattuja, alle 100 B ja keskimäärin kerran minuutissa.
Kaikki data käsitellään ohjelmassa, eikä siitä pääse tekemään suorittavia ohjelmia.

Pitäisi keksiä, miten portista tulevaa dataa saisi seulottua paremmin, jottei kukaan alkaisi puskea tuohon mitään loputonta virtaa, jolla saisi koneen polvilleen.

13
Yhteen nettisivustoni hakemistoon on omin avuin ilmestynyt uusi tiedosto.
Mikä tämä on ?

".#index.php -> 'root@here.277653'

Googlekaan ei ole kovin avulias.
Hakusana "root@here" tuottaa mielenkiintoisia tuloksia

Eikä käsityökalusitakaan ole mitään apua:

root@tupu:/home/www/gesp32_tracker# ls .#index.php
.#index.php

root@tupu:/home/www/gesp32_tracker# less .#index.php
.#index.php: No such file or directory

root@tupu:/home/www/gesp32_tracker# cat .#index.php
cat: .#index.php: No such file or directory

14
Yleistä keskustelua / Vs: Client Cache server ?
« : 04.01.24 - klo:18.41 »

15
Yleistä keskustelua / Vs: Client Cache server ?
« : 04.01.24 - klo:12.40 »
Laita Leaflet hoitamaan kartta tilejen lataus väimuistiin.

Mitä servereitä sulla on autossa ja veneessä? Tarkoitat varmaan selainta.

En ole vielä löytänyt leafletista temppua, jolla leafletin saisi tuon osaamaan. Hienointa olisi, jos (autossa) Leaflet osaisi käyttää samoja OSM karttatiiliä, kuin OSMand, jota usein käytän matkoilla..

Androidissa Chromessa puhutaan cachesta, mutta sen toiminnasta en ole löytänyt dokua.

Serverit ovat vasta työn alla. Tarkoitus on kerätä mittausdataa. Tiedän kyllä selaimen ja serverin eron ;)

16
Yleistä keskustelua / Client Cache server ?
« : 03.01.24 - klo:22.29 »
Käytän veneessä ja matkailuautossa omatekemää karttaohjelmaa, jossa taustalla on Leaflet. Kartat tulevat nettiselaimelle kotiserveriltä.
Tekisi mieli pienentää nettiliikennettä puskuroimalla käytettyjä karttatiiliä paikallisesti auton ja veneen serverillä.

Onko olemassa jotain ohjelmaa, joka puskuroisi noita karttatiiliä ?
Kaikki lukemani artikkelit puhuvat nettisivujen hakemisesta cachesta, mutta minulle jää epäselväksi, osaako joku puskuroida noita kuvia.

17

Kun pistin osoitteeksi 0.0.0.0, alkoi ohjelma ainakin ottaa jotain vastaan.

Sinä sen sanoit, miksi julkinen IP ei kelvannut. Palvelin on varmaan reitittimen takana ja reitittimelle on tehty porttiohjaus?
Palvelin ei siis tiedä saavansa kyselyitä julkisen IP:n takana olevaan porttiin. Ei pitäis oikeakätisen vastailla huolimattomasti vasemmalla kädellä, ainakaan kahdesti  ;)

Palvelin on tosiaan parin verkon ylläpitäjän reitittimen ja talon oman reitittimen takana. Puhkoin omaan palomuuriin reikiä sitä mukaan, kun kokeilin eri portteja.
Laite ei tosiaankaan tottele kuin porttia 5023, vaikka sille asettaisi muunkin portin sen asetuksista. Tämä oli suurin ongelma alusta alkaen. Toisena tuo IP-osoite 0.0.0.0.
En ole koskaan ennen tehnyt socketien asettelua. Aiemmin kaikki on pelannnut kevyemmin työkaluin, esim nc:tä, fuser:a ja netstat:a käyttäen.

Tämän hetken tilanne on se, että ohjelma ottaa kiltisti trackerilta tulevaa ryönää vastaan. Nyt se vaan pitää muokata tarvitsemaani muotoon. Tätä ei yhtään helpota palikan onneton virheitä täynnä oleva dokumentaatio.

18
Kun pistin IP--osoitteeksi kodin ulkoisen osoitteen, sain virheilmoituksen:
PHP Warning:  socket_bind(): Unable to bind address [99]: Cannot assign requested address in /home/bin/GPStracker/socket.php on line 20 bind


Kun pistin osoitteeksi 0.0.0.0, alkoi ohjelma ainakin ottaa jotain vastaan.
Tästä on hyvä punnertaa eteenpäin. Varsinaiset tiedon käsittelyohjelmat ovat jo lähes valmiina.

Kyseinen GPS-trakkeri väitti pakkauksen kannessa ja dokumenteissa olevansa GT02. GT06 on mainittuna pienellä. Käskykanta on melkein, mutta ei täysin erilainen, kuin aiemmin käyttämissäni GT06-trakkereissä, joissa niissäkin on ollut hajontaa.
Käytettävän serverin IP-osoitteen ja portin  voi asettaa SMS-viestillä. Laite ei kuitenkaan kelpuuta niitä, kuten toinen käytössäni oleva GT06, vaan asetuksista piittaamatta käyttää kanavana annettuun IP-osoitteeseen porttia 5023.
NC:llä saa kyllä kopitettua login messageita, mutta socketeilla ei synny yhteyttä.
Laitteessa on myös USB-portti, jonka merkitys ei selvinnyt. Sieltä puskee PC:lle tekstimuotoista moskaa, josta ei saa mitään tolkkua.


PHP on mukava scripti-kieli. Ongelmana vaan on sama, kuin monessa muussakin: dokumentaation laatijat eivät hahmota, mikä on informaatiota ja mikä hehkuttelua. Mielessäni vertaan antiikkisiin VIC20, MsC ja QuickBasicin käsikirjoihin: käsky, sen formaatti, selitys ja yksinkertainen esimerkki. PHP:n docuissa sivuutetaan se yksinkertainen esimerkki ja aletaan hehkuttaa, miten kirjoittaja on ratkaissut jonkun ihmeellisen ongelman jollain piiiiitkällä koodilla, jossa ei edes mainita käsiteltävää komentoa.

SUURKIITOS KAIKILLE OSALLISTUNEILLE !

19
Kirjoitin myös php-scriptin netistä löytyneiden socket-ohjeiden mukaan. Jumittuu socket_accept()-komentoon. Jää odottamaan jotain portista.

Niin, eli jää odottamaan asiakkaan yhteydenottoa. Niinhän sen kuuluukin tehdä.
Kymmenen minuuttia on hieman liikaa, kun aikaväliksi on asetettu 20sek.

Taistelu jatkuu.

20
Miksi ei valmis opensource server https://www.traccar.org/ käy? gt02 on tuetuissa laitteissa.
Ainakin sillä näkisi, että tracker saa yhteyden serverille. Serverillä pitää siis olla julkinen IP, johon tracker saa yhteyden.
gt02 portti, johon ottaaa yhteyden on 5022 eli se pitää olla auki palvelimella ja palvelin kuuntelee siis porttia 5022 (https://www.traccar.org/devices/

Pistin Traccarin pystyyn ja portiksi 5023. Ohjelma löytää sijainnin ja piirtää kartalle.

Tuo portti 5023 ihmetyttää, koska GT06, GT02 voi asettaa lähettämään datan mihin porttiin tahansa.
Laitteen lähettämän login messagen pystyy lukemaan nc:llä portista 5022.
Sitäpaitsi alkuperäinen lähetyskäsky on " Adminip123456 www.19gps.net 7018 ", eli portti 7018

Kirjoitin myös php-scriptin netistä löytyneiden socket-ohjeiden mukaan. Jumittuu socket_accept()-komentoon. Jää odottamaan jotain portista. Taistelu jatkuu, koska oma Leaflettiin perustuva seurantaohjelma on omaan käyttöön paremppi, kuin Traccar. Omaan saan lisättyä lokitekstejä ja valokuvia matkoilta.

EI VIELÄ TOIMIVA:
Koodia: [Valitse]
<?php
$host 
"127.0.0.1"// your localhost IP 
$port 5023
set_time_limit(0); // No Timeout
//Create socket
$socket socket_create(AF_INETSOCK_STREAMgetprotobyname(&#39;tcp&#39;)) or die("Create\n");
// Bind the socket to port and host
$result socket_bind($socket$host$port) or die("bind\n");
// Start listening to the socket
$result socket_listen($socket3) or die("Listen\n");
// Accept incoming connection
$spawn socket_accept($socket) or die("Accept\n");
// Read the message from the Client socket
$input socket_read($spawn1024) or die("Read\n");;
// Close socket:
socket_close($spawn);
socket_close($socket);
?>


Sivuja: [1] 2 3 ... 33