КомпьютерПрограмчлалын

SQL нь шахах гэж юу вэ?

газрууд болон вэб дээр Хуудасны тоо тогтвортой өсч байна. хэн болох бүх хүмүүст хөгжүүлэх авсан. Харин шинэхэн Вэб хөгжүүлэгчид нь ихэвчлэн аюултай болон хуучин кодыг ашиглана уу. Мөн энэ нь гэмт ба хакерууд цоорхой маш их бий болгож байна. тэд харьцуулшгүй. SQL шахаж - Хамгийн сонгодог эмзэг нэг.

онолын А хэсэг

Олон хүмүүс сүлжээнд сайт, үйлчилгээний ихэнх нь SQL өгөгдлийн сан хадгалах ашиглаж байгаа гэдгийг би мэднэ. Энэ нь юм Structured Query Language та өгөгдлийг хадгалах хянах, удирдах боломжийг олгоно. Oracle, MySQL, бааз - өгөгдлийн сангийн менежментийн систем нь мэдээллийн санг олон янзын хувилбарууд байдаг. Ямар ч нэр, төрөл, тэд нэг хайлтын мэдээллийг ашигладаг. Энэ нь болзошгүй эмзэг байдлыг худал гэдгийг энд байна. хөгжүүлэгч зөв зохицуулах, аюулгүй хүсэлт чадаагүй бол, халдагч энэ давуу талыг ашиглах боломжтой, мэдээллийн санд хандах боломжийг олж авах, дараа нь тусгай тактик хэрэглэх - бүх сайтын удирдлагад.

Ийм нөхцөл байдлаас зайлсхийхийн тулд, та зөв кодыг оновчтой болгохын тулд, ямар нэгэн хүсэлт боловсруулж байгаа байдлаар нягт хяналт тавих хэрэгтэй.

SQL шахаж шалгах

сүлжээн дэх эмзэг байгааг тогтоох нь дууссан автомат програм хангамжийн систем нь жин байдаг. Гэхдээ энэ нь гараар энгийн чек явуулах боломжтой юм. Үүнийг хийхийн тулд туршилтын талбайд нэг явж, хаягийн мөрөнд мэдээллийн сан алдаанд хүргэж оролдох. Жишээ нь, газар дээр нь скрипт хүсэлтийг ажиллаж чадахгүй, тэднийг обудтай байна.

Жишээ нь / index.php тэнд nekiy_sayt? 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 = 5 BY 25 GROUP.

Хэрвээ алдаа хүлээн аваагүй, дараа нь 5 талбарууд нь илүү Тиймээс нэлээн өргөн хүрээний тохируулгуудтай орлох, хэрэв боломжтой үнэндээ тэдний хичнээн тооцох явдал юм.

Энэ жишээ нь SQL-тарилгын - өөрийн сайтын туршилт өөрсдийгөө хүсэж эхлэн. Энэ нь Эрүүгийн хуулийн өөр нэг байгаа зүйлийн хууль бусаар хандах нь гэдгийг санах нь чухал юм.

Тариа гол төрөл

хэд хэдэн embodiments нь SQL-тарина эмзэг байдлыг хэрэгжүүлэх. Дараагийн хамгийн түгээмэл аргууд нь:

  • UNION хайлт SQL тарилга. Энэ төрлийн энгийн жишээ нь дээр дурдсан аль хэдийн судалж байна. Энэ улмаас ирж байгаа өгөгдөл, шүүх биш юм шалгах нь алдаа хэрэгжээд байна.

  • Алдаа суурилсан SQL шахах. Нэрнээс нь харахад энэ төрөл нь алдаа, өгүүлбэр зүйн хувьд буруу зохиосон илэрхийлэл илгээх ашигладаг. Дараа нь хариу толгой, дүн шинжилгээ дараа нь SQL-тариа хийж болно замаас байна.

  • Овоолсон SQL асуулга тариа. Энэ нь эмзэг дараалсан хүсэлтийг гүйцэтгэх тодорхойлогдоно. Энэ тэмдэг эцэст гадна байгаа нь онцлог юм ",". Энэ арга нь ихэвчлэн эрх ямба үүнийг зөвшөөрөх юм бол, уншиж, мэдээллийг бичих болон үйлдлийн системийн үйл ажиллагааны хэрэгжилтийг хандахын тулд хэрэгжүүлж байна.

