분류 전체보기 (99) 썸네일형 리스트형 webhacking.kr 1번 1번 문제를 보면 cookie 값이 6이상이면 쿠키 값을 1로 설정하고, 5 초과이면 문제가 해결된다고 합니다. 그렇다면 cookie 값이 5 sfw8 (페이지 변조 XSS) sfw8입니다. 문제를 보면 admin을 alert하면 될 거 같긴합니다. 위의 그림처럼 단순히 admin을 script태그로 alert할려고 하면 필터링 되어서 안되는 것 같습니다. 그리고 아무 글자를 입력해서 버튼을 누르면 화면에 그대로 출력되는 것 같습니다. 그렇다면 일단 소스코드를 보겠습니다. script부분을 주목해야 할 것 같습니다. admin이 일단 필터링 되는 것처럼 보이고 onload, onerror의 핸들러, write나 char을 통해 함수를 사용하는 방법 등도 필터링 되어 있는 것 같습니다. 간단하게 필터링 하는 방법으로는 admin을 hex값으로 바꾸어서 우회하는 방법이 있습니다. 먼저 hex값으로 바꾼 코드는 아래의 코드였습니다. 이렇게 넣은 이유는 sql injection을 할.. XSS challenges 7,8,10,15 XSS challenges 7,8,10,15입니다. 11~14가 없는 이유는 11번은 문제가 날아갔고 12~14번은 구버전 IE 브라우저에서만 풀수 있다고 합니다. 7번 7번은 6번과 매우 비슷했습니다. 그런데 6번처럼 입력을 하면 위처럼 더블 쿼터가 남고 뒷 부분 괄호가 충족이 되지 않는 것을 알 수 있습니다. 그래도 이벤트 핸들러는 정상적으로 넣을 수 있기 때문에 조금만 수정해서 문제를 해결했습니다. 8번 8번 문제입니다. 버튼을 보니 링크를 만들어주는 버튼인 거 같긴합니다. 그래서 hi를 입력한 뒤 소스코드를 확인했습니다. href 부분에 hi가 들어간 것을 알 수 있습니다. 이 형태는 XSS game 2번을 해결할 때 썻던 a 태그에 속성을 넣어준 것과 매우 유사합니다. Link 이것과 그냥 같은.. XSS challenges 1~6 XSS challenges 1~6라업입니다. 1번 1번은 별다른 특징 없이 텍스트 박스에 를 넣어주어 alert해주면 문제가 해결됩니다. 2번 2번은 html태그를 종료하고 그 이후에 script태그를 통해 alert를 띄워주면 됩니다. 태그를 끝내고 싶다면 ">를 통해 끝내주면 됩니다. 정답 : "> 3번 3번부터는 소스코드를 보면서 풀어야하는 문제입니다. 위처럼 나를 선택할 수 있는 부분이 select태그를 통해 적혀있습니다. XSS challenges의 코드를 수정할 수 있기 때문에 나라 이름 하나를 바꾼뒤 나라 선택에서 script태그 부분을 클릭하고 Search를 눌러주면 alert가 실행되어 문제가 해결됩니다. 4번 4번은 힌트처럼 숨겨진 입력 필드를 찾아내야합니다. 페이지 소스 코드를 쭉 둘.. sfw6 (XSS) sfw6은 보이는 것처럼 게시판 형태의 플레이리스트(?)가 나열되어 있는 페이지로 시작합니다. 처음에 이 문제를 보고 순간 멍 때렸던 것 같습니다. 어디서부터 손을 대야할지 모르는 문제였습니다. 기존까지 SQL 인젝션 문제만 풀다보니 생각이 되게 SQL 인젝션에 국한되어 있었던 것 같습니다. 그래서 소스코드를 보니 떡하니 아래와 같은 메시지가 있었습니다. 웹 문제도 소스코드를 보면서 분석해야 한다는 것을 간과했던 것 같습니다. 메시지를 해석해보면 옳지 않은 노래라면 사이트에 링크를 alert하라였습니다. "제목.kr"을 입력하면 되고 공백은 있으면 안 된다였습니다. 열심히 노래 제목을 검색해 보니 some things never change라는 노래에 x표시가 되어 있더군요. 그래서 그대로 입력했지만 당.. sfw5 (information schema SQL injection) sfw5 문제에 들어가면 위 사진처럼 회원가입 페이지와 로그인 페이지로 나뉩니다. 아이디와 비밀번호는 간단하게 만들어서 로그인해보겠습니다. 이 부분은 제가 삽질한 부분도 포함됩니다. 지금처럼 로그인을하면 왼쪽 상단에 아이디가 뜨고 게시글을 적으면 아래에 게시글 목록들이 뜨는 것을 알 수 있습니다. 그리고 플래그 부분을 들어가보니 관리자 계정의 아이디와 비밀번호를 획득해야 플래그를 얻는 구조 같습니다. 삽질 시작 1... 제가 이 문제에서 엄청 삽질을 많이 했습니다. 우선 처음은 취약점 위치를 잘못 파악해서 한 삽질이었습니다. information schema관련 문제를 풀 때는 일정한 순서가 있습니다. 1. 칼럼 갯수를 알아낸다. 2. 칼럼 갯수를 알냈다면 database()를 통해 현재 사용중인 db이.. sfw4 (error based SQL injection) sfw는 에러 기반 SQL injection 문제입니다. 이 문제는 union select문을 이용해 간단히 에러를 확인할 수 있었습니다. 간단한 에러 기반 SQL injection에 사용되는 쿼리인 pw=' or id='admin' and (select 1 union select length(pw)=10) %23을 입력해주니 아래 결과처럼 에러 메시지가 보였습니다. 그래서 길이 값을 바꿔가면서 삽질을 했더니 길이를 알아낼 수 있었습니다. 위의 쿼리문에서 length(pw)를 pw like 구문으로 쿼리문을 수정해주어 아래의 파이썬 코드로 문제를 해결했습니다. import requests url='http://sfwebstudy.ml/sfw4/sw4.php?' header={'Cookie':'PHPSES.. sfw3 (time based SQL injection) sfw3번입니다. 이 문제를 처음 풀 때는 sleep, benchmark 함수가 필터링으로 막혀있길래 저는 당연히 에러 기반 sql injection 문제로 알고 삽질을 했습니다. 하지만 아무리 에러 기반으로 풀어도 별다른 실마리를 발견하지 못했습니다. 그래서 이 문제를 내준 동아리 친구에게 물어보니 time based SQL injection 문제라는 이야기를 듣고 충격을 좀 받았습니다. 그래서 열심히 구글링과 삽질을 통해 sleep함수와 benchmark 함수 없이 time based sql injection 방법을 검색해보니 헤비 쿼리를 이용한 방법이 있었습니다. 이 방법은 benchmark함수와 비슷하게 굉장히 큰 값을 db에서 가져와서 시간을 지연시키는 방식입니다. 여기서 사용한 쿼리는 (sel.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 13 다음