ЭЭМПрограммалоо

SQL сайынуу жолу кандай?

Желеден сайттардын жана баракчалардын саны тынымсыз өсүүдө. ким алат баары өнүктүрүү үчүн кабыл алынган. Жана башталгыч Желе иштеп көбүнчө коопсуз жана эски кодун колдонуу. Ал эми кылмышкер жана кибер этирип көп жаратат. Алар күчтүү. көпчүлүк классикалык аялуу бири - SQL куюуда.

теориясынын бир үзүм

Көптөр тармагында сайттардын жана кызматтардын көпчүлүгү SQL маалыматтар базасы сактоо колдонуп жатат. Бул болсо структураланган талптар тили сиз маалыматтардын сакталышын көзөмөлдөп жана башкара берет. берилиштер базаларын башкаруу системасы базасын ар кандай түрү бар - Oracle, MySQL, никога. Кандай аталышы жана түрү, алар ошол эле суроо дайындарды пайдаланат. Ал мүмкүн болгон аялуу экенин бул жерде. Иштеп туура жана коопсуз талап чече албаса, чабуулчу базасына жетүү үчүн атайын ыкмаларды бул пайда жана колдоно алат, андан кийин - бардык сайт башкаруу.

Мындай жагдайларды алдын алуу үчүн, сиз кодду оптималдаштыруу жана тыгыз бир суроо иштетилүүдө турган бир ыкма менен мониторинг жүргүзүү керек.

SQL-инжектордук, издөө

тармагында бир жардамга муктаж экендигин далилдөө үчүн аягына дардын программалык системалардын бир салмакка ээ. Бирок, бул кол жөнөкөй текшерүүнү ишке ашыруу мүмкүн эмес. Бул үчүн, маалыматтар базасы ката себеп аракет дарек тилкесиндеги жана сыноо сайттардын бирине барып. Мисалы, сайтында скрипт сурамды жана аларды кырка эмес, мүмкүн эмес.

Мисалы, nekiy_sayt / index.php бар? Id = 25

жөнөкөй жолу - илинип кийин 25 коюп, сурам жөнөтүү керек. эч кандай ката, же сайтта жана чыпкасыз болгон болсо, бардык сурамдар туура түзөт, же алардын өндүрүшүнүн орнотуулар өчүрүлгөн. бет кыйынчылыктар менен кайра кабыл алынган болсо, анда SQL-сайылган аялуу болуп саналат.

Анысын билип кийин, балким, андан арылуу үчүн аракет болот.

тууралуу бир аз билебиз, бул аялуу муктаждыгын ишке ашыруу үчүн SQL-суроолор команда. Алардын бири - UNION. Ал бир нече суроо натыйжаларды алып келет салып бири. Ошентип, биз кендердин санын эсептөө мүмкүн. МИСАЛ биринчи талабы болуп саналат:

  • nekiy_sayt / index.php? ID = 25 UNION SELECT 1.

Көпчүлүк учурда, бул жазуу ката пайда керек. Бул тармактарда саны 1ге барабар эмес, ошентип, 1 же көбүрөөк ыкмаларды тандоо, алардын так санын аныктоо мүмкүн эмес экенин билдирет:

  • nekiy_sayt / index.php? ID = 25 UNION SELECT 1,2,3,4,5,6.

ката мындан ары көрүнөт, башкача айтканда, бул талаалардын саны үчүн табышмак дегенди билдирет.

Бул маселе башка чечим бар. Мисалы, көп сандаган талааларынын - 30, 60 же 100 Бул буйрук GROUP BY. мисалы ID үчүн, ар кандай негиздер боюнча бир суроо, бул топтору жыйынтыктар:

  • nekiy_sayt / index.php? ID = 25 GROUP 5.

ката кабыл алына элек болсо, анда талаалары жыйынтыктары 5 Ошентип, бир кыйла кенен чөйрөсү ыкмаларды алмаштыруучу, ал, чынында, аларга канча эсептөө мүмкүн.

Бул мисал SQL-сайынуу жолу - анын сайтында тестирлөөдө өздөрүн сынап көрүүнү каалаган үйрөнчүктөр үчүн. Бул Кылмыш-жаза кодексинин дагы жеткиликтүү беренесине уруксатсыз жетүү үчүн экенин эстен чыгарбоо абзел.

