write-up(web)/LOS

    [Lord of SQLInjection] assassin write-up

    [Lord of SQLInjection] assassin write-up

    문제의 소스 코드입니다. admin의 pw 일부를 알아내서 전송하면 문제가 풀립니다. like를 사용하므로 와일드카드(%, _)를 사용할 수 있습니다. 삽질을 많이 했지만 정확하게 admin의 pw 값을 찾는 방법을 알아내지 못해서 결국 무작위 대입(부루트 포싱)을 하기로 했습니다. guest의 pw(90d2fe10)를 살펴보니 대소문자 구분 없이 '숫자+알파벳'의 구조임을 알 수 있습니다. 또한 숫자 하나로는 결과가 안나오므로 0~1000까지의 숫자를 문자열로 바꿔서 대입해줍니다. 실행되는 코드는 아래와 같습니다. pw='%{0~1000}%' 실행 결과 중간에 902가 들어감을 알 수 있습니다. 이를 url로 전달해줍니다. pw=%25902%25 (%문자를 퍼센트 인코딩하면 %25 입니다)

    [Lord of SQLInjection] giant write-up

    [Lord of SQLInjection] giant write-up

    문제의 소스 코드 입니다. from과 prob_giant 사이에 공백 문자를 넣어주면 됩니다. 구글링해서 공백 문자를 우회하는 친구들을 찾아줍니다. 위 사진은 아래 사이트에서 가져왔습니다. https://devdori.tistory.com/39 [SQL Injection] 공백 우회방법 (WHITE SPACE) SQL Injection 공격시 공백 문자 필터링 우회 방법 줄바꿈 (Line Feed) [ \n ]: %0a 탭 (Tab) [ \t ]: %09 수직탭 (vertical tab) [ \v ] : %0b 폼피드 (form feed) [ \f ] : %0c 캐리지 리턴 (Carriage Return) [.. devdori.tistory.com 해당 값을 순차적으로 넣다보면 문제가 풀립니다.

    [Lord of SQLInjection] bugbear write-up

    [Lord of SQLInjection] bugbear write-up

    문제의 소스 코드입니다. 바로 이전 문제인 darkknight 문제의 응용입니다. and, or, 공백, like를 필터링하고 있습니다. 이전 문제에서 작성했던 파이썬 코드에서 필터링되는 문자를 우회해야 합니다. or => || and => %26%26 추가로 or을 필터링하므로 ord 함수를 사용할 수 없어서 char 함수를 사용해 문자 간 비교 연산을 해줍니다. import requests host = 'https://los.rubiya.kr/chall/bugbear_19ebf8c8106a5323825b5dfa1b07ac1f.php' cookie = {'PHPSESSID' : ''} pw_len = 0 while True: pw_len += 1 print(pw_len,end='') query = f'..

    [Lord of SQLInjection] darkknight write-up

    [Lord of SQLInjection] darkknight write-up

    문제의 소스 코드입니다. admin의 pw 값을 전송하면 문제가 해결됩니다. pw에 대한 필터링을 보면 ' 문자는 사용할 수 없으므로 pw에 임의의 값을 넣을 수 없습니다. 따라서 no에 sql 쿼리 문을 넣어주어야 합니다. substr 문자를 필터링하므로 mid 함수를 사용해줍니다. 또한 ' 문자를 사용할 수 없어서 like로 값을 유추할 수 없고 ascii 값으로 비교를 해줘야 합니다. ascii 문자를 필터링하므로 ord함수를 사용해줍니다. 먼저 전에 있던 문제에서 admin의 no 값이 2였으므로 이번에도 2를 넣어봅니다. = 문자를 사용할 수 없으므로 no1을 넣어줍니다. (guest의 no에는 임의의 값 대입) Hello admin이 나왔습니다. 이제 뒤에 and 조건으로 pw를 구하기 위한 ..

    [Lord of SQLInjection] golem write-up

    [Lord of SQLInjection] golem write-up

    문제의 소스 코드입니다. admin의 pw 값을 알아내서 전송해주면 문제가 풀립니다. 이전 orge 문제의 응용 문제입니다. https://ssongkit.tistory.com/78 [Lord of SQLInjection] orge write-up 문제의 소스 코드입니다. 전에 풀었던 orc 문제와 같은 문제입니다. 다만 다른 점은 or와 and를 필터링하고 있다는 점입니다. 소스 코드에 대한 설명은 아래 글을 참고해주세요 아래 글에서 or를 || ssongkit.tistory.com 아래 파이썬 코드에 대한 설명은 위의 글을 참고해주세요. substr, = 을 추가로 필터링하고 있습니다. substr 함수 대신 left 함수를 사용하고 = 대신 like를 사용해주겠습니다. left 함수로 1문자씩 누적..