Dosa maot tina kaamanan situs wéb: naon anu urang pelajari tina statistik scanner kerentanan pikeun taun éta

Sakitar sataun katukang, kami di DataLine diluncurkeun palayanan pikeun milarian sareng nganalisis kerentanan dina aplikasi IT. Palayanan dumasar kana solusi awan Qualys, ngeunaan operasi anu mana kami geus bébéja. Salila sataun gawé bareng solusi, kami ngalaksanakeun 291 scan pikeun situs anu béda sareng akumulasi statistik ngeunaan kerentanan umum dina aplikasi wéb. 

Dina artikel di handap kuring baris némbongkeun Anjeun persis naon liang dina kaamanan ramatloka disumputkeun tukangeun tingkat béda tina criticality. Hayu urang tingali naon kerentanan anu sering dipendakan ku scanner, naha éta tiasa lumangsung, sareng kumaha cara ngajagaan diri anjeun. 

Dosa maot tina kaamanan situs wéb: naon anu urang pelajari tina statistik scanner kerentanan pikeun taun éta

Qualys ngabagi sadaya kerentanan aplikasi wéb kana tilu tingkat kritisitas: rendah, sedeng sareng luhur. Lamun nempo sebaran ku "severity", sigana yen sagalana teu jadi goréng. Aya sababaraha kerentanan kalayan tingkat kritisitas anu luhur, kalolobaanana sadayana henteu kritis: 

Dosa maot tina kaamanan situs wéb: naon anu urang pelajari tina statistik scanner kerentanan pikeun taun éta

Tapi teu kritis henteu hartosna henteu bahaya. Éta ogé bisa ngabalukarkeun karuksakan serius. 

