Komputer, Programming
What is the suntikan SQL?
Jumlah situs na kaca dina web ieu tumuwuh steadily. Dicokot pikeun ngembangkeun sakabeh jalma anu bisa. Sarta pamekar Web novice sering nganggo sandi unsafe tur heubeul. Sarta eta nyiptakeun loba loopholes pikeun penjahat na hacker. Ti aranjeunna. Salah sahiji vulnerabilities paling Palasik - SQL-suntik.
A bit teori
Loba jalma terang yen mayoritas situs na jasa dina jaringan nu ngagunakeun neundeun database SQL. Ieu basa query terstruktur nu ngidinan Anjeun pikeun ngadalikeun jeung ngatur neundeun data. Aya loba versi béda tina database sistem manajemen database - Oracle, MySQL, Postgre. Paduli nami na tipe, aranjeunna ngagunakeun data query sami. Ieu di dieu yén perenahna potensi kerentanan. Mun pamekar nu gagal pikeun nanganan leres tur aman menta, hiji lawan bisa ngamangpaatkeun ieu sareng nganggo taktik husus mangtaun aksés ka Cikajang, lajeng - jeung ka sakabeh manajemén situs.
Ulah aya situasi sapertos, Anjeun kedah leres ngaoptimalkeun kode jeung keur nangkep raket di luhur nu hiji pamundut keur diprosés.
Pariksa keur SQL-suntik
Pikeun ngadegkeun ayana kerentanan dina jaringan ngabogaan beurat sistem software otomatis réngsé. Tapi kasebut nyaéta dimungkinkeun pikeun ngalakonan cek basajan sacara manual. Jang ngalampahkeun ieu, buka salah sahiji situs test na dina palang alamat nyoba ngabalukarkeun kasalahan database. Contona, hiji naskah nu aya dina situs nu teu tiasa ngadamel pamenta jeung ulah motong aranjeunna.
Contona, aya nekiy_sayt / index.php? Id = 25
Cara panggampangna - nempatkeun 25 sanggeus cutatan jeung ngirim pamenta ka. Mun euweuh kasalahan lumangsung, boh dina situs na filter sadayana requests anu diatur neuleu, atawa geus ditumpurkeun dina setélan tina kaluaran maranéhanana. Mun kaca ieu reloaded jeung masalah, mangka kerentanan kana SQL-suntik anu.
Sanggeus manehna kapanggih kaluar, anjeun tiasa nyobian meunang leupas tina eta.
Pikeun nerapkeun kedah kerentanan ieu uninga saeutik ngeunaan tim SQL-queries. Salah sahijina - Uni. Ieu ngahimpun sababaraha hasil query kana salah. Sangkan bisa ngitung jumlah sawah dina méja. Conto pamundut heula nya:
- nekiy_sayt / index.php? id = 25 Uni MILIH 1.
Dina kalolobaan kasus, catetan ieu kudu ngahasilkeun kasalahan. Ieu ngandung harti yén jumlah sawah teu sarua jeung 1. Jadi, milih pilihan tina 1 atanapi leuwih gede, kasebut nyaéta dimungkinkeun pikeun ngadegkeun angka pasti maranéhna:
- nekiy_sayt / index.php? id = 25 Uni MILIH 1,2,3,4,5,6.
Hartina, lamun kasalahan éta moal panjang némbongan, éta hartina Jumlah widang nebak.
Aya ogé hiji solusi alternatif pikeun masalah ieu. Contona, nalika angka nu gede ngarupakeun widang - 30, 60 atawa 100. Ieu parentah Grup ku. Ieu grup hasil pamundut on wae grounds, contona id:
- nekiy_sayt / index.php? id = 25 grup ku 5.
Lamun kasalahan teu acan nampi, lajeng huma leuwih ti 5. Ku kituna, pilihan ngaganti ti rentang cukup lega, kasebut nyaéta dimungkinkeun pikeun ngitung sabaraha loba di antarana sabenerna.
Ieu conto SQL-suntik - pikeun beginners anu hoyong nyobaan sorangan dina nguji loka na. Kadé inget yen pikeun aksés diidinan pikeun artikel séjén disadiakeun ti KUHP.
Jenis utama suntik
Nerapkeun kerentanan ku SQL-suntik di sababaraha embodiments. Salajengna nu metodeu nu pang populerna:
Uni pamundut nu SQL suntik. Hiji conto basajan tina tipe ieu geus kungsi nalungtik luhur. Hal ieu sadar alatan kasalahan dina mariksa data asup, nu teu disaring.
Kasalahan basis SQL suntik. Sakumaha ngaranna ngakibatkeun, jenis ieu ogé migunakeun kasalahan, ngirim ungkapan diwangun syntactically lepat. Lajeng aya nu interception sahiji headers respon, analisa nu bisa dilumangsungkeun engké SQL-suntik.
Tumpuk queries nu SQL suntik. kerentanan ieu ditangtukeun ku ngajalankeun requests saterusna. Hal ieu dicirikeun ku tambahan di tungtung tanda ";". pendekatan ieu mindeng dilaksanakeun ngakses palaksanaan maca jeung nulis data atawa sistem operasi fungsi, upami statusna ngidinan eta.
Software pikeun néangan SQL-vulnerabilities
Aya keur SQL-suntik, program biasana boga dua komponén - situs anu seken pikeun mungkin vulnerabilities jeung dipake ku maranehna mangtaun aksés ka data. Aya sababaraha parabot pikeun platform ampir kabéh dipikawanoh. fungsionalitas maranéhanana greatly facilitates mariksa ramatloka pikeun rengat SQL-suntik Anjeun.
Sqlmap
scanner anu pohara kuat anu hade jeung paling basis data. Ieu ngarojong rupa metode palaksanaan SQL-suntik. Eta mibanda kamampuhan pikeun otomatis ngakuan tipe sandi Hash cracking na kamus. Hadir tur fungsional unggah berkas tur ngundeur ti server a.
Instalasi dina Linux Ubuntu anu dipigawé ngagunakeun Paréntah:
- séwang clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev,
- cdsqlmap-dev /,
- --wizard ./sqlmap.py.
Pikeun Windows anu sadia minangka pilihan kalayan garis paréntah sarta panganteur pamaké grafis.
jSQL suntik
jSQL suntik - alat cross-platform keur nguji pamakéan vulnerabilities SQL. Ditulis dina Java, jadi sistem kudu dipasang JRE. Tiasa ngadamel meunang requests, POST, lulugu, cookie. Mibanda panganteur grafis merenah.
Pamasangan pakét software ieu nyaéta saperti kieu:
wget https://github.com/`curl -s HTTPS: //github.com/ron190/jsql-injection/releases | grep-E -o '/ron190/jsql-injection/releases/download/v[0-9]{1,2}.[0-9]{1,2}/jsql-injection-v[0-9] . {1,2} [0-9] {1,2} .jar '| sirah-n 1`
Launching nyaéta ku maké paréntah jawa -jar ./jsql-injection-v*.jar
Dina urutan pikeun ngamimitian situs test dina SQL-kerentanan, anjeun kudu ngasupkeun alamat dina widang luhur. Aranjeunna misah pikeun meunang na POST. Kalawan hasil positif, daptar tabel sadia bakal muncul dina jandela ditinggalkeun. Anjeun tiasa nempo éta sarta diajar sababaraha émbaran rahasia.
tab «Kaca Admin» dipaké pikeun manggihan panels administrasi. Di dinya ku cara maké témplat husus otomatis maluruh sistem rékaman pamaké bencong. Ti aranjeunna bisa meunang ngan hiji Hash tina sandi éta. Tapi manehna boga di Musieum program.
Saatos nyungsi sagala vulnerabilities na suntik inquiries perlu, alat bakal ngidinan pangladen ka eusian file anjeun atanapi, Sabalikna, diundeur tina dinya.
SQLi Dumper v.7
program ieu - gampang ngagunakeun alat pikeun nyungsi jeung ngalaksanakeun vulnerabilities SQL. Ieu ngahasilkeun PBB ieu dumasar kana nu disebut Dorcas. daftar maranéhanana bisa kapanggih dina Internet. Dorca pikeun SQL-suntik - ieu témplat husus tina queries pilarian. Kalayan pitulung maranéhna, anjeun tiasa manggihan loka berpotensi rawan ngaliwatan sagala search engine.
Parabot keur latihan
Itsecgames.com dina situs aya hiji set husus tina parabot anu ngamungkinkeun conto nembongkeun kumaha carana do SQL suntik na nguji éta. Dina raraga kauntungan, perlu pikeun ngundeur tur masangkeunana. arsip ngandung sakumpulan koropak, nu struktur loka. Masang deui bakal butuh di Sistim aya tina susunan Apache web server, MySQL na PHP.
Ngabongkar arsip dina folder web server, Anjeun kudu buka alamat diasupkeun lamun masang ieu software. Hiji halaman kalawan pendaptaran pamaké. Di dieu anjeun kudu ngasupkeun informasi Anjeun teras klik «Jieun». Pindah pamaké ka layar anyar, sistem nyarankeun Anjeun pikeun milih salah sahiji kasus uji. Di antarana aya duanana digambarkeun ku suntikan, sarta loba barang test lianna.
Eta sia tempo conto tipe SQL-suntik meunang / Search. Di dieu Anjeun kudu milih deui teras klik «Hack». Sateuacan pamaké bakal muncul, sarta katara pilarian string of situs pilem. Pikeun nyortir pilem tiasa panjang. Tapi aya ukur 10. Contona, anjeun tiasa nyobian nuliskeun Beusi Man. Bakal nunjukkeun film, teras situs nu gawéna, sarta tabél eta ngandung. Ayeuna kami kudu mariksa lamun mamah karakter husus Aksara, dina cutatan nu tangtu. Jang ngalampahkeun ieu, nambahan 'dina palang alamat ". Leuwih ti éta, ieu kudu dipigawe sanggeus judulna pilem urang. situs bakal masihan hiji Kasalahan kasalahan: Anjeun gaduh kasalahan dina rumpaka SQL anjeun; pariksa manual nu pakait jeung versi server MySQL Anjeun pikeun rumpaka katuhu ngagunakeun deukeut '%' 'dina garis 1, anu nyatakeun yén karakter masih teu diatur neuleu. Ku kituna bisa nyoba ngagantikeun pamundut anjeun. Tapi urang kudu ngitung jumlah widang. Hal ieu dipaké pikeun urutan ku nu geus diwanohkeun sanggeus tanda petik: http://testsites.com/sqli_1.php?title=Iron+Man 'urutan ku 2 - & Peta = search.
Ieu parentah wungkul mintonkeun informasi ngeunaan pilem, nyaeta, jumlah tina widang anu gede ti 2. hyphen ganda ngabejaan ka server yén requests sejenna kudu dipiceun. Ayeuna kami kudu nyortir kaluar, putting ngaronjatkeun pentingna salami kasalahan henteu dicitak. Tungtungna, tétéla yén widang bakal 7.
Kiwari éta waktu pikeun meunangkeun hal mangpaat kaluar tina dasarna. Bakal rada ngaropéa pamundut dina bar alamatna, bringing ka bentuk: Rugbi http://testsites.com/sqli_1.php?title=Iron+Man 'pilih 1, database (), pamaké (), 4, sandi, 6, 7 ti nu - & peta = search. Salaku hasil tina palaksanaan na bakal mintonkeun string jeung hashes sandi, nu bisa gampang dirobah jadi lambang kaharti ngagunakeun salah sahiji layanan online. A conjured saeutik tur ngajemput ngaran widang kalayan login a, anjeun tiasa mangtaun aksés ka Éntri batur, kayaning admin loka éta.
produk ngabogaan jenis suntik spésiés beurat, dina nu prakna. Eta kudu inget yén aplikasi kaahlian ieu dina jaringan dina loka nyata bisa janten ngalanggar kriminal.
Suntik na PHP
Salaku aturan, nu PHP-kode jeung tanggung jawab ka requests processing perlu datang ti pamaké. Ku alatan éta, dina tingkat ieu anjeun kudu ngawangun hiji pertahanan ngalawan SQL-suntik di PHP.
Heula, hayu urang masihan hiji tungtunan mudah, dina dasar nu perlu pikeun ngalakukeunana.
- Data kudu salawasna diolah saméméh keur ditempatkeun kana databés. Ieu bisa dilakukeun boh ku ngagunakeun ungkapan aya, atawa ku pangatur queries sacara manual. Di dieu, teuing, kudu tumut kana akun yén nilai numerik nu dirobah kana jenis anu diperlukeun;
- Dihindari ditanya rupa struktur kontrol.
Ayeuna saeutik ngeunaan aturan compiling queries dina MySQL ngajaga ngalawan SQL-suntik.
Dina teken nepi ungkapan wae mun pamundut hal anu penting pikeun misahkeun data tina kecap konci SQL.
- MILIH * FROM tabel WHERE ngaran = Zerg.
Dina konpigurasi ieu, sistem bisa mikir yén Zerg - nami widang naon, jadi Anjeun kudu ngalampirkeun eta dina tanda petik.
- MILIH * FROM tabel WHERE ngaran = 'Zerg'.
Sanajan kitu, aya kali nalika nilai sorangan ngandung tanda petik.
- MILIH * FROM tabel WHERE ngaran = 'Basisir Gading'.
Di dieu ukur nanganan bagian tina Basisir d, sarta sésana bisa katarima salaku tim, anu, tangtosna, moal. Ku alatan éta, kasalahan lumangsung. Satuluyna anjeun perlu nanaon ieu data screening. Jang ngalampahkeun ieu, migunakeun backslash a - \.
- MILIH * FROM tabel WHERE ngaran = 'ucing-d \' Ivoire '.
Kabéh di luhur nujul kana barisan. Lamun aksi lumangsung kalawan jumlah hiji, teras teu kedah sagala tanda petik atawa slashes. Sanajan kitu, maranéhanana kudu diperlukeun pikeun forcibly ngakibatkeun tipe data nu dipikahoyong.
Aya saran yén ngaran widang kudu enclosed di backquotes. simbol ieu dina sisi kénca keyboard nu marengan hiji tilde "~". Hal ieu keur ngayakinkeun yen MySQL akurat bisa ngabedakeun ngaran lapangan ti keyword Anjeun.
Karya dinamis jeung data
Mindeng pisan, nepi ka meunang data wae ti database maké queries, dihasilkeun dinamis. Contona:
- MILIH * FROM tabel WHERE Jumlah = '$ angka'.
Di dieu, dina $ angka variabel disalurkeun sakumaha nangtukeun nilai lapangan. Naon nu bakal kajadian mun nya meunang 'Basisir Gading'? Kasalahan.
Ulah aya gangguan ieu, tangtu, anjeun tiasa kaasup "tanda petik magic" setélan. Tapi kiwari data bakal diayak mana perlu teu perlu. Sajaba ti éta, lamun kode nu ditulis ku leungeun, anjeun tiasa méakkeun saeutik leuwih waktos keur nyieun tahan ka cracking sistem sorangan.
Pikeun tambahan bebas tina slash a tiasa make mysql_real_escape_string.
$ Jumlah = mysql_real_escape_string ($ angka);
$ Taun = mysql_real_escape_string ($ taun);
$ Pamundut = "ngalebetkeun kana tabel (jumlah, sataun, kelas) nilai ( '$ angka', '$ sataun', 11)".
Sanajan kodeu jeung ngaronjat dina kekembangan, acan berpotensi eta bakal dianggo teuing aman.
pananda tempat
Pananda tempat - jenis spidol nu sistem sadar yen ieu teh tempat nu peryogi ngagantikeun fungsi husus. Contona:
$ Saté = $ mysqli-> nyiapkeun ( "District milih tina Jumlah WHERE Ngaran =?");
$ Sate-> bind_param ( "s", $ angka);
$ Sate-> ngaéksekusi ();
bagian ieu kode nyokot latihan pamundut template lajeng ngiket jumlah variabel, sarta executes eta. pendekatan ieu ngidinan Anjeun pikeun dibeulah ngolah query sarta palaksanaan na. Ku kituna, bisa disimpen tina pamakéan kode jahat anu SQL-.
Naon meureun hiji lawan
System panyalindungan - faktor pohara penting, nu teu bisa neglected. Tangtu, situs kartu bisnis basajan bakal gampang balikkeun. Tur upami eta mangrupakeun portal badag, jasa, forum? Naon konsékuansi lamun teu mikir ngeunaan kaamanan?
Kahiji, hacker bisa megatkeun integritas duanana base jeung ngaleupaskeun sagemblengna. Tur upami administrator loka atawa hoster henteu nyieun cadangan, Anjeun kudu kali teuas. Luhureun sadaya, hiji jelema nu ngacow, cracking situs tunggal, bisa balik ka séjén dipasang dina server anu sarua.
Hareup teh maling informasi pribadi nu datang. Kumaha ngagunakeun - sagalana diwatesan ukur ku imajinasi hacker. Tapi dina sagala hal, konsékuansi moal jadi pisan pikaresepeun. Utamana lamun ngandung émbaran finansial.
Ogé, lawan nu bisa ngagabung database diri lajeng extort duit na balik deui.
pamaké Misinformation atas nama administrator loka, baé maranéhna teu kabawa, ogé bisa jadi konsekuensi négatip sabisa fakta panipuan.
kacindekan
Sadaya inpo di artikel ieu disadiakeun pikeun tujuan informational wungkul. Paké eta ngan kudu nguji proyék-proyék maranéhanana sorangan lamun eta ngadeteksi vulnerabilities jeung alamat aranjeunna.
Pikeun ulikan leuwih di-jerona teknik cara ngalaksanakeun SQL-suntik, perlu ngamimitian ku kamampuhan ieu panalungtikan sabenerna sarta fitur tina basa SQL. Salaku queries disusun, kecap konci, jenis data, sarta pamakéan eta sadayana.
Ogé teu bisa ngalakukeun tanpa pamahaman operasi PHP jeung elemen HTML fungsi. Pamakéan primér titik rawan pikeun suntik - hiji garis alamatna, sarta sagala rupa widang teangan. Diajar fungsi PHP, metoda palaksanaan na fitur bakal angka kaluar kumaha carana ulah kasalahan.
Ayana loba parabot software siap-dijieun ngawenangkeun keur di-jero analisis dina vulnerabilities situs dipikawanoh. Salah sahiji produk pang populerna - Kali linux. Ieu gambar tina sistem operasi basis Linux Ubuntu, anu ngandung angka nu gede ngarupakeun parabot sarta program nu bisa ngalakonan analisa komprehensif kakuatan situs.
Naon nu peryogi kauninga kumaha hack loka? Ieu pisan basajan - perlu jadi sadar tina vulnerabilities potensi proyék anjeun atanapi ramatloka. Utamana lamun éta toko online kalayan mayar online, mana data mayar pamaké bisa compromised ku hiji lawan.
Pikeun nalungtik profésional tina tanaga kaamanan informasi nu aya bakal tiasa pariksa kaluar situs pikeun rupa-rupa kriteria na jero. Dimimitian ti basajan HTML-injections jeung ka rékayasa sosial sarta phishing.
Similar articles
Trending Now