Gå til innhold

Anbefalte innlegg

Hvis man lærer seg programmering godt nok, kan man gjøre hva som helst? Kan man hacke seg inn på enhver nettside, få tak i hva slags informasjon man vil, skru på og av trafikklys, bestille hvilken vare som helst til hvilken person som helst, hva som helst?

 

Er bare nysgjerrig på hvordan dette virkelig fungerer, og hvor mye jobb som ligger bak.

 

Og et bonusspørsmål: Hvor mange forskjellige typer "programvarer" finnes det? Når jeg leser begreper som "C/C++". "Java", "PHP" og lignende, så lurer jeg på hvor mange typer slike program"baser" som finnes.

Endret av Taurean
Lenke til kommentar
Videoannonse
Annonse

Hvis man lærer seg programmering godt nok, kan man gjøre hva som helst? Kan man hacke seg inn på enhver nettside, få tak i hva slags informasjon man vil, skru på og av trafikklys, bestille hvilken vare som helst til hvilken person som helst, hva som helst?

 

Dette blir mer hacking, ikke programmering.

 

I teorien kan alt hackes så lenge det aktuelle systemet man ønsker å trenge inn i har en eller annen forbindelse til utsiden. Og det trenger ikke være snakk om nettverksforbindelse, ulumskheter gjemt på minnepinner vil også kunne gjøre susen. Se gjerne hackedokumentarer som Zero Days hvis du er veldig nysgjerrig.

 

Er man veldig dyktig kan man stort sett komme inn overalt, om man organiserer seg og legger ned litt innsats. Den vanlige mannen i gata derimot (som har lært seg litt hacking/programmering), klarer ikke å få gjort så mye.

 

Og et bonusspørsmål: Hvor mange forskjellige typer "programvarer" finnes det? Når jeg leser begreper som "C/C++". "Java", "PHP" og lignende, så lurer jeg på hvor mange typer slike program"baser" som finnes.

 

Du tenker på programmeringsspråk, disse er det mange av: https://en.wikipedia.org/wiki/List_of_programming_languages

Endret av nightowl
  • Liker 1
Lenke til kommentar

Hvis man lærer seg programmering godt nok, kan man gjøre hva som helst? Kan man hacke seg inn på enhver nettside, få tak i hva slags informasjon man vil, skru på og av trafikklys, bestille hvilken vare som helst til hvilken person som helst, hva som helst?

 

Nei, punktum !

 

Å komme seg inn i datasystemer krever dog som oftest kunnskap om programmering, men det kreves også mye, mye mer.

Enkelte ganger kan det kreves enorm kunnskap om nettverk, andre ganger om hardware.

Veldig ofte dreier det seg om "sosial hacking", altså å lure et passord ut av noen ved personlig oppmøte, telefon eller e-post, eller få tilgang til fysiske maskiner osv. på samme vis.

Phising, altså "fisking", er litt av det samme, hvor man fisker etter informasjon ved å sende ut falske e-poster eller lignende.

 

Som oftest når det dreier seg om "hacking", så er det et datasystem som har en sårbarhet, som noen tilfeldigvis har funnet.

I dagens systemer dreier det seg svært sjeldent om at noen har utført målrettet angrep mot et spesifikt datasystem, og lykkes.

 

Mange systemer er også lukkede, det er for eksempel nesten helt utenkelig at man klarer å få kontroll over trafikklys eller kritiske systemer i dag, det er rett og slett for vanskelig å komme inn i et godt sikret system. Det er kun på film slike ting tar to minutter.

 

Ingenting er umulig, men de fleste "hackere" innser tidlig at det er veldig mye enklere å forsøke seg på mange systemer med en eller annen metode, for så å se om noen er sårbare, enn å forsøke alle mulige metoder på ett enkelt system.

 

SQL-injection, altså at man på nettsider prøver en lenke med noe kode som gir tilgang til nettsidens database, utgjør godt over halvparten av alle suksessfulle angrep i dag. Det er en enkel metode, som har eksistert i flere tiår, likevel finnes det alltid massevis av nettsider som ikke er godt nok sikret mot det, og det krever ofte nesten ingen kunnskap annet enn klipp og lim.

 