Top kerentanan "non-kritis".

  1. Kerentanan eusi campuran.

    Standar pikeun kaamanan situs wéb nyaéta transfer data antara klien sareng server liwat protokol HTTPS, anu ngadukung enkripsi sareng ngajagi inpormasi tina interception. 

    Sababaraha situs ngagunakeun eusi dicampur: Sababaraha data ditransfer via protokol HTTP teu aman. Ieu kumaha eta paling sering conveyed eusi pasif - Inpormasi anu ngan ukur mangaruhan tampilan situs: gambar, gaya css. Tapi kadang ieu kumaha éta dikirimkeun eusi aktip: Aksara nu ngadalikeun paripolah loka. Dina hal ieu, nganggo parangkat lunak khusus, anjeun tiasa nganalisis inpormasi kalayan kontén aktip anu asalna tina server, ngarobih réspon anjeun dina laleur sareng ngajantenkeun mesin jalan ku cara anu henteu dihaja ku panyipta na. 

    Versi browser anu langkung énggal ngingetkeun pangguna yén situs anu eusina dicampur teu aman sareng ngablokir eusina. Pamekar wéb ogé nampi peringatan browser dina konsol. Salaku conto, ieu kumaha rupana Firefox

    Dosa maot tina kaamanan situs wéb: naon anu urang pelajari tina statistik scanner kerentanan pikeun taun éta

    Naon bahaya: Penyerang ngagunakeun protokol teu aman pikeun intercept informasi pamaké, ngaganti Aksara jeung ngirim requests ka loka atas namanya. Sanaos pangunjung situs henteu ngalebetkeun data, ieu henteu ngajagi anjeunna phishing – meunangkeun informasi rahasia ngagunakeun métode curang. Contona, ngagunakeun skrip, Anjeun bisa alihan pamaké ka situs unsafe nu masquerades salaku akrab jeung pamaké. Dina sababaraha kasus, situs jahat katingalina langkung saé tibatan anu asli, sareng pangguna tiasa ngeusian formulir nyalira sareng ngalebetkeun data rahasia. 

    Naon anu kedah diémutan ku pamekar wéb: Sanaos pangurus situs parantos dipasang sareng ngonpigurasikeun sertipikat SSL / TLS, kerentanan tiasa timbul kusabab kasalahan manusa. Contona, upami dina salah sahiji kaca anjeun nempatkeun teu link relatif, tapi link mutlak ti http, sarta salian anjeun teu nyetél alihan ti http kana HTTPS. 

    Anjeun tiasa ngadeteksi eusi campuran dina situs nganggo browser: milarian kode sumber halaman, baca bewara dina konsol pamekar. Sanajan kitu, pamekar kudu tinker jeung kode pikeun lila sarta tediously. Anjeun tiasa nyepetkeun prosés nganggo alat analisis otomatis, contona: SSL Cék, Parangkat lunak Mercusuar gratis atanapi parangkat lunak mayar Screaming Frog SEO Spider.

    Ogé, kerentanan tiasa timbul kusabab masalah sareng kode warisan - kode anu diwariskeun. Contona, upami sababaraha kaca dihasilkeun maké citakan heubeul, nu teu tumut kana akun transisi situs ka HTTPS.    

  2. Cookies tanpa umbul "HTTPonly" sareng "aman".

    Atribut "HTTPonly" ngajagi cookies tina diolah ku skrip anu dianggo ku panyerang pikeun maok data pangguna. Bandéra "aman" teu ngidinan cookies pikeun dikirim dina téks jelas. Komunikasi ngan bakal diwenangkeun lamun protokol HTTPS aman dipaké pikeun ngirim cookies. 

    Duanana atribut dieusian dina sipat cookie:

    Set-Cookie: Secure; HttpOnly

    Naon bahaya: Upami pamekar situs henteu netepkeun atribut ieu, panyerang tiasa nyegat inpormasi pangguna tina cookie sareng ngamangpaatkeunana. Upami cookies dianggo pikeun auténtikasi sareng otorisasina, anjeunna bakal tiasa ngabajak sési pangguna sareng ngalaksanakeun tindakan dina situs atas namanya. 

    Naon anu kedah diémutan ku pamekar wéb: Sakumaha aturan, dina kerangka populér, atribut ieu diatur sacara otomatis. Tapi tetep pariksa konfigurasi web server tur nyetel bandéra: Set-Cookie HttpOnly; Aman.

    Dina hal ieu, atribut "HTTPonly" bakal ngajantenkeun cookies teu katingali ku JavaScript anjeun nyalira.  

  3. Kerentanan Berbasis Jalur.

    Scanner ngalaporkeun kerentanan sapertos kitu upami mendakan file anu tiasa diaksés ku masarakat atanapi diréktori situs wéb kalayan inpormasi anu berpotensi rahasia. Contona, éta ngadeteksi file konfigurasi sistem individu atawa aksés ka sakabéh sistem file. Kaayaan ieu mungkin upami hak aksés teu leres diatur dina situs.

    Naon bahaya: Upami sistem file "nempel," panyerang tiasa digolongkeun kana antarmuka sistem operasi sareng nyobian milarian polder sareng kecap akses upami disimpen dina téks anu jelas (ulah ngalakukeun éta!). Atanapi anjeun tiasa maok hashes sandi sareng maksakeun kecap konci, sareng ogé nyobian ngangkat hak istimewa dina sistem sareng langkung jero kana infrastruktur.  

    Naon anu kedah diémutan ku pamekar wéb: Tong hilap ngeunaan hak aksés sareng ngonpigurasikeun platform, server wéb, aplikasi wéb supados teu mungkin "kabur" tina diréktori wéb.

  4. Formulir pikeun ngasupkeun data sénsitip kalayan eusian otomatis diaktipkeun.

    Upami pangguna sering ngeusian formulir dina situs wéb, browser na nyimpen inpormasi ieu nganggo fitur autofill. 

    Formulir dina situs wéb tiasa kalebet widang kalayan inpormasi sénsitip, sapertos kecap akses atanapi nomer kartu kiridit. Pikeun widang sapertos kitu, éta patut nganonaktipkeun fungsi autofill formulir dina situs sorangan. 

    Naon bahaya: Lamun panyungsi pamaké nyimpen informasi sénsitip, panyerang bisa intercept engké, contona ngaliwatan phishing. Intina, pamekar wéb anu hilap kana nuansa ieu netepkeun pangguna na. 

    Naon anu kedah diémutan ku pamekar wéb: Dina hal ieu, urang boga konflik Palasik: genah vs kaamanan. Upami pamekar wéb mikirkeun pangalaman pangguna, anjeunna tiasa sacara sadar milih autocomplete. Contona, upami hal anu penting pikeun nuturkeun Pedoman Aksesibilitas Eusi Wéb - Rekomendasi pikeun aksés eusi pikeun pangguna anu cacad. 

    Kanggo sabagéan ageung panyungsi, anjeun tiasa nganonaktipkeun autocomplete nganggo atribut autocompete="off", contona:

     <body>
        <form action="/su/form/submit" method="get" autocomplete="off">
          <div>
            <input type="text" placeholder="First Name">
          </div>
          <div>
            <input type="text" id="lname" placeholder="Last Name" autocomplete="on">
          </div>
          <div>
            <input type="number" placeholder="Credit card number">
          </div>
          <input type="submit">
        </form>
      </body>

    Tapi éta moal tiasa dianggo pikeun Chrome. Ieu circumvented maké JavaScript, varian resep bisa kapanggih di dieu

  5. The X-Frame-Options lulugu teu diatur dina kode situs. 

    Lulugu ieu mangaruhan pigura, iframe, embed, atawa tag objék. Kalayan bantosanana, anjeun tiasa lengkep ngalarang nampilkeun situs anjeun dina pigura. Jang ngalampahkeun ieu, anjeun kudu nangtukeun nilai X-Frame-Options: mungkir. Atawa anjeun bisa nangtukeun X-Frame-Options: asal sarua, teras embedding dina iframe ngan bakal sadia dina domain Anjeun.

    Naon bahaya: Henteuna lulugu misalna bisa dipaké dina situs jahat ka clickjacking. Pikeun serangan ieu, panyerang nyiptakeun pigura transparan dina luhureun tombol sareng trik pangguna. Contona: scammers pigura kaca jejaring sosial dina ramatloka a. Pamaké nyangka anjeunna ngaklik tombol dina situs ieu. Sabalikna, klik dicegat sareng pamundut pangguna dikirim ka jaringan sosial dimana aya sési aktip. Ieu kumaha panyerang ngirim spam atas nama pangguna atanapi kéngingkeun palanggan sareng resep. 

    Upami anjeun henteu nganonaktipkeun fitur ieu, panyerang tiasa nempatkeun tombol aplikasi anjeun dina situs anu jahat. Anjeunna tiasa museurkeun program rujukan anjeun atanapi pangguna anjeun.  

    Naon anu kedah diémutan ku pamekar wéb: Kerentanan bisa lumangsung lamun X-Frame-Options kalawan nilai conflicting diatur dina web server atawa load balancer. Dina hal ieu, server na balancer saukur bakal nulis balik lulugu, saprak maranéhna boga prioritas luhur dibandingkeun kodeu backend.  

    Nilai mungkir sareng asal anu sami tina lulugu X-Frame-Options bakal ngaganggu operasi panempo wéb Yandex. Pikeun ngidinan pamakéan iframes pikeun web viewer, Anjeun kudu nulis aturan misah dina setélan. Salaku conto, pikeun nginx anjeun tiasa ngonpigurasikeun sapertos kieu:

    http{
    ...
     map $http_referer $frame_options {
     "~webvisor.com" "ALLOW-FROM http://webvisor.com";
     default "SAMEORIGIN";
     }
     add_header X-Frame-Options $frame_options;
    ...
    }
    
    

  6. PRSSI (Path-relative stylesheet import) vulnerabilities.  

    Ieu mangrupikeun kerentanan dina gaya situs. Ieu lumangsung lamun Tumbu relatif kawas href="/su/somefolder/styles.css/" dipaké pikeun ngakses file gaya. Panyerang bakal ngamangpaatkeun ieu upami aranjeunna mendakan cara pikeun alihan pangguna ka halaman anu jahat. Kaca bakal nyelapkeun tumbu relatif kana url na simulate panggero gaya. Anjeun bakal nampi pamundut sapertos badsite.ru/…/somefolder/styles.css/, anu tiasa ngalakukeun tindakan jahat dina kedok gaya. 

    Naon bahaya: A fraudster bisa mangpaatkeun kerentanan ieu lamun maranéhna manggihan liang kaamanan séjén. Hasilna, kasebut nyaéta dimungkinkeun pikeun maok data pamaké ti cookies atawa tokens.

    Naon anu kedah diémutan ku pamekar wéb: Setel lulugu X-Content-Type-Options ka: nosniff. Dina hal ieu, browser bakal pariksa tipe eusi pikeun gaya. Upami jinisna sanés téks / css, browser bakal meungpeuk pamundut.