сайынуу негизги түрлөрү

бир нече, актёрдук чеберчилик боюнча SQL-сайыъыз алсыздыгын ишке ашыруу. Кийинки таанымал ыкмалары болуп төмөнкүлөр саналат:

  • UNION суроо SQL сайыъыз. Мындай түрдөгү жөнөкөй мисал Жогоруда карап жатат. Бул чыпкаланган эмес, түшкөн маалыматтарды текшерип, бир катадан ишке ашат.

  • Error негизделген SQL сайынуу жолу. Аталышынан көрүнүп тургандай, бул түрү да синтаксистик туура курамына сөздөрдү жөнөтүп, ката колдонот. Андан кийин SQL-сайма жүзөгө ашырылышы мүмкүн жооп жогорку, талдоого камак бар.

  • Stacked SQL суроолор сайыъыз. Бул аялуу кийинки талаптарын аткаруу менен аныкталат. Бул белги-жылдын жыйынтыгы боюнча кошумча менен мүнөздөлөт ";". артыкчылыктар, аны жол болсо, бул ыкма көп милдеттерди, же иштеп жаткан системасы маалыматтарды жазуу, окуу жана ишке ашырууга мүмкүнчүлүк алуу үчүн ишке ашырылат.

SQL-аялуу издөө үчүн программа

SQL-Сайма барбы, программасы, адатта, эки компонентти бар - Сайт мүмкүн аялуу издөө жана маалыматына уруксат алуу үчүн, аларды пайдалануу. дээрлик бардык белгилүү аянтчалардын үчүн кээ бир куралдар бар. Алардын иштешине абдан сиздин SQL-сайма жаракалар сайтты текшерип көмөктөшөт.

Sqlmap

көпчүлүк маалымат базалары менен иштейт өтө күчтүү сканер. Бул SQL куюуда ишке ашыруунун ар кандай ыкмаларды колдойт. Бул эсеп жазуусу сырсөз таштанды Cracking жана сөздүк түрүн кабыл алуу жөндөмүнө ээ. а сиздин азыркы жана иш билэ жүктөп берип жана жүктөп.

Linux орнотуу буйруктарды колдонуу менен жүзөгө ашырылат:

  • өту клон https://github.com/sqlmapproject/sqlmap.git sqlmap-Dev,
  • cdsqlmap-Dev /,
  • ./sqlmap.py --wizard.

Windows үчүн буйрук сабына жана колдонуу эрежелери менен мүмкүнчүлүгү катары жеткиликтүү.

jSQL инжектордук

jSQL инжектордук - SQL аялуу пайдаланууну текшерүү үчүн кайчылаш-платформа куралы. Java-жылы жазылган, ошондуктан система JRE орнотулушу керек. суроо-талаптар, POST, баш, Маркерлерди туруп чече алат. Бул ыңгайлуу жуурулушуу макамын жазыла элек.

Бул программа топтомун орнотуу төмөнкүчө чагылдырууга болот:

ачуу https://github.com/`curl сатылышы HTTPS: //github.com/ron190/jsql-injection/releases | талаасынын-E епо "/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 "| башчысы-н кесимдер 1

Иштетилиши буйрук Java колдонуу менен Жар ./jsql-injection-v*.jar

SQL-аялуу боюнча сыноочу полигон баштоо үчүн, жогорку жаатындагы дарегин киргизүү талап кылынат. Алар алууга жана өзүнчө болуп саналат. бир оң натыйжа менен колдо столдорду тизмеси сол терезе пайда болот. Сен аларды көрүп жана кээ бир жашыруун маалыматты билүүгө болот.

табулатура "Admin бет" башкаруу курамдарды табуу үчүн колдонулган. ал атайын калыптар аркылуу жөнүндө жазуусу системасы артыкчылык пайдалануучуларга жазылган изилдейт. Алардын ичинен сырсөз эле таштанды ала аласыз. Бирок ал программанын жашигинде жазыла элек.