Er bare nysgjerrig på hvordan dette virkelig fungerer, og hvor mye jobb som ligger bak.

 

Og et bonusspørsmål: Hvor mange forskjellige typer "programvarer" finnes det? Når jeg leser begreper som "C/C++". "Java", "PHP" og lignende, så lurer jeg på hvor mange typer slike program"baser" som finnes.

 

 

For de fleste hackere ligger det årevis og tusenvis med timer bak, altså masse jobb.

 

Hacking er nok noe man gjerne roter seg borti etter at man har en særdeles god forståelse av hvordan datamaskiner, nettverk og koding fungerer, noe som også gjerne krever enorm interesse.

Det er når interessen er stor, og at man begynner å rote rundt i systemer nærmest som en hobby, at man forstår dette, alt annet er egentlig å anse for "script kiddies".

 

Det finnes ferdige programmer man kan laste ned som gjør det meste av jobben, men dette er jo fremdeles i stor grad ulovlig, så uten rett kunnskap risikerer man også å bli tatt relativt raskt.

Det er nettopp dette som kalles "script kiddie", noen som laster ned et "script", som de kjører, uten å forstå hva som foregår.

 

Nå er ikke all hacking ulovlig. Det går jo an å sette opp sitt eget system man kan rote rundt i, eller få tillatelse til å forsøke å komme inn i andres systemer osv, men uansett om man gjør skade eller ikke, så er det ulovlig å ... "uberettiget skaffe seg adgang til data eller programutrustning som er lagret eller som overføres ved elektroniske eller andre tekniske hjelpemidler" etter Straffeloven.

 

Programvare er noe annet enn et programmeringsspråk.

Microsoft Windows og Norton Antivirus er "programvare", mens C++ og PHP er programmeringsspråk.

 

Det finnes tusenvis av programmeringsspråk.

Heldigvis er de aller vanligste "C-baserte", slik at syntaks er nogenlunde den samme, men det er fremdeles store forskjeller, å mye å lære.

 

Det finnes også mange merkelige programmeringspråk, for å nevne noen :

 

ArnoldC - basert på ting Arnold har sagt

BrainFuck - helt fucked

Whitespace - består av "ingenting", kun av whitespace, som jo er noe annet enn ingenting

Shakespeare - skrives med kapitler, akter og slik, akkurat som et skuespill av Shakespeare

Chef - programmering som en matoppskrift

 

Unlambda, befunge og intercal er også artige.

Så har vi jo det som startet det hele, Simula, skapt rett her i Norge, av Dahl og Nygaard i sekstiårene, forgjengeren til alle moderne programmeringsspråk, og det første objekt-orienterte programmeringsspråket.

  • Liker 5
Lenke til kommentar

Start med Javascript eller Python. Velg det språket du synes høres kulest ut (seriøst).

 

Jeg ville heller anbefalt Java eller C#, også installasjon av en bransjeanbefalt IDE.

 

Det er altfor lett å skyte av seg foten i JavaScript og ikke engang skjønne at noe er skrekkelig galt. I Java/C# vil man vanligvis bli hindret eller i hvertfall få masse advarsler først. (Python har jeg for lite erfaring med til å vurdere.)

Lenke til kommentar

Jeg ville heller anbefalt Java eller C#, også installasjon av en bransjeanbefalt IDE.

 

Det er altfor lett å skyte av seg foten i JavaScript og ikke engang skjønne at noe er skrekkelig galt. I Java/C# vil man vanligvis bli hindret eller i hvertfall få masse advarsler først. (Python har jeg for lite erfaring med til å vurdere.)

 

Les om igjen trådstarter sin post. Dette er en som er nysgjerrig og sitter med absolutt null kunnskap, ikke en som har tenkt å bli en anerkjent low-level programmerer.

Endret av kim_InnleggNO
Lenke til kommentar

Styr unna Javascript, med mindre du i all hovedsak vil jobbe med nettsider.

Det blir vel spurt mer i retning av "hacking", ikke hva man ønsker å jobbe med, og i så måte er vel JavaScript nærmest obligatorisk, i det minste en viss forståelse av det.

 