kerentanan kritis

  1. Kaca nu mibanda widang sandi dikirimkeun ti server ngaliwatan saluran teu aman (formulir HTML ngandung widang sandi (s) dilayanan ngaliwatan HTTP).

    Réspon ti server dina saluran anu teu énkripsi rentan ka serangan "Man in the middle". Panyerang tiasa ngahalangan lalu lintas sareng ngaganjel diri antara klien sareng server nalika halamanna ngarambat ti server ka klien. 

    Naon bahaya: Penipu bakal tiasa ngagentos halaman sareng ngirim formulir pikeun data rahasia ka pangguna, anu bakal ka server panyerang. 

    Naon anu kedah diémutan ku pamekar wéb: Sababaraha situs ngirim pamaké kode hiji-waktos ku email / telepon tinimbang sandi a. Dina hal ieu, kerentanan henteu kritis, tapi mékanisme bakal ngahesekeun kahirupan pangguna.

  2. Ngirim formulir nganggo login sareng kecap akses dina saluran anu teu aman (Bentuk Login Henteu Dikintunkeun Liwat HTTPS).

    Dina hal ieu, formulir sareng login sareng kecap akses dikirim ti pangguna ka server ngalangkungan saluran anu teu énkripsi.

    Naon bahaya: Teu kawas kasus saméméhna, ieu geus mangrupa kerentanan kritis. Éta langkung gampang pikeun nyegat data sénsitip sabab anjeun henteu kedah nyerat kode pikeun ngalakukeunana. 

  3. Ngagunakeun perpustakaan JavaScript kalawan vulnerabilities dipikawanoh.

    Salila scan, perpustakaan panglobana dipaké nyaéta jQuery kalawan jumlah éksténsif versi. Unggal vérsi ngagaduhan sahenteuna hiji, atanapi langkung, kerentanan anu dipikanyaho. Dampakna tiasa bénten pisan gumantung kana sifat kerentanan.

    Naon bahaya: Aya eksploitasi pikeun kerentanan anu dipikanyaho, contona:

    Dosa maot tina kaamanan situs wéb: naon anu urang pelajari tina statistik scanner kerentanan pikeun taun éta

    Naon anu kedah diémutan ku pamekar wéb: Rutin balik ka siklus nu: neangan vulnerabilities dipikawanoh - ngalereskeun - pariksa. Upami anjeun ngahaja ngagunakeun perpustakaan warisan, contona pikeun ngadukung browser anu langkung lami atanapi nyimpen artos, milarian kasempetan pikeun ngalereskeun kerentanan anu dipikanyaho. 

  4. Cross-site scripting (XSS). 
    Cross-Site Scripting (XSS), atanapi cross-site scripting, mangrupikeun serangan kana aplikasi wéb anu nyababkeun malware diwanohkeun kana pangkalan data. Upami Qualys mendakan kerentanan sapertos kitu, éta hartosna panyerang poténsial tiasa atanapi parantos ngenalkeun skrip js sorangan kana kode situs pikeun ngalakukeun tindakan jahat.

    Disimpen XSS leuwih bahaya, saprak naskah ieu study dina server jeung dieksekusi unggal waktu kaca diserang dibuka dina browser nu.

    XSS ngagambarkeun langkung gampang dilaksanakeun sabab skrip jahat tiasa disuntikkeun kana pamundut HTTP. Aplikasi bakal nampi pamundut HTTP, moal ngesahkeun data, bakal ngarangkep, sareng langsung ngirim. Upami panyerang nyegat lalu lintas sareng ngalebetkeun skrip sapertos

    <script>/*+что+то+плохое+*/</script> 

    lajeng pamundut jahat bakal dikirim atas nama klien.

    Hiji conto keuna XSS: js sniffers nu simulate kaca pikeun ngasupkeun CVC, tanggal béakna kartu, jeung saterusna. 

    Naon anu kedah diémutan ku pamekar wéb: Dina lulugu Kandungan-Kaamanan-Kabijakan, make atribut script-src maksa browser klien pikeun ngan ngundeur tur ngaéksekusi kode ti sumber dipercaya. Contona, script-src 'self' whitelists sadaya Aksara tina situs urang wungkul. 
    Prakték pangsaéna nyaéta kode Inline: ngan ukur ngawenangkeun javascript inline nganggo nilai inline anu teu aman. nilai ieu ngamungkinkeun pamakéan inline js / css, tapi teu nyaram kaasup file js. Dina kombinasi sareng skrip-src 'diri' kami nganonaktipkeun skrip éksternal tina dieksekusi.

    Pastikeun log sadayana nganggo laporan-uri sareng tingali usaha pikeun nerapkeunana kana situs.

  5. suntikan SQL.
    Kerentanan nunjukkeun kamungkinan nyuntikkeun kode SQL kana situs wéb anu ngaksés pangkalan data situs wéb sacara langsung. Suntikan SQL tiasa dilaksanakeun upami data ti pangguna henteu disaring: éta henteu dipariksa leres sareng langsung dianggo dina pamundut. Contona, ieu kajadian lamun formulir dina ramatloka a teu pariksa naha input cocog tipe data. 

    Naon bahaya: Lamun panyerang ngasupkeun query SQL kana formulir ieu, manéhna bisa ngadat database atawa nembongkeun informasi rahasia. 

    Naon anu kedah diémutan ku pamekar wéb: Tong percanten kana naon anu asalna tina browser. Anjeun kedah ngajaga diri anjeun dina sisi klien sareng sisi server. 

    Di sisi klien, nyerat validasi lapangan nganggo JavaScript. 

    Diwangun-di fungsi dina kerangka populér ogé mantuan kabur karakter curiga dina server. Disarankeun ogé ngagunakeun queries database parameterized dina server.

    Nangtukeun dimana persis interaksi jeung database lumangsung dina aplikasi wéb. 

    Interaksi lumangsung nalika urang nampi inpormasi naon waé: pamundut sareng id (robah id), nyiptakeun pangguna énggal, koméntar énggal, atanapi éntri énggal dina pangkalan data. Ieu tempat injections SQL bisa lumangsung. Sanaos urang ngahapus rékaman tina pangkalan data, suntikan SQL tiasa waé.

