Веб суурьтай халдлага

Бүх веб суурьтай халдлагууд  нь  World Wide Web(WWW) -ийн хүрээнд явагддаг. Веб суурьтай
халдлагууд апликейшин түвшинд явагддаг болохоор апликейшин халдлага гэж бас нэрлэнэ. Апликейшин давхаргад хамгаалалт хийх нь хамгийн хэцүү нь гэж үздэг. Энэ давхарга нь гадаад сүлжээнд хамгийн ил байдаг, хамгийн хүртээмжтэй давхарга юм.Веб
серверд хийгдэх апликейшин түвшний халдлагууд HTTP буюу 80 порт болон HTTPS
443 порт руу чиглэсэн байдаг.

Cross-Site Scripting (XSS)
upright=1.5|thumb|Cross-Site Scripting (XSS)халдлагын явагдах дараалал.
Cross-Site Scripting (XSS) халдлага нь injection /кодон дунд код хавсаргах/-ы нэг төрөл бөгөөд хортой скрипт кодыг хоргүй, халдаж буй вэб сайт руу хавсаргадаг. XSS халдлага нь халдагчид вэб програмыг ашиглан хортой кодыг хэрэглэчидрүү илгээдэг бөгөөд ихэвчлэн сайтын форм хэсгүүдэд байршиж хэрэглэгчдэд хүрдэг. Вэб сайтад байх сул талууд нь эдгээр халдлагуудыг амжилттай болоход нөлөөлөх бөгөөд хэрэглэгчид хүсээгүй мэдээллийг үзүүлэхээс гадна хэрэглэгчийн форм дээр бичсэн мэдээллүүдийг шалгахгүйгээр эсвэл encode/хувиргах/ хийхгүйгээр хулгайлах хүртэл үр дагавар үзүүлж болно. Халдагчид нь XSS-ыг ашиглан хортой кодыг хэрэглэгчидэд илгээдэг. Хэрэглэгчийн вэб браузер нь кодыг хортой байна гэж мэдэх боломжгүй бөгөөд шалгахгүйгээр шууд ажиллуулдаг. Учир нь код нь баталгаатай эх сурвалж, вэб сайтаас илгээгдэж байгаа бөгөөд энэхүү хортой код нь таны cookie, session, token болон бусад нууцлагдмал мэдээллүүдрүү таны браузераар дамжин хандах, хулгайлах үйлдлүүдийг хийдэг. Энэ төрлийн скриптүүд нь HTML хуудасны агуулгыг өөрчөлдөг. XXS дайралт бол веб сайтын ямар нэг input-ээр дамжуулж өөрийн кодоо хэрэглэлдэг . Хакерын бэлдсэн линк дээр дарснаар JavaScript код ажиллаж хэрэглэгчийн cookie гэх мэт мэдээлэлүүдийг хакер луу илгээнэ. Янз бүрийн скрипт байж болох боловч голдуу л JavaScript дээр хийдэг. Cookie хулгайлахыг hijack гэж нэрлэдэг.
Cross-Site Scripting (XSS) халдлага нь дараах тохиолдлуудаас шалтгаалж ажиллана: 
Вэб сайтын хүсэлтээр untrusted source/баталгаагүй эх сурвалж/-оос вэб програмруу өгөгдөл орж байх үед
Динамик агуулгатай өгөгдөл вэб сайтаас илгээгдэхдээ урьдчилан шалгагдахгүй эсвэл хувиргагдахгүй байх үед