Det er få språk som er så enkle å bruke, og forstå, som Python og JavaScript, når det kommer til å sette opp enkle portscannere, SQLi-tester og den slags.

Da er det selvfølgelig primært Node.js det er snakk om, ikke nettsider.

Med NW.js kan man lage enkle apps i JavaScript , og det finnes vel snart sånne løsninger for alle mulige ting, så JavaScript er veldig mye mer enn nettsider i disse dager.

Lenke til kommentar
Gjest Slettet+5132

Takk for gode svar.

 

Ett siste spørsmål: Hva er det letteste å begynne med hvis jeg vil lære programmering fra bunnen av på egen hånd?

Python er et godt valg. Men nøyaktig hva vi anbefaler vil også avhenge av om du har noen planer for hva slags prosjekter du vil lage (for motivasjonens del kan det det ofte være lurt å ha et mål å jobbe seg mot).

 

Har du noen ide om hva du vil lage? Hvis ikke er python en god ide, det er rimelig lett å lære, har masse eksterne biblioteker som gjør at du kan gjøre "alt", og har grei hjelp på alle nivå.

Lenke til kommentar

2007 ringte og ville ha deg tilbake..

 

Det blir vel spurt mer i retning av "hacking", ikke hva man ønsker å jobbe med, og i så måte er vel JavaScript nærmest obligatorisk, i det minste en viss forståelse av det.

 

Det er få språk som er så enkle å bruke, og forstå, som Python og JavaScript, når det kommer til å sette opp enkle portscannere, SQLi-tester og den slags.

Da er det selvfølgelig primært Node.js det er snakk om, ikke nettsider.

Med NW.js kan man lage enkle apps i JavaScript , og det finnes vel snart sånne løsninger for alle mulige ting, så JavaScript er veldig mye mer enn nettsider i disse dager.

 

Er man opptatt av ytelse, brukervennlighet, filstørrelser, nativitet, osv. styrer man langt unna Javascript. Ser dessverre stadig vekk desktop-applikasjoner som er laget med Javascript. Ikke bare føles de "feil" da de ikke bruker operativsystemets native UI, men de tar mye plass (da de ofte bundles sammen med en forenklet browser) og bruker mye minne.

 

Ta Authy for eksempel. Et lite, enkelt program for tofaktor-autentisering. Et program som er så enkelt at det burde være mulig å lage på under megabyten, da all logikk skjer på Authys servere. Likevel tar desktop-appen deres 380 mb! Og idler på rundt 150 mb ram. Ikke ser det ut som et Windows-program heller, men en nettside presset inn i et vindu.

 

Javascript er utmerket for websider og andre ting som skal kjøres i en browser. Men til å lage ordentlige programmer er det veldig lite egnet.

  • Liker 2
Lenke til kommentar

Det kan vel legges til at en som prøver å bryte seg inn et sted ofte må ha kjennskap til mer enn ett programmeringsspråk, fordi forskjellige systemer kan være basert på forskjellige programmeringsspråk og ha tilgang til forskjellige grensesnitt. 

 

Et sted som du lovlig kan forsøke å hacke er Hack The Box

  • Liker 1
Lenke til kommentar

Er man opptatt av ytelse, brukervennlighet, filstørrelser, nativitet, osv. styrer man langt unna Javascript. Ser dessverre stadig vekk desktop-applikasjoner som er laget med Javascript. Ikke bare føles de "feil" da de ikke bruker operativsystemets native UI, men de tar mye plass (da de ofte bundles sammen med en forenklet browser) og bruker mye minne.

Det er helt sant, ting som NW.js kjører i webkit, bokstavene står jo for Node-Webkit, men JavaScript er altså så utbredt nå at man kan lage nesten "hva som helst" dersom man har noe grunnleggende JS kunnskap.

 

Desto nærmere metallet man kommer, desto mer effektivt blir det, generelt sett, forutsatt at man vet hva man driver med.

Drar man det langt nok, så burde jo trådstarter kanskje begynne med assembler?

Problemet er at ASM er enormt vanskelig å lære seg uten å først ha en del grunnleggende kunnskap om hvordan prosessorer, minne og en hel del annet fungerer, samt at det tar evigheter å få gjort selv den enkleste ting fordi det blir så mange instruksjoner.

 

