분류 전체보기

[LOS] nightmare

문제 https://los.rubiya.kr/chall/nightmare_be1285a95aa20e8fa154cb977c37fee5.php https://los.rubiya.kr/chall/nightmare_be1285a95aa20e8fa154cb977c37fee5.php los.rubiya.kr 문제풀이 pw 파라미터를 입력받아 쿼리문에 넣고, 반환값이 존재할 때 문제가 해결된다. 이 때, 입력값의 길이가 7 이상이 되면 안되고, 괄호 사이에 쌓여있으며, 괄호와 주석 문자는 필터링 된다. 괄호는 %28, %29 로, 주석은 ;%00으로 필터링 우회가 가능하다. 아래 공식을 이용하여 문제를 해결할 수 있다. pw=('')=0 : 거짓=거짓 (참) select id from prob_nightmare wh..

write-up(web)/los 2023.01.22

[LOS] zombie_assassin

문제 https://los.rubiya.kr/chall/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php https://los.rubiya.kr/chall/zombie_assassin_eac7521e07fe5f298301a44b61ffeec0.php los.rubiya.kr 문제풀이 이전 문제와 동일하게 역슬래시를 이용하여 작은따옴표를 일반문자로 처리해주어야 한다. 작은따옴표는 필터 처리 되어 있으므로, addslashes 함수를 이용한다. addslashes 함수는 작은따옴표, 큰따옴표, 널문자 앞에 역슬래시(\')를 붙여주는데 strrev 함수로 인해 '\ 와 같은 형태가 된다. 이를 이용하여 큰따옴표를 입력하면 아래와 같은 형태가 된다. select id..

write-up(web)/los 2023.01.22

[LOS] assassin

문제 https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php los.rubiya.kr 문제풀이 like 구문은 정규식 사용이 가능하다. % : 0개 이상의 어떠한 문자열 _ : 밑줄 개수 만큼 문자가 존재 [] : 대괄호 안의 지정된 문자 범위 또는 문자가 존재 [^] : 대괄호 안의 지정된 문자 범위 또는 문자 외의 문자가 존재 파이썬 코드를 작성해서 admin이 출력될 때를 찾았는데, 계속 출력되지 않았다. 아마도 guest의 pw와 겹치는 부분이 존재해서 그런 것 같다. guest와 중복되는 ..

write-up(web)/los 2023.01.22

[LOS] giant

문제 https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php https://los.rubiya.kr/chall/giant_18a08c3be1d1753de0cb157703f75a5e.php los.rubiya.kr 문제풀이 shit 파라미터의 길이는 2 이상이 되면 안되고, +, (), \n, \t 등 모두 필터링 되어 있다. 2023.01.22 - [programming/web] - 필터링 우회 필터링 우회 - 공백 문자 우회 \n (line feed) 개행 문자 %0a \t (tab) 탭 문자 %09 \r (carriage return) 커서를 줄의 맨 앞으로 이동시키는 개행문자 %0d /**/ (주석) /**/ () (괄호) ()..

write-up(web)/los 2023.01.22

필터링 우회

- 공백 문자 우회 \n (line feed) 개행 문자 %0a \t (tab) 탭 문자 %09 \r (carriage return) 커서를 줄의 맨 앞으로 이동시키는 개행문자 %0d /**/ (주석) /**/ () (괄호) () + (더하기) %0b, %0c, %a0 위의 우회 방법이 먹히지 않을 경우 공백 대신 사용 - 논리 연산자, 비교 연산자 or 연산자 || and 연산자 && %26%26 = (등호) like : 정규표현식 가능 in instr 부등호 - 함수 우회 str_replace 필터링되는 문자열 사이에 문자열 넣기 substr substring mid right(left()) ascii ord() : 문자열을 아스키코드 값으로 변환 hex() : 문자열을 아스키코드 헥사값으로 변환 -..

security/web 2023.01.22

[LOS] darkknight

문제 https://xss-game.appspot.com/level6 https://xss-game.appspot.com/level6 Oops! Based on your browser cookies it seems like you haven't passed the previous level of the game. Please go back to the previous level and complete the challenge. xss-game.appspot.com 문제풀이 id가 admin인 pw를 찾아서 pw 파라미터에 넘기면 문제가 해결된다. 이전 문제와 동일하게 = 문자는 like로, substr 문자는 left/right로 대체한다. 문자열 표현은 16진수로, ascii는 ord로 대체한다. - ..

write-up(web)/los 2023.01.22

[LOS] golem

문제 https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php https://los.rubiya.kr/chall/golem_4b5202cfedd8160e73124b5234235ef5.php los.rubiya.kr 문제풀이 blind injection을 통해 id가 admin인 pw의 길이와 문자열을 알아낼 수 있다. = 문자는 like로 우회할 수 있고, substr은 left/right로 우회 가능하다. - pw 길이 select id from prob_golem where id='guest' and pw=''||length(pw) like 8%26%26id like 'admin' - pw 문자열 select id from prob..

write-up(web)/los 2023.01.22

[LOS] skeleton

문제 https://los.rubiya.kr/chall/skeleton_a857a5ab24431d6fb4a00577dac0f39c.php https://los.rubiya.kr/chall/skeleton_a857a5ab24431d6fb4a00577dac0f39c.php los.rubiya.kr 문제풀이 id가 admin일 때 문제가 해결된다. pw 파라미터 뒤가 false로 고정되어 있어서 주석 처리를 해주어야 한다. -- 뒤는 꼭 %20(공백)처리나 문자가 있어야 한다. select id from prob_skeleton where id='guest' and pw='' || id='admin' -- ' and 1=0 select id from prob_skeleton where id='guest' an..

write-up(web)/los 2023.01.22