бардык аялуу жана ийне зарыл сураштырып таап кийин, курал, тескерисинче сиздин же чоюлуп, толтуруу Server жерден жүктөп мүмкүндүк берет.

SQLi Dumper v.7

Бул программа - SQL кемчиликтерди таап жана ишке ашыруу үчүн курал колдонууга жеңил. Ал БУУнун деп аталган Табитанын негизинде чыгарат. Алардын тизмеси Интернеттен тапса болот. Dorca SQL-сайынуу үчүн - Бул издөө боюнча сурамдары атайын калыптар болуп саналат. Алардын жардамы менен, сиз кандай издөө каражаты аркылуу мүмкүн болгон калктын аялуу сайттан таба аласыз.

окутуу үчүн Tools

куралдар атайын эрежелер жок сайтында Itsecgames.com мисал SQL сайма жана аны сынаш үчүн кантип көрсөтүп берет. пайда алыш үчүн, аны жүктөп жана орнотууга керек. Archive сайттын структура делолорун топтомун камтыйт. ал Apache WEB Server комплексин иштеп жаткан системасы керек орнотуу үчүн, MySQL жана PHP.

Желе Server папкага Archive жаюуунар, бул орнотуп жатканда кирип дарекке барып, бар программалык. Колдонуучунун каттоо менен бет. Бул жерде сиздин маалыматты кирип, чыкылдатып "түзүү" зарыл. бир жаңы экранга колдонуучу жылдырылууда система текшерүү иштердин бирин тандоого сага түрткү. Алардын арасында да инжектордук, жана башка тапшырмалардын менен сүрөттөлгөн жок.

It SQL-сайынуу түрү GET / Издөө мисал жөнүндө ойлонуп көргөнү дурус. "Арманым", аны тандап, чыкылдатып Бул жерде сиз керек. Колдонуучу алдында жооп берет, ал эми кино сайттын издөө сабы тууроо. сорттойт, тасмалар көп болушу мүмкүн. Бирок, бир гана 10-Мисалы бар, сен Iron Man кирүүгө аракет болот. Ал бар, кино, анда сайт иштейт, тамак-аш менен көрсөтүлөт. Эми биз атап тырмакча менен, өзгөчө белгилерине жазуусу чыпкалар текшериш керек. Бул үчүн, дарек тилкесинде "кошуу". Мындан тышкары, бул тасманын аталышы кийин жасалууга тийиш. сайт ката Error берем: силер SQL синтаксисинде ката бар; белгиден дагы туура катышкан жок деп айтылат куралын сиздин MySQL Server туура Синтаксис жакын "%" пайдалануу үчүн чыгаруу "сызыгында келет 1, текшерүү. Ошентип, сиз өтүнүч менен алмаштырууга аракет болот. Бирок биз биринчи кендердин санын эсептөө керек. Бул тырмакчага кийин киргизилген, бул үчүн колдонулат: http://testsites.com/sqli_1.php?title=Iron+Man "токтому 2 - & аракет = издөө.

Бул буйрук гана, талаалардын саны жогору 2. караганда эки эсе көп ташымалдоо башка өтүнүчтөр жоюлууга тийиш Server айтып жатат тасмасы жөнүндө маалыматтарды көрсөтөт. Азыр биз көп маанилүүлүгүн коюп, чегарачылар бар ката басылып чыккан эмес эле. Акыр-аягы, ал талаалары болот экен 7.

Азыр ал базанын чыгып пайдалуу бир нерсе алуу үчүн убакыт жетти. бир аз дарек тилкесиндеги суранычын өзгөртө турган бир түрүндө, аны алып: http://testsites.com/sqli_1.php?title=Iron+Man "бирикмеси 1 тандап, маалымат базасы (), колдонуучу (), 4, сырсөз, 6, 7 пайдалануучулардын - & аракет = издөө. аны ишке ашыруу онлайн кызматтардын бири менен түшүнүктүү белгилер айландырылат болот сырсөз Таштандылар менен сап, көрсөтө турган бир натыйжасы катары. Бир кирүүдө менен бир аздан кийин, бир талаа атын алып жатып, сиз мындай сайттын администратору сыяктуу, бирөөнүн киргенден билүүгө жардам берет.