Poenget var at JavaScript i dag brukes til veeeldig mye mer enn enkle nettsider, selv om andre språk gjør en del ting bedre.

Å hevde at man bør holde seg unna JavaScript med mindre man skal lage nettsider blir bare tull, det er et enkelt C-lignende språk man kan ha mye nytte av å lære seg, også når man kanskje senere skal lære seg andre C-lignende språk.

  • Liker 3
Lenke til kommentar

Les om igjen trådstarter sin post. Dette er en som er nysgjerrig og sitter med absolutt null kunnskap, ikke en som har tenkt å bli en anerkjent low-level programmerer.

 

Java/C# kan da alle lære, selv om de er nybegynnere. Man må ikke ha som mål å bli ekspert.

 

Om man derimot vil komme i gang øyeblikkelig er kanskje Scratch det beste.

  • Liker 1
Lenke til kommentar

Takker igjen for motiverende svar! Blir veldig motivert til å prøve noe når det er så mye entusiasme.

 

Det er bare generell interesse bak, har ikke tenkt å hacke Pentagon og fyre av atomraketter mot noen jeg misliker ^^

 

 

Python er et godt valg. Men nøyaktig hva vi anbefaler vil også avhenge av om du har noen planer for hva slags prosjekter du vil lage (for motivasjonens del kan det det ofte være lurt å ha et mål å jobbe seg mot).

Har du noen ide om hva du vil lage? Hvis ikke er python en god ide, det er rimelig lett å lære, har masse eksterne biblioteker som gjør at du kan gjøre "alt", og har grei hjelp på alle nivå.

 

Ja, der svarte jeg over. Men tja, egentlig bare generell interesse.

 

For eksempel, så er det noen situasjoner som gjør meg interessert: I den gamle leiligheten jeg bodde i, for ca 3 måneder siden. Ut av det blå en helt vanlig dag, får jeg opp en melding på pc'en om at jeg måtte skrive inn et brukernavn og passord for å logge på internett. En skjerm jeg aldri hadde sett før. Den så ikke ut som noe uvanlig, men likevel. Jeg prøvde noen brukernavn og passord, men fikk ikke logget på.

 

Det hele endte med at jeg ringte Telenor, og måtte få veiledning gjennom et komplekst virrvarr av å logge inn på routeren og lage ny bruker der. Jeg tror dette løste problemet.

 

Men hvorfor i huleste kom dette opp helt ut av det blå? Jeg hadde ikke lastet ned noe fra Piratebay, laster veldig sjeldent noe ned derfra, og da bare kjente serier fra store brukere. Ikke fra noe andre nettsteder heller, er generelt ultraforsiktig.

 

Slike ting skulle jeg ønske jeg kunne bare gå inn og finne ut av på 5 minutter.

 

Noe annet er hvis pc'en plutselig slår seg av, etter å ha virket helt fint i 6 måneder. For eksempel.

 

Andre ting:

 

1) Første prioritet vil være å gardere meg selv mot å bli hacket, altså kanskje forstå hvordan min internettforbindelse virker ut og inn. Routeren, hvordan min pc kommunisérer med den, hvordan det kan bli "overvåket", og hvordan jeg kan sikre meg mot å bli hacket på noe vis.

 

Det kunne vært et første steg. Noe mer kunne kanskje vært å tilby slike tjenester til andre hvis jeg blir flink nok. Altså nettsikkerhet.

 

2) Å lage apper har også vært noe jeg har hatt lyst til lenge.

 

3) Å lage egen webside uten å involvere "serverlagring" hos andre, kjøp av dette eller involvering av andre.

Endret av Taurean
Lenke til kommentar

 

1) ...tilby slike tjenester til andre hvis jeg blir flink nok. Altså nettsikkerhet.

 

2) Å lage apper har også vært noe jeg har hatt lyst til lenge.

 

3) Å lage egen webside uten å involvere "serverlagring" hos andre, kjøp av dette eller involvering av andre.

 

1) Dette er noe som normalt krever ekspertise, mye ekspertise. Å beskytte mot angrep er ofte vanskeligere enn å angripe.