SQL-эмзэг хайх Програм хангамж

SQL шахаж тэнд юу, хөтөлбөр нь ихэвчлэн хоёр бүрэлдэхүүн хэсэгтэй байна - сайт боломжтой эмзэг хайх болон өгөгдөлд хандах боломжийг олж тэднийг ашиглаж байна. бараг бүх мэдэгдэж байгаа тавцангуудын хувьд зарим нэг арга хэрэгсэл байдаг. Тэдний ажиллагаа маш таны SQL-тариа эвдсэн вэб сайтад шалгах дэмжлэг үзүүлдэг.

Sqlmap

Маш хүчтэй нь скан хийгчийн хамгийн их мэдээллийн сан хамтран ажилладаг. Энэ нь SQL шахаж хэрэгжүүлэх янз бүрийн арга дэмждэг. Энэ нь автоматаар нууц үг хэш хагарал ба толь төрлийг таних чадвартай байдаг. сервер өнөөгийн болон үйл ажиллагааны файл байршуулах болон татаж авах.

Линукс дээр суулгах тушаалыг ашиглан хийж болно:

  • Git хуулбар https://github.com/sqlmapproject/sqlmap.git sqlmap-ГАЖ,
  • cdsqlmap-ГАЖ /,
  • ./sqlmap.py --wizard.

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

jSQL Тарилгын

jSQL Тарилгын - SQL эмзэг хэрэглээг шалгах нь хөндлөн тавцан хэрэгсэл юм. Java дээр бичигдсэн, тэгэхээр системийн JRE суулгасан байх шаардлагатай. хүсэлт, шуудан, толгой, күүки GET ажиллах чадвартай. Энэ нь тохиромжтой график интерфэйсийг байна.

дараах байдлаар энэ програм хангамжийн багц суулгах юм:

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 "| толгой-н 1`

Харвах -jar ./jsql-injection-v*.jar тушаал Java ашиглах явдал юм

SQL-эмзэг дээр туршилтын сайтад эхлэх тулд та дээд салбарт хаягаа оруулах хэрэгтэй. Тэд авах, шуудан, тусдаа байдаг. Эерэг үр дүн нь боломжтой хүснэгтийн жагсаалт зүүн цонх гарч ирнэ. Та тэднийг харж, зарим нэг нууц мэдээллийг сурч болно.

таб «Админ хуудас» захиргааны хавтан олохын тулд хэрэглэдэг. Энэ нь тусгай маягтын аргаар автоматаар систем зөвшөөрөгдөөгүй хэрэглэгчдэд тэмдэглэсэн хайдаг. Тэдний эхлэн та нууц үг нь зүгээр л нэг чагт авч болно. Гэхдээ тэр хөтөлбөрийн Хэрэгслийн хайрцаг дахь байна.

Бүх эмзэг байдал ба шахах шаардлагатай лавлагаа олоход дараа хэрэгсэл сервер нь таны файл бөглөх, эсвэл эсрэгээр тэндээс татаж авах боломжийг танд олгоно.

SQLi Dumper V.7

Энэ програм нь - хялбар SQL эмзэг байдлыг олж, хэрэгжүүлэх арга хэрэгсэл ашиглах нь. Энэ нь НҮБ-ын Доркас гэж нэрлэгддэг дээр үндэслэсэн үйлдвэрлэж байна. Тэдний жагсаалтыг Интернет дээр олж болно. SQL-тарилгын Dorca - Эдгээр хайлтын асуулгуудад тусгай загварууд байдаг. тэдний тусламжтайгаар та ямар ч хайлтын систем дамжуулан болзошгүй эмзэг газрыг олж болно.

сургалт арга хэрэгсэл

Itsecgames.com газар дээр нь жишээ нь SQL Injection хэрхэн хийх, түүнийг шалгах харуулж байна олгодог хэрэгсэл нь тусгай багц байдаг. ашиг тулд, энэ нь татаж авах болон суулгах шаардлагатай байна. архив файл багц, сайтын бүтэц юм байна. суулгахын тулд Apache вэб сервер, MySQL болон PHP багц одоогийн системд хэрэгтэй болно.