продукт иш жүзүндө турган салмагы түрү сайынуу түрлөрү бар. Бул чыныгы сайттарда тармагында бул көндүмдөрдү колдонуу кылмыш болушу мүмкүн экенин эстен чыгарбаш керек.

Ийне жана PHP

эреже катары, PHP-кодду жана пайдалануучу келген зарыл иштетүү суроо-талаптар үчүн жооптуу болуп саналат. Ошондуктан, бул боюнча сиз PHP менен SQL куюуда каршы коргоого куруу керек.

Биринчиден, ал эмне үчүн зарыл болгон негизинде, бир нече жөнөкөй көрсөтмөлөрдү берем.

  • Маалыматтар ар дайым маалымат базасына жайгаштырылгандыгы чейин иштелип чыгышы керек. Бул азыркы сөздөрдү колдонуп, же кол менен суроо уюштуруу менен гана жасай алат. Бул жерде да, сандык маанилери керек түрү айландырса экенин эске алынууга тийиш;
  • Алыс ар кандай башкаруу структураларын түрткү берди.

Азыр SQL куюуда коргоо үчүн MySQL менен суроо жыйноо эрежелери жөнүндө бир аз.

суроо ар кандай сөздөрдү түзүү ал SQL ачкыч маалыматтарды ажырата үчүн абдан маанилүү болуп саналат.

  • столдун КАЙДА аты = айон тандап *.

ар кандай талаа аты, ошондуктан сиз тырмакчага тиркөөгө керек - күүлөөсүн система айон деп ойлошу мүмкүн.

  • SELECT дасторконумдан * Кайдан аты = 'айон ".

Ошентсе да, наркы да үзүндүлөрдү камтыган учурлар да бар.

  • SELECT дасторконумдан * Кайдан аты = 'Кот ".

Бул жерде бир гана Кот д бир бөлүгүн туура, калганы, албетте, жок, бир команда катары кабыл алууга болот. Ошондуктан, ката пайда болот. Андан кийин тандоо маалыматтарды ушул болуш керек. Бул үчүн, кыйшык колдонуу - \.

  • SELECT дасторконумдан * Кайдан аты = "мышык-д \ 'Ivoire".

Жогоруда айтылгандардын баары катар билдирет. иш-аракет бир нече менен алса, анда ал эч кандай үзүндүлөрдү же көрүнөт муктаж эмес. Бирок, алар күч менен керектүү маалымат түрүнө алып келиши үчүн зарыл керек.

аянтчанын аты backquotes менен чапталууга тийиш сунуштар бар. Бул белгиси тергичтин сол тарапта болсо, бир Жакыяга "~" менен бирге. Бул MySQL так ачкыч талаасында аты айырмалоо мүмкүн экенин камсыз кылуу болуп саналат.

маалыматтар менен динамикалык иш

Көп учурда, ыкчам түзүлгөн суроолор менен маалыматтар базасын, кандайдыр-бир маалыматтарды алуу үчүн. Мисалы:

  • SELECT дасторконумдан * кайдан саны = '$ саны ".

Бул жерде, өзгөрүлмө $ саны талаа наркын аныктоо үчүн өтүп жатат. ал Кот-"кетсе, анда эмне болот? Error.

Бул кыйынчылыктардан качуу үчүн, албетте, Сиз "сыйкырдуу кабарында" орнотууларды камтышы мүмкүн. Бирок азыр маалымат керектүү жана зарыл эмес жерде көрсөтүлөт. Мындан тышкары, коду колу менен жазылган болсо, анда системаны басканы туруштуу түзүү үчүн бир аз көбүрөөк убакыт бөлө алат.

сызык көз карандысыз тышкары үчүн mysql_real_escape_string колдоно аласыз.

$ Саны = mysql_real_escape_string ($ номери);

$ Year = mysql_real_escape_string ($ жыл);

$ Query = "үстөлдүн Жарчысы (саны, жыл, класс) БААЛУУЛУКТАР ( '$ саны', '$ жыл, 11)".

коду жана көлөмүнүн көбөйгөн да, мүмкүн болгон кыйла коопсуз иштей баштаган.