På den andre siden finnes det av erfaring allerede mange som jobber med "nettsikkerhet" som ikke aner hva de driver med, så det er kanskje ikke så vanskelig å finne jobb innen dette uten nevneverdig kunnskaper?

 

2) Kjør på, det er enklere enn man ofte tror, men det tar også mye mye lengre tid enn man ofte tror.

 

3) Artig for å lære noe nytt, men ikke en spesielt god ide på sikt. Det er så mye jobb å ha en webserver stående hjemme, at det er verdt hver krone man betaler for hosting hos andre.

  • Liker 1
Lenke til kommentar

For eksempel, så er det noen situasjoner som gjør meg interessert: I den gamle leiligheten jeg bodde i, for ca 3 måneder siden. Ut av det blå en helt vanlig dag, får jeg opp en melding på pc'en om at jeg måtte skrive inn et brukernavn og passord for å logge på internett. En skjerm jeg aldri hadde sett før. Den så ikke ut som noe uvanlig, men likevel. Jeg prøvde noen brukernavn og passord, men fikk ikke logget på.

 

Det hele endte med at jeg ringte Telenor, og måtte få veiledning gjennom et komplekst virrvarr av å logge inn på routeren og lage ny bruker der. Jeg tror dette løste problemet.

 

Men hvorfor i huleste kom dette opp helt ut av det blå? Jeg hadde ikke lastet ned noe fra Piratebay, laster veldig sjeldent noe ned derfra, og da bare kjente serier fra store brukere. Ikke fra noe andre nettsteder heller, er generelt ultraforsiktig.

 

Slike ting skulle jeg ønske jeg kunne bare gå inn og finne ut av på 5 minutter.

 

Noe annet er hvis pc'en plutselig slår seg av, etter å ha virket helt fint i 6 måneder. For eksempel.

Her snakker du om forskjellige kunnskaper. At du lærer deg programmering vil ikke automatisk bety at du forstår hvorfor PC'en skrur seg av.

 

1) Første prioritet vil være å gardere meg selv mot å bli hacket, altså kanskje forstå hvordan min internettforbindelse virker ut og inn. Routeren, hvordan min pc kommunisérer med den, hvordan det kan bli "overvåket", og hvordan jeg kan sikre meg mot å bli hacket på noe vis.

 

Det kunne vært et første steg. Noe mer kunne kanskje vært å tilby slike tjenester til andre hvis jeg blir flink nok. Altså nettsikkerhet.

Med så mye ressurser som finnes om nettsikkerhet, så vil det ta lang tid før du vil kunne tilby noe som helst. Sikkerhet er dessuten er ekstremt stort og komplisert felt. Bare det å f. eks implementere noe feil, selv om selve funksjonen er laget perfekt, åpner for sikkerhetsbrister som folk kan utnytte.

 

2) Å lage apper har også vært noe jeg har hatt lyst til lenge.

 

3) Å lage egen webside uten å involvere "serverlagring" hos andre, kjøp av dette eller involvering av andre.

Dette vil være et annet aspekt enn programmering. Nå må du også lære deg om drifting av servere, teste oppdateringer på forskjellige nivåer som operativsystemet, programmer og rammeverk som brukes innad i forskjellige programmer.

 

I praksis er drifting av nettverk og servere (generelt IT-systemer) en helt annen utdannelse enn hva programmering er. IKT drift er ofte en studieretning på VGS med to år praksis hos bedrifter og en rekke sertifiseringer, avhengig av hva slags systemer du jobber med, mens programmering er en høyere utdannelse på høyskole eller universitetsnivå. Begge retninger kan være veldig krevende, men har forskjellige utgangspunkt og målsetninger. Hvis du på toppen av dette har planer om å lære deg sikkerhet, så må du legge til et aspekt til fordi det er et fåtall av steder i Norge som skolerer folk på sikkerhet under utdannelse, slik at du kan i praksis ende opp med 3 studieretninger for å lære deg det grunnleggende som du ytrer interesse for i tråden.

 

Min anbefaling er at du starter et sted, enten med programmering eller drift av servere og systemer og bygger deg opp etterhvert.

  • Liker 1
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...