нь вэб сервер хавтсанд Архив задлах, та энэ суулгаж байх үед орж ирсэн хаяг руу явах хэрэгтэй програм. хэрэглэгчийн бүртгэл бүхий хуудас. Энд та өөрийн мэдээллээ оруулж, «бий» дарна хэрэгтэй. Шинэ дэлгэцэн хэрэглэгч хөдөлж, системийн тестийн нэг сонгохын тулд та хүлээх. Тэдний дунд аль аль нь тарилга болон бусад олон дээжинд тодорхойлсон байдаг.

Энэ нь SQL-шахах төрөл GET / хайлт жишээг харгалзан үнэ цэнэтэй юм. Энд та үүнийг сонгож, «Hack» дарна хэрэгтэй. Өмнө нь хэрэглэгчийн гарч ирэх болно, мөн кино сайтын хайлтын мөр дуураймал. кино нь ангилахын тулд урт байж болно. Гэхдээ зөвхөн 10. Жишээ нь байдаг, та Iron Man орж оролдож болох юм. Энэ кино, дараа нь сайт ажил, ширээ нь агуулсан харуулж болно. Одоо бид тодорхой хэлсэн нь, тусгай тэмдэгт скрипт шүүлтүүр эсэхийг нь шалгах хэрэгтэй. Үүнийг хийхийн тулд хаягийн мөрөнд нэмнэ "." Түүнчлэн энэ киноны нэр нь дараа хийх ёстой. сайт нь алдаа алдаа өгөх болно: Та SQL синтакс нь алдаа байх; шугамын 1 тэмдэгтүүд нь ч зөв шийдвэр гараагүй байна гэж заасан үед ойролцоо '%' ашиглах "зөв синтаксын талаар таны MySQL сервер хувилбар харгалзана гарын авлагаас шалгаарай. Тэгэхээр та өөрийн хүсэлтийг орлуулж оролдож болох юм. Гэхдээ бид эхлээд талбайн тоог тооцоолох ёстой. & Арга хэмжээ = хайх - 2-http://testsites.com/sqli_1.php?title=Iron+Man "зэрэг: Энэ ишлэл дараа танилцуулж байна энэ зорилгоор, ашиглаж байна.

Энэ тушаал нь зөвхөн кино, байна, салбарын тоо хоёр дахин зураас их 2. бусад хүсэлтийг нь цуцлагдах ёстой серверийг хэлдэг юм талаарх мэдээллийг харуулна. Одоо бид урт алдаа хэвлэсэн биш юм шиг нэмэгдүүлэх ач холбогдлыг тавих, цэгцэлж байна. Эцэст нь хэлэхэд, энэ талбар 7 байх болно гэж болж байна.

Одоо суурь гарч ашигтай ямар нэг юм авах цаг нь болсон. бага зэрэг хүсэлтийг хаягийн мөрөнд нь хэлбэр уруу авчрах өөрчилж болно: http://testsites.com/sqli_1.php?title=Iron+Man "холбоо сонгоно 1, өгөгдлийн сан хэрэглэгч () (), 4, нууц үг, 6, 7 хэрэглэгчдийн - & үйлдэл = хайлт. түүнийг хэрэгжүүлэх нууц үг hashes амархан онлайн үйлчилгээний аль нэгийг ашиглан ойлгомжтой тэмдэг болон хувирах боломжтой бүхий мөрийг харуулах байсан үр дүнд. А бага зэрэг conjured ба та ийм сайтын админаас шиг өөр хэн нэгний нэвтрэх хандах боломжийг олж авах болно нэвтрэх нь хээрийн нэр өссөн байна.

бүтээгдэхүүн нь жин зүйл шахах төрлийн дадлага хийх нь дээр байдаг. Энэ нь бодит сайт дээр сүлжээнд эдгээр ур чадварууд хэрэглээ нь эрүүгийн гэмт хэрэг байж болно гэдгийг санаж байх хэрэгтэй.

Тарилгын болон PHP

