Captcha Bypass
Last updated
Last updated
CAPTCHA istifadəçinin insan olub-olmadığını müəyyən etmək üçün hesablamalarda istifadə olunan bir növ çağırış-cavab testidir.
Veb saytımızı bot, CSRF və s.-dən qorumaq üçün.
CSRF-nin Captcha ilə qorunması tövsiyə edilmir, nə qədər çətin olsa da, captcha asanlıqla yan keçə bilər.
Gəlin bir kiber hücumçunun Captcha-nı necə keçə biləcəyinə nəzər salaq. Test üçün mən Web For Pentester II istifadə etmişəm. Bu, nüfuz sınağı üçün həssas veb tətbiqidir. Captcha-ya hücum edərkən və bəzi sərt kodlaşdırmaya başlamazdan əvvəl, heç bir məntiq qüsuru və ya bəzi proqnozlaşdırıla bilənlik olmadığından əmin olun.
İlk addım yükləmək üçün pentesterlab.com saytına daxil olmaq və Web For Pentester II proqramını işə salmaqdır.
pentesterlab > exercise > category: free > Web For Pentester II > File >ISO pentesterlab.com
Yüklədikdən sonra yeni virtual maşın yaradın IP ünvanı üçün ifconfig yazın IP ünvanını qeyd edin
Web For Pentester II-dən əldə etdiyiniz IP ünvanını brauzerinizə daxil edin və Enter düyməsini basın.
İndi növbəti addım Burp Suite-ni konfiqurasiya etməkdir
Brauzer parametrlərinə gedin və axtarış qutusuna proksi yazın, sonra açıq proksi parametrlərini seçin > Qoşulma nişanlarında > Lan parametrləri > LAN üçün proksi serverdən istifadə et > (127.0.0.1 port nömrəsi 8080) seçin, sonra ok düyməsini basın.
İndi Burp Suite açın.
Burp Proxy sekmesinde, "Intercept-in söndürüldüyünə" əmin olun və Captcha Misal 1-ə baş çəkin.
Nümunə 1. Bu skript pis tətbiq edilmiş captcha ilə ümumi problemdir. Səhv mesajının qarşısını almaq üçün tərtibatçı dəyərinin düzgünlüyünü təmin etməzdən əvvəl captcha parametrinin mövcudluğunu yoxlayır.
Intercept-i yandırın və sonra sahə qutusuna təsadüfi simvol daxil edin və kəsintiyə baxın.
İndi sadəcə captcha=…& silin və sorğunu göndərin, serverdən uğurlu rəy alacaqsınız.
Nümunə 2. Bu misalda cavab proqram tərəfindən sızdırılıb. Qaytarılan HTML səhifəsinin mənbəyini yoxlamaqla siz bu captcha-nı avtomatik poza biləcək skript yaza bilməlisiniz.
Və ya sadəcə olaraq captcha=…answer=… silin və siz serverdən uğurlu rəy alacaqsınız.
Nümunə 3. Bu misalda cavab proqram tərəfindən sızdırılıb.
Server tərəfindən geri göndərilən cavabı yoxlamaqla siz bu captcha-nı avtomatik poza biləcək skript yaza bilməlisiniz..
Captcha həlli kukilərə ötürülür, işləmək üçün kuki dəyərini əldə etmək və cavab olaraq geri göndərmək üçün sadə skript yazmalısınız.
Siz həmçinin JavaScript konsolundan istifadə edərək kukidən captcha əldə edə və document.cookie-yə zəng edə bilərsiniz.
inspect>console >document.cookie
script capcha3 python https://github.com/kaushaljangid/captcha/blob/master/captcha3.py
Nümunə 4 Bu misal əlamət qüsuru problemidir. Əgər səhifəni təzələdikdən sonra captcha-nı həll etsəniz, məlumat təkrar-təkrar göndəriləcək. Captcha-nı sındırmağa çalışdığınız zaman əmin olun ki, cavab yalnız bir dəfə istifadə edilə bilər. Bu məşq həmişə sizə uğur xəbər verəcək və serverə sorğu göndərməyə davam edəcək.
Bu o deməkdir ki, siz eyni məlumatı bir neçə dəfə təkrar göndərmək üçün skript yaza bilərsiniz, bu da mümkün xidmətdən imtina hücumunu yarada bilər.
Nümunə 5 – Bu verilənlər bazası qüsurudur, verilənlər bazasında az sayda şəkillər var və təsviri yükləyən, onun MD5 yoxlama məbləğini yoxlayan və onu əvvəlcədən təyin edilmiş yoxlama cəmi cədvəli ilə müqayisə edən skript işlətməklə istifadə edilə bilər.
script capcha5 python https://github.com/kaushaljangid/captcha/blob/master/captcha5.py
Nümunə 6 – Bu məşqdə siz tesseract kimi OCR alətindən istifadə edərək captcha cavabını əldə edə bilərsiniz. Şəkli yükləmək üçün skript yaratmalı və sonra aşağıdakı kodla tesseract-ı işə salmalısınız: tesseract imagefile.png bu captcha cavabı ilə out.txt faylı yaradacaq.
Bir daha prosesi avtomatlaşdırmaq üçün skript yarada bilərsiniz.
Nümunə 7 – Bu, əvvəlki misalın təkrarıdır, burada siz şəkildəki mavi xətləri silməli olacaqsınız, bunun üçün şəkil üzrə hədd dəyərini dəyişə bilərsiniz, buna eyni metoddan istifadə etməklə nail olmaq olar. yuxarıda, lakin aşağıdakı kodu işlədir:
Nümunə 8 – Bu, yuxarıdakı misalların başqa bir versiyasıdır, buradakı fərq, təsvirin içəriyə yığılmasıdır, görüntüdən söz çıxarmaq üçün bu kodu işlədin:
Nümunə 9 – Bu captcha müştəridən sadə hesab əməliyyatı yerinə yetirməsini xahiş etməyə əsaslanır, onu sındırmaq həqiqətən sadədir. Siz sadəcə təqdim olunan sətri qiymətləndirə bilərsiniz (yəqin ki, yaxşı fikir deyil) və ya sizin üçün hesab əməliyyatını yerinə yetirmək üçün sadə təhlilçi yaza bilərsiniz.
Bu cür qorunma həqiqətən lal botlardan qoruyacaq, lakin bir az skript yaza bilən hər kəs üçün yan keçmək həqiqətən asandır.
Ancaq mənbə kodunu görsək, görərik ki, həm rəqəmlər, həm də operatorlar şəkillər kimi deyil, mətn şəklində ötürülür:
Buna görə də mənbə kodunu oxuyan və məlumatları (rəqəmlər və operator) çıxaran bir skript yaradın, arifmetik əməliyyatı hesablayın və formaya ötürün.
script capcha9 python https://github.com/kaushaljangid/captcha/blob/master/captcha9.py