SQL injection
upright=1.5|thumb|SQL injection
SQL Тарилга нь хамгаалалтын сул талыг ашиглан програм хангамжийн өгөгдлийн сангийн давхаргад халдах кодчиллын техник юм. Энэ нь хэрэглэгч заавал хатуу тогтсон дүрмийн дагуу өгөгдлийг оруулах албагүй байдагтай холбоотой бөгөөд жишээлбэл ийм санамсаргүй оролтын өгөгдөлд програмын эх кодын тусгай тэмдэгтүүдийн дараалал ч байж болох юм. Ингэж оруулсан өгөгдөл нь SQL илэрхийлэлд орж ирэн санаанд оромгүй буруу үр дүнг гаргадаг. Үүнийг SQL Injection гэж нэрлэдэг. Програмчлалын Си хэлэнд програмын кодын мөрөнд тайлбар хийх мөн кодын зарим хэсгийг идэвхгүй болгохдоо “//”-тэмдэгт(хос ташуу зураас буюу хос slash)-ийг хэрэглэдэг. Тэгвэл MSSQL Server дээр query бичлэгийн тодорхой хэсгийг идэвхгүй болгохдоо ”–” тэмдэгтийг ашигладаг. SQL Injection-ны дор дурдах жишээ нь хэрэглэгчийн оруулсан өгөгдөл query бичлэгийн тодорхой хэсгийг идэвхгүй болгох, хэллэгийн логикийн чанараар query биелэх нөхцөлийг өөрчлөх замаар үр дүнг гарган авах мөн хэрхэн өгөгдлийн санд өөрчлөлт оруулж болохыг харуулна.

Хэрэглэгч стандарт өгөгдөл оруулах үед SQL илэрхийлэл дараах хэлбэрээр биелэнэ. Энэ үед query нь нөхцлийг шалгаад өгөгдсөн нөхцөл бүхий бичлэг байгаа эсэхийг ямар ч алдаагүйгээр шалгаад үр дүнг буцаана.
“SELECT count(*) FROM users WHERE username= ‘$user’ AND userpassw=’$pass'”
Хэрэглэгч стандарт бус өгөгдөл оруулах үед SQL илэрхийлэл дараах хэлбэрээр биелэнэ.
“SELECT count(*) FROM users WHERE username= ” OR ‘1’=’1′ AND userpass=” OR ‘1’=’1′”

OS Command Injection

OS Comand Injection бол хакерт веб апликейшнээр дамжуулан систем рүү өөрийн кодоо явуулах боломжийг олгодог зүйл юм. Мета-тэмдэгтүүд (&, |, //;) нь ихэвчлэн командуудыг нийлүүлж, хортой OS Command Injections үүсгэдэг. Програмууд нь вэб холболтоор дамжуулан хууль бус системийн командуудыг гүйцэтгэх замаар удирдаж болдог бол OS-ийн командад эмзэг гэж тооцогддог. SQL injection тэй нэг утга санаатай.

Brute-force халдлага
Brute-force – ийн зарчим маш энгийн. Халдагч хохирогчийн нууц үгийн LastPass юмуу KeePass сангаас ширфлэгдсэн мэдээллийг авна. Тэд авсан мэдээлэлд өөрт хэрэгтэй байгаа мэдээлэл хадаглагдаж байгааг болон түүнийг тайлах ширфрлэлийн түлрхүүр агуулагдаж байгааг мэдэж байдаг. Ингээд шифрлэгдсэн мэдээллийг тайлахын тулд тэд боломжит бүх нууц түлхүүрээр тайлагдсан мэдээлэл гарч байгааг шалгаж үзнэ. Тэд энэ процессийг автоматжуулсан компютерийн програмаар хийдэг, ингэснээр тухайн халдлагыг хийж буй компютерийн хүчин чадал нэмэгдэхийн хэрээр секундэд хийгдэх тооцооллын хурд нэмэгдэж brute-force халдлагын явц хурдсана.Нууц үг эвдэх энэ арга нь тэмдэгтүүдийн жагсаалтыг бүх боломжит хувилбараар нь оруулж үзэж шалгадаг. Ингэснээр нууц үгийг олдог арга юм. Ийм төрлийн халдлагаас сэргийлэхдээ нууц үгийг тодорхой хязгаарлалттай хийгээд түүнээс олон удаа буруу орсон бол дахин оруулах боломжгүй хаалт үүсгэх, системийн нэвтрэлтийг бүрэн хаах, эсвэл галт ханаар хаах зэрэг байдлаар хамгаалдаг.

Brute-force халдлагын хурд:

Brute-force халдлагын хурд бүхэлдээ техник хангамжын хүчин чадлаас хамаарна.Энгийн хэрэглэгчидийн хувьд brute-force хийх хамгийн үр дүнтэй төхөөрөмж бол график карт(GPU). График картын параллель боловруулалт хийх чадамж нь brute-force – д маш олон нууц үгийг нэг дор шалгах боломж олгодог. Халдлагын хурд өсч хэдхэн арван жилийн дотор бидний өнөөдрийн хэрэглэж буй алгоритмуудаас ч хүчирхэг алгоритмуудыг эвдэж чадах квантын компютер эсвэл үүн шиг өөр компютер бүтээгдэх магдалалтай.

DOS
upright=1.5|thumb|DOS  халдлага
Denail of Service буюу Үйлчилгээг зогсоох халдлага нь машиныг хэрэгцээтэй эх үүсвэрээс нь салгах үйлдэл юм. Ихэвчлэн DoS халдлагууд нь сүйрүүлэхийг оролдсон эсвэл машиныг түүн дээрх серверүүд болон сүлжээний стекийг эзэмдэн ашиглах боломжгүй болгодог балмадаар хүчлэх арга замууд юм. Зарим DoS халдлагууд нь сүлжээний стек дэх алдаануудыг ашиглан ганц пакетаар машиныг сүйрүүлэхийг оролддог. Үүнийг зөвхөн алдааны засварыг цөмд хийснээр засах боломжтой. Систем дээрх хөнөөлтэй нөхцөлд байх тэр серверийн дуудлагыг хязгаарладаг тохируулгуудыг зөв зааж серверүүд уруу хийсэн халдлагуудыг ихэвчлэн засаж болдог. Сүлжээний балмадаар хүчлэх халдлагуудын эсрэг арга хэмжээ авахад илүү төвөгтэй байдаг. Жишээ нь хууран мэхэлсэн
пакетийн халдлагыг зогсоох бараг л боломжгүй, таны системийг Интернэтээс салгахад
хүргэж болох юм. Энэ нь таны машиныг зогсоож чадахгүй байж болох боловч таны Интернэтийн холболтыг дүүргэж болно.

DoS халдлагын төрөл
 Ping of Death
 Teardrop
 Ping Flooding
 Amplification
 D-DoS
 SYN-Flooding
 Port scan
 Stealth SYN scan
 FIN /X-Mas/ Null-Scan
 Idle-Scan
 Spoof
 Application layer DDos attack(HTTP DoS)
 Hit-and-Run DDoS
 XorDDos
 Shroud Proactive
 Телнет гэх мэт олон төрөл байна.

Directory traversal

Энэ халдлагын зорилго нь файлын систем рүү зөвшөөрөлгүй хандахын тулд өртсөн програмыг ашиглах явдал юм. Энэ довтолгоо нь аюулгүй байдлын дутагдал (програм хангамж нь яг ийм байдлаар ажиллаж байгаа мэт), кодын алдаанаас хамгаалахын эсрэг ашигладаг.Хэрэглэгчээс орж ирэх өгөгдлийг файлын нэр болгож хэрэглэх үед системийн чухал мэдээлэл агуулсан файл руу хандах аюул гарч болзошгүй.Жишээ нь ../../../../../etc/passwd гэж оруулж болно гэдгийг тооцоолох хэрэгтэй. Энэ тохиолдолд вэб сэрвэрийг зөв тохируулаагүй байх юм бол хорон санаатан чухал мэдээлэлд халдах болно.

 Цахим холбоос 
 https://www.checkmarx.com/knowledge/knowledgebase/OS-Command_Injection
 https://www.acunetix.com/websitesecurity/directory-traversal/
 http://searchsecurity.techtarget.com/definition/denial-of-service

 Ашигласан материал 
 https://www.acunetix.com/websitesecurity/sql-injection/
 https://en.wikipedia.org/wiki/Directory_traversal_attack

Ангилал:Интернэт