saran umum

Ulah reinvent kabayang - make frameworks kabuktian. Sakumaha aturan, kerangka populér langkung aman. Pikeun .NET - ASP.NET MVC sareng ASP.NET Core, pikeun Python - Django atanapi Flask, pikeun Ruby - Ruby on Rails, pikeun PHP - Symfony, Laravel, Yii, pikeun JavaScript - Node.JS-Express.js, pikeun Java - Spring MVC.

Turutan apdet vendor sareng apdet rutin. Aranjeunna bakal mendakan kerentanan, teras nyerat eksploitasi, ngajantenkeun umumna, sareng sadayana bakal kajadian deui. Ngalanggan apdet pikeun versi stabil ti vendor software.

Pariksa hak aksés. Dina sisi server, salawasna ngubaran kode anjeun saolah-olah eta, ti mimiti nepi ka hurup panungtungan, ieu ditulis ku musuh paling hated anjeun, who wants to megatkeun situs anjeun, ngalanggar integritas data anjeun. Leuwih ti éta, kadang ieu bener.

Anggo klon, situs uji, teras dianggo pikeun produksi. Ieu bakal mantuan, firstly, pikeun nyingkahan kasalahan jeung kasalahan dina lingkungan produktif: lingkungan produktif mawa duit, lingkungan produktif basajan kritis. Nalika nambihan, ngalereskeun atanapi nutup masalah naon waé, éta patut damel di lingkungan tés, teras pariksa fungsionalitas sareng kerentanan anu dipendakan, teras ngarencanakeun damel sareng lingkungan produksi. 

Jaga aplikasi wéb anjeun nganggo Web aplikasi firewall sareng ngahijikeun laporan ti scanner kerentanan sareng éta. Salaku conto, DataLine nganggo Qualys sareng FortiWeb salaku bungkusan jasa.

sumber: www.habr.com

Tambahkeun komentar