Forked from mrzcn/EXCHANGE 2016 OWA reCAPTCHA DOĞRULAMA EKLEME
Created
January 10, 2022 12:02
-
-
Save hermesthecat/9f7c049bfc6b1bfdd7ae7909d59f2f52 to your computer and use it in GitHub Desktop.
EXCHANGE 2016 OWA reCAPTCHA DOĞRULAMA EKLEME
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Exchange sunucularınızın güvenliği için “Captcha Doğrulama” ile bruteforce ataklara karşı güvenliğinizi daha da sıkılaştırabilirsiniz. | |
| İlk olarak google hizmeti olan captcha sayfasına giderek site (site) ve secret (gizli) keylerimizi alıyoruz. | |
| https://www.google.com/recaptcha/about/ | |
| Captcha keylerimizi aldıktan sonra Exchange sunucusuna bağlanıyoruz ve aşağıdaki path’e gidiyoruz. | |
| C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth | |
| *Yapacağımız değişikliklerden önce auth klasörünün yedeğini alalım. | |
| Auth klasörü içinde “recaptcha.aspx” adında file oluturuyoruz ve içisine aşağıdaki içeriği kopyalıyoruz. | |
| Kod satırında bulunan 6Le.. ile başlayan satıra google captcha sayfasından aldığınız Private Key’i yazıyorsunuz. | |
| <% @ Page AspCompat=True Language = "VB" %> | |
| <% | |
| ' Put your own private key in the next line | |
| Dim strPrivateKey As String = "6Le....." | |
| Dim strResponse = Request("response") | |
| Dim objWinHTTP As Object | |
| objWinHTTP = Server.CreateObject("WinHTTP.WinHTTPRequest.5.1") | |
| objWinHTTP.Open("POST", "https://www.google.com/recaptcha/api/siteverify", False) | |
| objWinHTTP.SetRequestHeader("Content-type", "application/x-www-form-urlencoded") | |
| Dim strData As String = "secret=" & strPrivateKey & _ | |
| "&response=" & strResponse | |
| objWinHTTP.Send(strData) | |
| Dim strResponseText = objWinHTTP.ResponseText | |
| Response.Write(strResponseText) | |
| %> | |
| İlgili değişiklikleri yaptıktan sonra dosyası kaydedip kapatıyoruz. | |
| Daha sonra aynı auth klasörü içinde bulunan logon.aspx dosyasını edit diyerek açıyoruz ve aşağıdaki metni ctrl + f ile bulup bir alttaki satırda görüldüğü şekilde düzenliyoruz. | |
| form action=”/owa/auth.owa” method=”POST” name=”logonForm” | |
| form action=”” method=”POST” name=”logonForm” | |
| Yine aynı dosya içerisinde <div><input id="passwordText" dizinini buluyoruz ve bu satırın altına aşağıdaki komut satırlanı ekliyoruz. | |
| Aşağıdaki komut satırında sitekey’i google captcha’dan aldığımız sitekey’i yazıyoruz. | |
| <tr> | |
| <td> | |
| <script type="text/javascript"> | |
| function myClkLgn() | |
| { | |
| var oReq = new XMLHttpRequest(); | |
| var sResponse = document.getElementById("g-recaptcha-response").value; | |
| var sData = "response=" + sResponse; | |
| oReq.open("GET", "/owa/auth/recaptcha.aspx?" + sData, false); | |
| oReq.send(sData); | |
| if (oReq.responseText.indexOf("true") != -1) | |
| { | |
| document.forms[0].action = "/owa/auth.owa"; | |
| clkLgn(); | |
| } | |
| else | |
| { | |
| alert("reCAPTCHA is not valid"); | |
| } | |
| } | |
| </script> | |
| <script src="https://www.google.com/recaptcha/api.js" async defer></script> | |
| <div class="g-recaptcha" data-sitekey="6Le....."></div> | |
| </td> | |
| </tr> | |
| Son olarak ise yine logon.aspx içerisindeki komutu aşağıdaki şekilde değiştiriyoruz ve kaydet diyerek kapatıyoruz. | |
| <div onclick=”clkLgn()” class=”signinbutton” role=”button” tabIndex=”0″ > | |
| <div onclick=”myClkLgn()” class=”signinbutton” role=”button” tabIndex=”0″ > | |
| Tüm ayarları tamamladıktan sonra herhangi bir restart işlemi yapmadan direkt owa girişiniz sırasında reCAPTCHA doğrulama ekranı gelecektir. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment