- 19 May 2020
- 4
- 0
merhaba arkadaşlar
challange name : emdee five for life
hackthebox challange link : https://www.hackthebox.eu/home/challenges/Web
challange host : http://docker.hackthebox.eu:32102 (sizde farklı bir port olacaktır)
hedef : gösterilen metnin md5 ile encode edilmiş halini siteye istendiği şekilde submit etmek
Walkthrough
browser üzerinden verilen metnin md5'ini alıp submit ettiğimizde sayfa bize "too slow" şeklinde bir sonuç döndürüyor. browser üzerinden yaptığımız submit işlemi flag almak için yavaş kalıyor. bu yüzden bir python scripti yazacağız
ilk olarak kullanacağımız kütüphaneleri import edelim
hashlib, encode decode işlemlerini yapabileceğimiz kütüphane
requests, http istek ve sonuçlarını yönetebileceğimiz kütüphane
BeautifulSoup, html tagları arasında gezinmemizi sağlayacak kütüphane
hostumuzu link isimli bir değişkene atıyoruz
session metodu ile sessionımızı oluşturuyoruz ve get metodu ile hostumuza bir istekte bulunuyoruz. sonuçları BeautifulSoup ile işleyebilmek için istek cevabını content olarak alıyoruz
md5 ile encode edeceğimiz metni bulmak için BeautifulSoupa kaynak kodumuzu belirtiyoruz. sayfanın kaynak kodu incelendiğinde decode etmemiz gereken metinin "h3" tagları arasında olduğunu görüyoruz. bu yüzden find komutuna "h3" tagını yazıyoruz. text ile de "h3" tagları içindeki değeri alıyoruz
aldığımız metni hashlib ile md5 formatında encode ediyoruz
kaynak koduna baktığımızda md5 ile encode edilmiş metni "hash" isimli input alanına girdiğimiz görebiliriz. post methodu ile bu datayı göndermek için data isimli dictionary oluşturuyorum. post methodu ile de isteğimde bulunuyorum
dönen kaynak kodunda da flagimizin p tagları içinde bulunduğunu görebilirsiniz. BeautifulSoup ile "p" tagını bulduğumda flagimi almış oluyorum
tüm adımları video olarak da izleyebilirsiniz
https://youtu.be/VF6JD61brdM
challange name : emdee five for life
hackthebox challange link : https://www.hackthebox.eu/home/challenges/Web
challange host : http://docker.hackthebox.eu:32102 (sizde farklı bir port olacaktır)
hedef : gösterilen metnin md5 ile encode edilmiş halini siteye istendiği şekilde submit etmek
Walkthrough
browser üzerinden verilen metnin md5'ini alıp submit ettiğimizde sayfa bize "too slow" şeklinde bir sonuç döndürüyor. browser üzerinden yaptığımız submit işlemi flag almak için yavaş kalıyor. bu yüzden bir python scripti yazacağız
ilk olarak kullanacağımız kütüphaneleri import edelim
hashlib, encode decode işlemlerini yapabileceğimiz kütüphane
requests, http istek ve sonuçlarını yönetebileceğimiz kütüphane
BeautifulSoup, html tagları arasında gezinmemizi sağlayacak kütüphane
Kod:
import hashlib
import requests
from bs4 import BeautifulSoup
hostumuzu link isimli bir değişkene atıyoruz
Kod:
link = "http://docker.hackthebox.eu:32102/"
session metodu ile sessionımızı oluşturuyoruz ve get metodu ile hostumuza bir istekte bulunuyoruz. sonuçları BeautifulSoup ile işleyebilmek için istek cevabını content olarak alıyoruz
Kod:
session = requests.session()
get_req = session.get(link).content
md5 ile encode edeceğimiz metni bulmak için BeautifulSoupa kaynak kodumuzu belirtiyoruz. sayfanın kaynak kodu incelendiğinde decode etmemiz gereken metinin "h3" tagları arasında olduğunu görüyoruz. bu yüzden find komutuna "h3" tagını yazıyoruz. text ile de "h3" tagları içindeki değeri alıyoruz
Kod:
source = BeautifulSoup(get_req, "html.parser")
word = source.find("h3").text
aldığımız metni hashlib ile md5 formatında encode ediyoruz
Kod:
md5_word = hashlib.md5(word.encode()).hexdigest()
kaynak koduna baktığımızda md5 ile encode edilmiş metni "hash" isimli input alanına girdiğimiz görebiliriz. post methodu ile bu datayı göndermek için data isimli dictionary oluşturuyorum. post methodu ile de isteğimde bulunuyorum
Kod:
data = {"hash": md5_word}
post_req = session.post(link, data=data).content
dönen kaynak kodunda da flagimizin p tagları içinde bulunduğunu görebilirsiniz. BeautifulSoup ile "p" tagını bulduğumda flagimi almış oluyorum
Kod:
source = BeautifulSoup(post_req, "html.parser")
flag = source.find("p").text
print(flag)
Kod:
import hashlib
import requests
from bs4 import BeautifulSoup
link = "http://docker.hackthebox.eu:32102/"
session = requests.session()
get_req = session.get(link).content
source = BeautifulSoup(get_req, "html.parser")
word = source.find("h3").text
md5_word = hashlib.md5(word.encode()).hexdigest()
data = {"hash": md5_word}
post_req = session.post(link, data=data).content
source = BeautifulSoup(post_req, "html.parser")
flag = source.find("p").text
print(flag)
tüm adımları video olarak da izleyebilirsiniz
https://youtu.be/VF6JD61brdM