Дүрэм, PHP-код болон хэрэглэгчид ирж шаардлагатай боловсруулах хүсэлтийг үүрэгтэй. Тиймээс энэ түвшинд та PHP-д SQL-тарилга эсрэг хамгаалалт бий болгох хэрэгтэй байна.

Эхлээд нь ингэх нь зайлшгүй шаардлагатай үндсэн дээр хэд хэдэн энгийн удирдамжийг өгч байна гэв.

  • Мэдээллийн үргэлж мэдээллийн санд байрлуулж өмнө боловсруулсан байх ёстой. Энэ нь одоо байгаа үг хэллэг ашиглан эсвэл гараар асуулга зохион байгуулж бас хийж болно. Энд ч бас тоон утгуудыг төрөл шаардлагатай байна хөрвөхөд гэдгийг анхааралдаа авах ёстой;
  • Зайлсхийх янз бүрийн хяналтын бүтэц хүргэсэн.

Одоо SQL шахаж хамгаалах MySQL-д асуулга хөрвүүлж журмын талаар бага.

асуух ямар ч үг хэллэг дээр зураг зурах энэ нь SQL түлхүүр мэдээллийг тусад нь чухал юм.

  • Ширээн WHERE нэр = Zerg сонго *.

аль ч салбарт нэр, тийм болохоор та ишлэл үүнийг хавсаргах хэрэгтэй - энэ тохиргоонд систем нь Zerg гэж бодож болох юм.

  • SELECT * ширээн дээр хаанаас нэр = 'Zerg ".

үнэ цэнэ нь өөрөө үнийн агуулсан үед Гэсэн хэдий ч удаа байдаг.

  • SELECT * ширээн дээр хаанаас нэр = 'Зааны ясан эрэг ".

Энд зөвхөн Кот хэсгийг зохицуулах, үлдсэн хэсэг нь баг, мэдээж биш гэж ойлгож болно. Тиймээс алдаа гардаг. Дараа нь та илрүүлэх мэдээллийг энэ төрлийн хэрэгтэй. Үүнийг хийхийн тулд урагш налуу хэрэглэх - \.

  • SELECT * ширээн дээр хаанаас нэр = 'муур-D \' Ивуар ".

Дээрх бүх эгнээ хэлнэ. үйл ажиллагааны хэд хэдэн явагддаг бол, дараа нь энэ нь ямар ч үнийн санал, эсвэл ташуу зураасыг хэрэгтэй биш юм. Гэсэн хэдий ч тэд хүчээр хүссэн өгөгдлийн төрлийн хүргэж шаардлагатай байх ёстой.

Талбайн нэр backquotes нь хаалттай байх ёстой зөвлөмж байдаг. Энэ тэмдэг нь долгионтой хамт гар зүүн талд нь "~". Энэ нь MySQL үнэн зөв таны түлхүүр үг нь талбайн нэрийг ялгаж чадна гэж хангах явдал юм.

мэдээлэл Динамик ажил

Маш их, динамикаар үүсгэгдэх асуулга ашиглан мэдээллийн санд, ямар ч өгөгдлийг авахын тулд. Жишээ нь:

  • SELECT * ширээн дээр хаанаас тоо = '$ тоо ".

Энд хувьсагч $ тоо талбайн үнэ цэнийг тодорхойлох гэж баталсан байна. Энэ нь "Зааны ясан эрэг" авдаг бол яах вэ? Алдаа.

Энэ асуудалтай зайлсхийхийн тулд, мэдээж хэрэг, та "шидэт ишлэл" тохиргоог оруулж болно. Харин одоо мэдээлэл шаардлагатай бол мөн шаардлагатай биш дэлгэцнээ болно. Үүнээс гадна, код гараар бичсэн бол, Хэрэв та систем өөрөө хагарал тэсвэртэй бий болгох нь бага зэрэг илүү их цаг зарцуулах болно.

нь налуу зураасаар бие даасан гадна нь mysql_real_escape_string ашиглаж болно.

$ Тоо = mysql_real_escape_string ($ дугаар);

$ Он = mysql_real_escape_string ($ жил);

$ Хайлтын = "хүснэгтийн хийж (тоо, жил зэрэг) утга ( '$ тоо', '$ жилийн, 11)."

код, тоо хэмжээ нэмэгдсэн хэдий ч хараахан болзошгүй энэ нь маш аюулгүй ажиллах болно.

оруулагчийг

Оруулагчийг - систем нь энэ нь таны тусгай чиг үүргийг орлох хэрэгтэй газар юм гэдгийг хүлээн зөвшөөрч үүний төлөө маркер нь ямар. Жишээ нь:

$ Муж = $ mysqli-> бэлтгэнэ ( "SELECT дүүрэг тоо хаанаас нэр =?");

$ Sate-> bind_param ( "S", $ дугаар);

$ Sate-> ажиллуулах ();

кодын Энэ хэсэг нь сургалтын хүсэлт загварыг авч, дараа нь хувьсах тоо холбодог, түүнийг ажиллуулдаг. Энэ арга нь та асуулга боловсруулах, түүний хэрэгжилтийг хувааж боломжийг олгодог. Тиймээс энэ нь хортой кодын ашиглах аврагдах болно SQL- байна.

Ямар хүч чадал халдагч

Хамгаалах систем - маш чухал хүчин зүйл, тооцохгүй байж болохгүй. Мэдээж хэрэг, энгийн бизнес карт сайт сэргээх нь илүү хялбар байх болно. Мөн энэ нь маш том портал, үйлчилгээ, форум юм уу? Хэрэв та аюулгүй байдлын тухай бодож байгаа бол ямар үр дагавар байна вэ?

Нэгдүгээрт, хакер аль аль нь суурь бүрэн бүтэн байдлыг эвдэж, бүрэн устгаж чадна. Тэгээд сайт администратор эсвэл hoster нөөцлөн хийж чадахгүй бол та хатуу удаа болно. Энэ бүхнээс гадна, халдагч нь нэг сайтад хагарал, бусад ижил сервер байрлуулсан явж болно.

Дараа нь зочдын хувийн мэдээллийн хулгай юм. Хэрхэн ашиглах вэ - бүх зүйл нь зөвхөн хакерыг нь төсөөллийн хүрээнд байна. Гэхдээ ямар ч тохиолдолд үр дагавар нь маш таатай байх болно. Ялангуяа санхүүгийн мэдээллийг агуулсан байна.

Мөн халдагч мэдээллийн санг өөрийгөө нийлүүлж болно, дараа нь түүний хариуд мөнгө сахиулагчид.

сайтын администратор нэрийн өмнөөс санаатайгаар буруу ташаа мэдээлэл хэрэглэгчид, хүн нь байх биш, бас боломжтой залилан баримт гэх мэт сөрөг үр дагавар байж болох юм.

дүгнэлт

Энэ зүйлд бүх мэдээлэл нь зөвхөн мэдээллийн зориулалтаар олгосон байна. Энэ нь зөвхөн эмзэг илрүүлэх үед өөрсдийн төслийг туршиж, тэдгээрийг шийдвэрлэхэд шаардлагатай ашиглаарай.

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

Мөн PHP болон HTML элементүүд чиг үүрэг үйл ажиллагааг ойлгох юу ч хийж чадахгүй байна. үндсэн хэрэглээ нь шахах нь эмзэг оноо - хаяг шугам, янз бүрийн хайлтын талбар. PHP чиг суралцах, хэрэгжүүлэх, онцлог арга алдаа зайлсхийхийн тулд хэрхэн тогтоодог.

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

Та ямар сайтыг хэрхэн оролдож мэдэх хэрэгтэй вэ? Энэ нь маш энгийн юм - энэ нь таны төсөл болон вэб сайт болзошгүй эмзэг байдлыг мэдэж байх шаардлагатай. Энэ нь онлайн төлбөр, төлбөрийн хэрэглэгчийн мэдээлэл халдагч эвдэгдсэн байж болох нь онлайн дэлгүүр юм Ялангуяа бол.

одоо байгаа мэдээллийн аюулгүй байдлын ажилтнуудын мэргэжлийн судалгааны шалгуур, гүн нь янз бүрийн сайтад шалгаж боломжтой байх болно. Энгийн HTML-тарилга нь, нийгмийн инженер, фишинг эхэлсэн.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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