분류 전체보기
-
그동안 익숙했던 문제 스타일이 아닌 새로운 문제 스타일이 나왔다. 사이트에서 입력 받는 파라미터는 shit 하나이며, 이 파라미터는 from prob_giant의 사이에 들어가게 된다. shit의 필터링은 공백, \n, \r, \t이며, 입력 길이가 1보다 커서는 안된다. 나는 필터링 목록 대신에 사용할 만한 것을 생각하다가, addslashes 함수의 우회 방법이 생각이 났다. addslashes 함수의 우회 방법은 특정 인코딩 기법을 적용한 함수에 %01와 같이 의미가 없는 URL 인코딩 값을 넣어줌으로써 우회를 하는 방법이다. 이처럼 의미가 없는 URL 인코딩 값을 보내주면 될 것 같아서 %01를 서버에 보내봤다. 공백처리는 되었지만, 결과값을 반환하지 않고 있다. 인터넷에 검색하니, %01 ~ %..
[Lord of SQLInjection] Giant Write UP그동안 익숙했던 문제 스타일이 아닌 새로운 문제 스타일이 나왔다. 사이트에서 입력 받는 파라미터는 shit 하나이며, 이 파라미터는 from prob_giant의 사이에 들어가게 된다. shit의 필터링은 공백, \n, \r, \t이며, 입력 길이가 1보다 커서는 안된다. 나는 필터링 목록 대신에 사용할 만한 것을 생각하다가, addslashes 함수의 우회 방법이 생각이 났다. addslashes 함수의 우회 방법은 특정 인코딩 기법을 적용한 함수에 %01와 같이 의미가 없는 URL 인코딩 값을 넣어줌으로써 우회를 하는 방법이다. 이처럼 의미가 없는 URL 인코딩 값을 보내주면 될 것 같아서 %01를 서버에 보내봤다. 공백처리는 되었지만, 결과값을 반환하지 않고 있다. 인터넷에 검색하니, %01 ~ %..
2021.07.24 -
AWS를 통한 웹 3-Tier Architecture를 구성하고 이에 따른 단계적 설정을 진행해보도록 하겠습니다. 최근엔 서버리스 Architecture를 구성해 서버나 트래픽을 분산처리 해주는 ELB 없이 많이 구축하는데 서버리스 Architecture는 이번 3-Tier 구성 완료 후에 다뤄볼까 합니다 :) 위의 그림은 기본적인 Web 3Tier Architecture 입니다. 데이터 흐름을 보자면, 외부에서 Client에 의해 Request가 들어오면 외부 ELB를 통해 웹서버로 로드밸런싱되고, 내부 ELB를 통해 WAS 서버를 거쳐 Database로 접근하는 흐름을 가집니다. 반대로 내부에 있는 서버가 외부와 통신할 경우 NAT Gateway를 통해 통신을 하게 됩니다. 해당 구조를 구성하기 위해..
AWS 3-Tier Architecture 구성 ① OverviewAWS를 통한 웹 3-Tier Architecture를 구성하고 이에 따른 단계적 설정을 진행해보도록 하겠습니다. 최근엔 서버리스 Architecture를 구성해 서버나 트래픽을 분산처리 해주는 ELB 없이 많이 구축하는데 서버리스 Architecture는 이번 3-Tier 구성 완료 후에 다뤄볼까 합니다 :) 위의 그림은 기본적인 Web 3Tier Architecture 입니다. 데이터 흐름을 보자면, 외부에서 Client에 의해 Request가 들어오면 외부 ELB를 통해 웹서버로 로드밸런싱되고, 내부 ELB를 통해 WAS 서버를 거쳐 Database로 접근하는 흐름을 가집니다. 반대로 내부에 있는 서버가 외부와 통신할 경우 NAT Gateway를 통해 통신을 하게 됩니다. 해당 구조를 구성하기 위해..
2021.07.23 -
[WEB] weblog-1 문제풀이 문제를 확인해보자. 주어진 코드와 로그를 분석해서 주어진 질문의 답을 찾으라고 한다. 일단 파일부터 다운로드 받아보자. 웹 서버의 Access log와 php로 작성된 소스코드 파일을 확인할 수 있다. 문제에 접속해보자. Access log를 확인해보자. 상당히 눈이 아프기 때문에 엑셀 데이터 나누기 기능을 이용하여 보기 좋게 정리해보자. 공백으로 구분하고 로그 분석에 불필요해 보이는 셀들은 숨겨주자. admin 계정의 pw가 탈취된 것을 찾아보자. board.php에서 sort 파라미터에 sql 쿼리를 삽입하여 (username+0x3a+password) 문자열을 한글자씩 맞춰보고 있다. 보다보니 쿼리의 결과가 참일 때 응답 패킷의 길이가 1192이고 거짓일 때 응답..
[dreamhack] weblog-1 문제풀이[WEB] weblog-1 문제풀이 문제를 확인해보자. 주어진 코드와 로그를 분석해서 주어진 질문의 답을 찾으라고 한다. 일단 파일부터 다운로드 받아보자. 웹 서버의 Access log와 php로 작성된 소스코드 파일을 확인할 수 있다. 문제에 접속해보자. Access log를 확인해보자. 상당히 눈이 아프기 때문에 엑셀 데이터 나누기 기능을 이용하여 보기 좋게 정리해보자. 공백으로 구분하고 로그 분석에 불필요해 보이는 셀들은 숨겨주자. admin 계정의 pw가 탈취된 것을 찾아보자. board.php에서 sort 파라미터에 sql 쿼리를 삽입하여 (username+0x3a+password) 문자열을 한글자씩 맞춰보고 있다. 보다보니 쿼리의 결과가 참일 때 응답 패킷의 길이가 1192이고 거짓일 때 응답..
2021.07.22 -
[WEB] blind-command 문제풀이 Blind Command Injection은 사용자의 입력이 시스템 명령에 사용될 수 있는 공격인 OS Command Injection의 한 종류로 시스템 명령의 수행 결과 값을 알 수 없을 때 사용하는 방법이다. 문제를 확인해보자. Read the flag file XD? 무슨 말 하는거야 한글로 해ㅡㅡ 일단 접속해보자. 오 커맨드 인젝션 문제인가보다. 진행시켜. 어라 그대로 뱉어내네. echo인건가..... 모르겠으니 일단 소스코드를 확인해보자. #!/usr/bin/env python3 from flask import Flask, request import os app = Flask(__name__) @app.route('/' , methods=['GET'..
[dreamhack] blind-command 문제풀이[WEB] blind-command 문제풀이 Blind Command Injection은 사용자의 입력이 시스템 명령에 사용될 수 있는 공격인 OS Command Injection의 한 종류로 시스템 명령의 수행 결과 값을 알 수 없을 때 사용하는 방법이다. 문제를 확인해보자. Read the flag file XD? 무슨 말 하는거야 한글로 해ㅡㅡ 일단 접속해보자. 오 커맨드 인젝션 문제인가보다. 진행시켜. 어라 그대로 뱉어내네. echo인건가..... 모르겠으니 일단 소스코드를 확인해보자. #!/usr/bin/env python3 from flask import Flask, request import os app = Flask(__name__) @app.route('/' , methods=['GET'..
2021.07.21 -
[WEB] web-ssrf 문제풀이 SSRF(Server Side Request Forgery)는 CSRF와 다르게 클라이언트 측의 요청을 변조시키는 것이 아닌 서버 측 자체의 요청을 변조하여 공격자가 원하는 형태의 악성 행위를 서버에 던져주면 서버가 검증 없이 그대로 받아 그에 따른 행위/응답을 해주는 공격을 말한다. 이 공격은 주로 사용자 입력을 받아 서버가 직접 다른 웹이나 포트에 접근해서 데이터를 가져오는 기능에서 발생하며, 외부가 아닌 내부에서 공격을 수행하게 되므로 접근제어 정책을 우회할 수 있는 공격이다. 문제를 확인해보자. Flask로 작성된 Image Viewer 서비스에서 SSRF 취약점을 이용해 /app/flag.txt에 위치한 플래그를 획득하는 문제이다. 접속해보자. Image Vi..
[dreamhack] web-ssrf 문제풀이[WEB] web-ssrf 문제풀이 SSRF(Server Side Request Forgery)는 CSRF와 다르게 클라이언트 측의 요청을 변조시키는 것이 아닌 서버 측 자체의 요청을 변조하여 공격자가 원하는 형태의 악성 행위를 서버에 던져주면 서버가 검증 없이 그대로 받아 그에 따른 행위/응답을 해주는 공격을 말한다. 이 공격은 주로 사용자 입력을 받아 서버가 직접 다른 웹이나 포트에 접근해서 데이터를 가져오는 기능에서 발생하며, 외부가 아닌 내부에서 공격을 수행하게 되므로 접근제어 정책을 우회할 수 있는 공격이다. 문제를 확인해보자. Flask로 작성된 Image Viewer 서비스에서 SSRF 취약점을 이용해 /app/flag.txt에 위치한 플래그를 획득하는 문제이다. 접속해보자. Image Vi..
2021.07.21 -
처음 들어가는 순간 Hidden Flag와 로봇 사진이 나왔다. 습관적으로 소스보기(F12)를 눌러보자. 소스를 확인해보니 img 태그에 링크를 확인할 수 있었다. 한번 접근해보자. 흠 로봇신문 홈페이지에서 이미지를 가져온듯 하다.. 로봇이미지 & 로봇신문 .. 로봇을 공통점으로 생각하다 보니 웹과 관련된 문제여서 robots.txt가 생각이 났다. robots.txt에 접근해 보자. http://ctf.j0n9hyun.xyz:2020/robots.txt 접근하니 경로인 /robot_flag/가 나왔다. 저곳에 flag 값이 있을거 같다. 접근해보자. 이렇게 flag 값을 확인할 수 있었다! robots.txt 인터넷 검색엔진에서 보안이 필요한 내용을 검색엔진에 의해 검색등을 통한 노출이 되지 않도록 웹..
[HackCTF] Web - / 풀이처음 들어가는 순간 Hidden Flag와 로봇 사진이 나왔다. 습관적으로 소스보기(F12)를 눌러보자. 소스를 확인해보니 img 태그에 링크를 확인할 수 있었다. 한번 접근해보자. 흠 로봇신문 홈페이지에서 이미지를 가져온듯 하다.. 로봇이미지 & 로봇신문 .. 로봇을 공통점으로 생각하다 보니 웹과 관련된 문제여서 robots.txt가 생각이 났다. robots.txt에 접근해 보자. http://ctf.j0n9hyun.xyz:2020/robots.txt 접근하니 경로인 /robot_flag/가 나왔다. 저곳에 flag 값이 있을거 같다. 접근해보자. 이렇게 flag 값을 확인할 수 있었다! robots.txt 인터넷 검색엔진에서 보안이 필요한 내용을 검색엔진에 의해 검색등을 통한 노출이 되지 않도록 웹..
2021.07.20