Request İle Login Olamama

Arkadaşlar merhaba.
2 gündür request ile istediğim sitelere giriş yapmaya yönelik izlemediğim video okumadığım yazı kalmadı bir türlü beceremiyorum.Her türlü headers ,payload vs deneme yanılma yaptım çözemedim.Videolarda hep benzer sitelere (insta ) gibi giriş yapılıyor.Ezbere değil de mantığını kavramaya çalışıyorum.
En son PHP Basit Üyelik Sistemi - hknsoft sayfasındaki sistemi locale kurup burada da beceremedim.
Selenium kullanmadan yapma konusunda inatlaştım kendimle :smile: Request ile girmeyi öğreneceğim:D
Yardımlarınızı bekliyorum.Çok teşekkür ederim.

giriş yaparken network sekmesinde neler gerçekleşiyor onlara bakmanız gerek.

Elbette bazı sitelere erişmek ya da giriş yapmak diğerlerine göre çok daha zor olabilir.

Fakat giriş yapmak istediğiniz siteyi atarsanız, örnek olması açısından eğer başarabilirsem kod bırakırım.

1 Beğeni

Eğitimhane’ye denedim.

Linki tahmin ederek mi bulayım verecek misiniz ?

Kusura bakmayın:) https://www.egitimhane.com/forum/index.php?action=login

1 Beğeni

Hesap açmaya vaktim maalesef yok.
Aşağıdaki gibi bir kod yazdım devamını siz getirirsiniz
Kullanıcı adı ve şifre ile test edin. Tam olarak doğru çalışan bir kod değil. Siz geliştirirsiniz.

import requests

with requests.Session() as session:
    header = {"user-agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36",}
    cookie = session.get("https://www.egitimhane.com/forum/index.php?action=login",headers=header).cookies.get_dict()

    post_header = {
        "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36",
        "origin": "https://www.egitimhane.com",
        "referer": "https://www.egitimhane.com/forum/index.php?action=login",
        "content-type": "text/html; charset=UTF-8",
        "cookie": f"suvari=1; PHPSESSID={cookie['PHPSESSID']}; Mb={cookie['Mb']}"
    }
    data = {
        "user": "kullanıcı adı",
        "passwrd": "",
        "cookieneverexp": "on",
        "cb8563d5b6b": "536abfda7991efdd65dd737b6617b590",
        "hash_passwrd": "7873b4a29b4fb515426aa28c318d33e37fb1b842",
    }
    session.post(f"https://www.egitimhane.com/forum/index.php?PHPSESSID={cookie['PHPSESSID']}&action=login2",headers=post_header,data=data)
2 Beğeni

Bu kodları ben de daha önce denedim.Hatta data bölümündeki
“cb8563d5b6b”: “536abfda7991efdd65dd737b6617b590”,
değeri sürekli değiştiği için bunu parselemeyle kaynaktan alıp o şekilde de kullandım ama bir türlü giriş yaptıramıyorum.

@aib Hocam şu meraklı arkadaşınıza bir yardım edebilir misiniz?Fikirleriniz benim için değerli.

Birer adet basarili ve basarisiz loginde giden ve gelen datayi gorebilir miyiz?

Başarılı

user:xxxxx
passwrd:xxxxx
cookielength:60
be6dfddcaee:e2a02a3ad496d5eecc1dbb5666296567
hash_passwrd:

Başarısız

user: asdasdasd1232321
passwrd: 
cookielength: 60
ed63271c87: b60e7aedd983b6bd0c4867ba846e313b
hash_passwrd: 742f63d30a13fe5fbd58283a844de4b0ca4842cc

Request Headers:

authority: www.egitimhane.com
:method: POST
:path: /forum/index.php?action=login2
:scheme: https
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
accept-encoding: gzip, deflate, br
accept-language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7
cache-control: max-age=0
content-length: 136
content-type: application/x-www-form-urlencoded
cookie: suvari=1; _ga=GA1.2.16018641.1659794844; Mb=99; _gid=GA1.2.857821755.1660074814; __gads=ID=4e48f239250a-223628ebeacd00c5:T=1600745:RT=16600748:S=ALNI_MbqgxgcbAOsO36csfUOUlPJiQ; __gpi=UID=000098aa9bb2:T=1660074815:RT=1660074815:S=ALNI_Mxh_oK6FojpySgEnKvnxf2LnsJA; SMFCookie12MK=WRDc7dY8; PHPSESSID=7an26tsv3xxpuci4pav7; _gat=1
origin: https://www.egitimhane.com
referer: https://www.egitimhane.com/forum/index.php?action=login2
sec-ch-ua: "Chromium";v="104", " Not A;Brand";v="99", "Google Chrome";v="104"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
sec-fetch-dest: document
sec-fetch-mode: navigate
sec-fetch-site: same-origin
sec-fetch-user: ?1
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36

hash_passwrd'i nasil olusturuyoruz? Sayfanin implementasyonunu kullanmak lazim. hex key’li sayiyi kullanarak olusturuluyor gibi duruyor.

Basarili request daha sonra replay edildiginde calisiyor mu?

1 Beğeni

Çok uğraştım ve vazgeçtim ;
adam aib diye formda bir name kullansa ve name:hash_fonksiyonu() gibi bir şey ile name değeri belirlese post anında bunu bulmak mümkün değil giremeyiz.
hash değerini nasıl dönderiyor iç içe md5 falan mı deniyor denedim ama çözemedim.
Her siteye giriş mümkün değilmiş request ile ya da ben beceremiyorum…
:slight_smile:

requests “siteye giris” veya herhangi bir isten ziyade sunucuya istek yapmak icin (adi ustunde) bir kutuphane. Sunucu istegi begenmiyorsa kutuphanenin yapabilecegi bir sey yok.

Bu noktada hash mekanizmasinin nasil calistigini ve o hex key’in ve degerinin ne manaya geldigini bulmak gerekiyor. Giris isteklerinin nasil yapildigi cozulebilirse (reverse engineering) bu istekleri yapmak icin requests kutuphanesi kullanilabilir.

3 Beğeni

Cloudflare kullanıyor, sırf bunları yapmasınlar diye.

Request · Cloudflare Workers docs

Dokümantasyonunu inceleyip etrafından dolaş. Cloudflare de sana madalya taksın.

1 Beğeni

Çok teşekkür ederim ilgilendiğiniz için.:slight_smile: Madalyayı yazbele hediye ederiz:)

1 Beğeni