орун

Placeholders - системасы үчүн маркерлер бир түрү болуп, бул үчүн атайын иш-милдетин алмаштыруу керек жай экенин түшүнөт. Мисалы:

$ Мамлекеттик = $ mysqli-> ( "SELECT районунан саны КАЙДА Name =?") Иштеп чыгуу;

$ Sate-> bind_param ( "с", $ номери);

$ Sate-> (ишке);

кодексинин Бул бөлүмдө окутуу талап шаблон анан өзгөрмөлүү катар байлап, жана аны аткарат. Бул ыкма Сиздин суроо кайра иштетүүгө жана анын аткарылышын бөлүп берет. Демек, ал зыяндуу кодексинин пайдалануудан куткарыла алат SQL- болуп саналат.

Эмне чабуулчу мүмкүн

Коргоо системасы - кароосуз мүмкүн эмес, абдан маанилүү. Албетте, жөнөкөй Таанытма сайт калыбына келтирүүгө көмөк кылат. ал чоң портал, кызматы, болуп эсептелет, анда? Эгер сиз коопсуздук жакты ойлогон эмес болсо, кесепети кандай болот?

Биринчиден, бир хакер базасынын да актыгын бузууга жана толугу менен жок болот. Сайттын администратору же Hoster камдык сактоо мүмкүн эмес, анда ал көп кыйынчылыктарга дуушар болот. Баарынан маанилүүсү, зыян, бир сайтты басканы үчүн, ошол эле жүрүш-жылы жайгаштырылган башка бара алат.

Кийинки келгендердин жеке маалыматты уурдоо болуп саналат. Кантип пайдалануу керек - баары бир гана өздөрүн өжөрлүгү менен чектелет. Бирок, кандай болсо дагы, кесепети абдан жагымдуу болот. Айрыкча, анда каржылык маалымат камтылган.

Ошондой эле, анда митаамдар Database ойлонуп бириктирилген жана аны кайтаруу үчүн акча талап кыла алат.

Сайттын администратору атынан натуура колдонуучулар, алар болгон эмес, адам да мүмкүн алдамчылык жагдайлар терс кесепеттери болушу мүмкүн.

жыйынтыктоо

Бул макалада бардык маалыматтар маалымдоо максатында гана берилет. бир гана аялуу аныктаганда, өз долбоорлорун сыноо жана аларды чечүү үчүн керек болот.

SQL-каталарды жүргүзүү үчүн кандай ыкмалар кыйла кылдат изилдөө, ал SQL тили иш жүзүндө изилдөө мүмкүнчүлүктөрү жана өзгөчөлүктөрү менен баштоо керек. түзүлөт, суроолордун, ачкыч, маалымат түрлөрү, ошондой эле анын ар кандай пайдалануу.

Ошондой эле, PHP жана HTML элементтери милдеттерин ишин түшүнүү мүмкүн эмес. Сайма аялуу упайлар негизги колдонуу - адрестик сапка, ошондой эле ар кандай издөө тармагында. PHP иш-үйрөнүү, ишке ашыруу жана өзгөчөлүктөр ыкмасы катасын кайталабаш үчүн эмне амал кылат.

көп даяр программалык куралдар болушу сайт белгилүү болгон кемчиликтери жөнүндө кылдат талдоого мүмкүндүк берет. таанымал буюмдардын бири - эсеге Linux. сайт күч комплекстүү талдоо жүргүзүү мүмкүн каражаттарды жана программаларды көп сандаган камтыган Linux негизинде иштеп жаткан системасы, ушул сүрөт.

Эмне сайтты бузуп кантип билүү керек? Бул абдан жөнөкөй - бул долбоор же сайт болуучу аялуу кабардар болушу зарыл. төлөм маалыматтар чабуулчу доо болот онлайн төлөө менен онлайн дүкөнү өзгөчө.

учурдагы маалыматтык коопсуздук кызматкерлери кесиптик изилдөө үчүн критерийлер жана канчалык ар кандай сайтты текшерип алат. жөнөкөй HTML-сайма жана коомдук инженердик жана жаздыруу баштадыбы.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ky.unansea.com. Theme powered by WordPress.