CSRF_3
우선 페이지는 1,2와 같다. 게시글의 XSS 또한 똑같이 통함을 확인 하였다. 다만 회원정보 수정페이지에서 다른점을 발견하였다. CSRF토큰이 존재한다는 것이다. 따라서 이 CSRF토큰을 가져와 같이 전송을 하기 위해서 우리는 iframe창을 두개를 만들어 하나는 CSRF토큰을 로드하고 나머지 하나는 CSRF토큰을 삽입한 폼을 전송 할 것이다.
우선 페이지는 1,2와 같다. 게시글의 XSS 또한 똑같이 통함을 확인 하였다. 다만 회원정보 수정페이지에서 다른점을 발견하였다. CSRF토큰이 존재한다는 것이다. 따라서 이 CSRF토큰을 가져와 같이 전송을 하기 위해서 우리는 iframe창을 두개를 만들어 하나는 CSRF토큰을 로드하고 나머지 하나는 CSRF토큰을 삽입한 폼을 전송 할 것이다.
이 문제의 목표는 CSRF을 통해 피해자의 계정 비밀번호를 임의로 바꾸는 것이다. 메인페이지는 다음과 같다. guest1으로 로그인하면 다음과 같은 페이지가 나오게 된다 우리의 목적은 비밀번호 변경이므로 마이페이에서 비밀번호를 변경해보도록 하겠다. 다음과 같이 비밀번호 1234로 폼을 작성하고 요청을 보내보았다. 회원정보 수정이 완료되었다는 alert창과 함께 메인페이지로 돌아감을 알 수 있다. 이후 repeater에 method를 get으로 바꾸고 비밀번호 변경칸인 pw의 값을 1111로 변경한 뒤 url을 복사하여 전송한 결과 비밀번호가 변경되었다는 alert창이 떴다. (http://ctf.segfaulthub.com:7777/csrf_1/mypage_update.php?id=&info=&pw=11..
여기의 목표는 XSS로 키로거를 삽입하는 것이다. XSS 3과 마찬가리로 검색 페이지에서 검색한 결과가 다음과 같이 나온다. 잘 안보이나 설명하면 a태그 사이에 입력값인 aaaa가 출력된다. 만약 글이 없으면 다음과 같이 alert으로 존재하지 않는다는 창이 뜬다 script코드를 제목에 작성하고 검색을 하게 되면 다음과 같이 코드가 실행된다. 이제 여기에 키로거를 만들면 된다. 코드 확인은 아래의 글에 작성하였다. https://iqsp.tistory.com/56 Keylogger_JS 키로거는 컴퓨터 또는 모바일장치에서 사용자의 키입력을 기록하는 소프트웨어나 하드웨어를 말한다. 키로거는 운영체제 레벨에서 작성하거나 악성 소프트웨어 등으로 숨겨진 상태로 실행 될 iqsp.tistory.com 다만 이 ..
여기에서의 목표는 XSS취약점을 찾아서 alert를 띄우는 것이다. 이 페이지에서 클라이언트측의 입력이 출력되는 곳은 오직 게시글 검색 한곳이다. 검색창에 값을 입력하게 되면 다음과 같은 응답이 나오게 된다. 작성자 제목 내용 User ID Title Views Date 글쓰기 script태그 사이에 있는 alert함수로 입력값이 출력이 되고 있다. XSS가 성공하기 위해서는 get 방식의 전송이 필요하므로 burp swip의 repeater에서 change response method로 전송방식을 get으로 전송하였더니 같은 응답이 나왔다. 즉 현제 페이지에서는 XSS취약점이 있다는 것이다. 태그를 쓰기위한 특수문자인 ,',"을 넣어서 전송을 해 보았다. 그 결과는 다음과 같다. 즉, 위에서 사용한 특..
우선 mario/mariosuper로 로그인이 정상적으로 이루어지며 reapater에서는 로그인페이지로 돌아가는것을 확인 할 수 있다. 반면 로그인 실패시 창이 넘어가지 않는것과 더불어 Warming이 나오는 것을 볼 수 있다. 1. mario'#/mariosuper입력 - > 로그인성공 mario'#/mariosuper입력 -> 로그인 실패 mario' and '1'='1/mariosuper 입력 -> 로그인 성공 select ? from ?? where ???=ID and ????=Password select ? from ?? where ???=ID 위의 sql문과 Password를 검증하는 형태로 이루어진것으로 추측 2. mario' and ('test'='test') and '1'='1/mario..
1. 우선 sql injection을 확인하기 위해 id에 이상한 sql문 삽입 mario' dfdfasdf => 에러 발생 및 출력 Could not update data: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'osadsdf'' at line 1 password에서는 에러가 발생하지 않음 ->select ? form ?? where ???='@@@' 2. db명 : sqli_2 mario' and updatexml(null, concat(0x3a, (select 'test')), null) and 1=..
db에서 flag 구하기. 1. 데이터 검색 가능. normaltic검색시 데이터 출력되며 일부 단어만 검색해도 데이터 출력됨. 다만 ID가 아닌 level, Rank Point, Rate는 검색 되지 않음. -> select ?? form ??? where ???? like '%normaltic%' mal%' 2. 취약점 확인. mal%' and '1%'='1 위 sql문 삽입 가능 3. 컬럼 수 : 4개 mal%' order by 4# 가능, 5 불가 4. mal%' union select '1','2','3','4'# 삽입 1,2,3,4가 순서대로 출력됨 5. db명 : sqli_1 mal%' union select database(),'2','3','4'# 6. 컬럼 명 : flag_table, ..