CTF 문제/Segfault - Web
-
XSS 7CTF 문제/Segfault - Web 2023. 5. 17. 16:36
Segfault - XSS 7 문제 풀이입니다 키로거를 이용해 admin 계정을 탈취하는 문제이다 ( 하지만 제목은 XSS 이다 ) 로그인하기전 문의 게시판에 onclick 이벤트에 prompt가 사용이 된다 alert() 역시 잘 작동한다 비밀번호라고 적혀있는 부분을 바꿔보면 어떨까 시도를 해 보았다 get_pw 함수는 hidden으로 숨겨져있는 password를 이용하므로 hidden을 지우고 시도해보았다 별 다른 특이점은 없었다 입력할 수 있어서 비밀이라고 입력하고 전송해 보았다 URL 인코딩이 되어있다 정상적으로 전송된것 같다 하지만 alert()는 실패하였다 우선 이곳에 가능성이 있음을 확인하고 다른데로 가보았다 로그인하고 작성된 글을 수정하는데 위와같은 상황이 발생하였다 ( 제목 아래에 //"..
-
XSS 3CTF 문제/Segfault - Web 2023. 5. 17. 00:31
Segfault - XSS 3 문제 풀이입니다 admin 계정의 쿠키를 탈취하는 문제이다 '" 를 기본적으로 넣어보았으나 필터링에 걸려 실패하였다 다른 것들을 계속 시도해 보았지만 문자열로 바로 입력이 되어 실패하였다 다른 곳으로 가서 여기저기 다 둘러보던 중 이름을 적는 칸에 값이 전달이 됨을 확인하였다 값이 전달되니 '" 를 넣고 전달해 보니 화면이 바뀌었다 바로 XSS 공격을 하기위해 문구를 작성하였다 입력이 되는 곳이 input이므로 input을 완성해 주고 script를 새로 만들어주면 된다 URL을 만들어줬다 실행시키니 위와 같이 성공적으로 alert창이 나왔다
-
XSS 2CTF 문제/Segfault - Web 2023. 5. 16. 17:05
Segfault - XSS 2 문제 풀이입니다 XSS 2 문제는 Reflected XSS을 이용하는 문제이다 Reflected XSS란 다른 누군가가 링크를 클릭하거나 실행하여 쿠키와 같은 정보를 훔쳐오도록 하는 방법이다 Reflected XSS는 GET 방식만 가능하기에 POST 방식으로는 불가능하다 문제는 admin 계정의 쿠키를 탈취하는 문제이다 검색창에 nor을 입력하고 검색하니 입력한 문자 그대로 알림 창에 나왔다 버프 스윗에서 보니 스크립트 코드 안에 입력한 값이 들어가도록 되어있다 위와 같이 입력하고 검색해보니 알림 창이 떴다 완성된 것으로 URL을 복사하였다 URL이 너무 길어 딱 봐도 수상해 보여서 URL을 짧게 바꿔주도록 했다
-
DB 데이터 추출 3CTF 문제/Segfault - Web 2023. 5. 3. 23:29
Segfault - DB 데이터 추출 3 문제 풀이입니다 1. 주어진 계정으로 로그인을 시도해본다 2. 정상적으로 로그인이 되었고 위와 같은 화면이 나타났다 3. admin으로 로그인을 시도해 본다 4. 로그인에 실패하였고 SQL Injection을 시도해 본다 5. 전달결과를 보니 위와같이 입력값이 그대로 전송되지 않고 바뀌어 전송이 됨을 알 수 있다 6. 로그인에 실패했을때는 200 OK이며 문장의 길이는 1916이고, 성공했을때는 302 Found 이며 문장의 길이는 1276으로 다르다 7. 4번에서 시도했던 SQL Injection이 성공하였으므로 변형하여 로그인을 시도했다 8. 7번의 SQL Injection의 성공으로 SELECT 문장이 사용이 되는지 확인을 해보았다 9. 8번의 SQL Inj..
-
DB 데이터 추출 2CTF 문제/Segfault - Web 2023. 5. 2. 15:41
Segfault - DB 데이터 추출 2 문제 풀이입니다 1. 문제 사이트에 접속한다 2. SQL Injection을 시도해 보았고 에러메시지가 나타남을 확인할 수 있다 3. 에러메시지를 이용하기 위하여 concat 을 이용한 질의문을 작성해 주고 결과는 성공적이었다 4. 데이터베이스 이름을 알아내었다 5. 테이블 이름을 알아내었다 6. 알아낸 테이블 이름으로 컬럼 이름을 알아내었다 7. 테이블 이름과 열 이름을 이용하여 Flag 획득에 성공하였다
-
DB 데이터 추출 1CTF 문제/Segfault - Web 2023. 5. 2. 14:31
Segfault - DB 데이터 추출 1 문제 풀이입니다 1. 문제 사이트에 접속하면 위와 같은 화면이 나온다 2. nor을 입력하니 아래처럼 정상적으로 값이 나왔다 3. sql injection을 시도해 보니 정상적으로 값이 나왔다 4. UNION을 이용하기 위해 null을 사용하여 컬럼의 개수를 알아내었다 5. 데이터 베이스 이름을 알아내었다 6. 데이터베이스에서 테이블의 이름을 확인하였다 7. 위에서 얻어낸 테이블에서 컬럼의 이름을 알아내었다 8. 알아낸 테이블의 이름과 컬럼 이름을 이용하여 Flag를 획득하였다
-
로그인 우회 - 2CTF 문제/Segfault - Web 2023. 4. 30. 12:02
Segfault - 로그인 우회 문제 풀이입니다 1. 아이디와 비밀번호가 주어졌고 admin으로 로그인을 해야 한다 2. 주어진 계정으로 로그인을 해 보았다 3. 아이디와 비밀번호가 입력이 되고 전송버튼을 눌렀다 4. 정상적으로 로그인이 되었고 위와 같은 이미지가 나타났다 5. 성공했을 때 11번째 줄에 result는 ok 이다 6. 실패했을 때는 result의 값이 fail이다 7. 그렇다면 result의 값을 ok 로 바꿔서 응답받도록 시도했다 8. fail을 ok로 바꿔서 정보를 보냈다 9. 다시 로그인 페이지로 돌아왔다 10. 로그인 완료 페이지로 이동하기 위해 응답값을 바꿔주기로 하였다 11. 응답값에 보면 다시 로그인 페이지로 돌아가라고 되어있는데 드래그해놓은 부분을 삭제했다 12. 다른 데는..
-
미스터 브루트CTF 문제/Segfault - Web 2023. 4. 30. 01:03
Segfault - 미스터 브루트 문제 풀이입니다 1. Brute Force 문제이다 2. 4자리의 숫자를 모두 넣어봐야 한다 3. Intruder로 보내어 Brute Force를 해보려고 한다 4. 변수 설정을 해줬다 5. 우선 0000 부터 0999까지 시도를 해보았으나 무료 버전이어서 시간이 갈수록 느려졌다 6. /6/checkOTP.php뒤에 값으로 입력한 값이 전달이 됨을 확인하고 파이썬의 requests 모듈을 이용하기로 했다 7. 내가 보내는 url을 확인하기 위해 출력을 해 주었고 성공했다면 응답내용이 달라질 것이므로 res.content를 이용해서 확인을 해 주었다 8. 1021번의 내용이 달라서 1021을 입력하니 위와 같이 Flag가 나왔다