Season 1
-
점점 올라갈수록 난이도도 올라가며 풀리는 시간이 오래 걸리는 것 같다... 바로 문제풀이 들어가도록 하겠습니다. 1. 문제 문제 접근 시 볼 수 있는 페이지이다. 스크롤을 내리면 YES 버튼이 생성된다. 2. 문제풀이 YES 버튼을 눌러주면 실패 안내를 통해 느리다는 문구가 뜨게 된다 페이지 접근 시 YES 버튼을 빠르게 눌러야겠다는 생각이 들었으며 그림과 YES 사이에 공백이 많으므로 공백 부분을 없애 YES 버튼을 위로 올린 후 처리하는 방법을 생각해보았다. 요청 패킷을 잡아 공백을 만드는 태그를 삭제해 주었다. 첫 번째 문제에서 YES 값이 그림 바로 아래 있는 이유는 문제를 한 번에 보여주기 위해 YES 버튼을 이미지 편집을 한 것이다. 버튼을 빠르게 누르기 위해 코드 수정을 통해 버튼을 상위로 ..
suninatas/웹/7번 문제풀이점점 올라갈수록 난이도도 올라가며 풀리는 시간이 오래 걸리는 것 같다... 바로 문제풀이 들어가도록 하겠습니다. 1. 문제 문제 접근 시 볼 수 있는 페이지이다. 스크롤을 내리면 YES 버튼이 생성된다. 2. 문제풀이 YES 버튼을 눌러주면 실패 안내를 통해 느리다는 문구가 뜨게 된다 페이지 접근 시 YES 버튼을 빠르게 눌러야겠다는 생각이 들었으며 그림과 YES 사이에 공백이 많으므로 공백 부분을 없애 YES 버튼을 위로 올린 후 처리하는 방법을 생각해보았다. 요청 패킷을 잡아 공백을 만드는 태그를 삭제해 주었다. 첫 번째 문제에서 YES 값이 그림 바로 아래 있는 이유는 문제를 한 번에 보여주기 위해 YES 버튼을 이미지 편집을 한 것이다. 버튼을 빠르게 누르기 위해 코드 수정을 통해 버튼을 상위로 ..
2021.06.23 -
보호되어 있는 글입니다.
[Webhacking.kr] CHILD Write Up보호되어 있는 글입니다.
2021.06.23 -
이번 문제는 수정된 파일 저장위치에 있는 정답을 찾아내는 문제일 것 같음 여러가지 입력 값을 넣어서 결과 값의 차이를 알아봄 결과상, shtml 확장자 앞에 값들이 바뀌는 것을 알 수 있음 (이 부분이 힌트가 될 것 같은데 shtml?이 무엇일까) shtml 확장자란 html파일에 ssi 코드가 들어 있는 확장자로서, ssi 코드의 실행은 당연히 웹서버에서 이루어진다는 것임 (http://math.ewha.ac.kr/~jylee/CompMath.html/html.yonsei/ssi.html) 위의 사이트를 참고하면 cgi 환경변수를 사용해야 한다는 것을 알 수 있음 /var/www/hackthissite.org/html/missions/basic/8 부분에 답이 있다고 했으므로, 를 활용해서, 값을 입력..
(HackThisSite) Basic missions - Level 8이번 문제는 수정된 파일 저장위치에 있는 정답을 찾아내는 문제일 것 같음 여러가지 입력 값을 넣어서 결과 값의 차이를 알아봄 결과상, shtml 확장자 앞에 값들이 바뀌는 것을 알 수 있음 (이 부분이 힌트가 될 것 같은데 shtml?이 무엇일까) shtml 확장자란 html파일에 ssi 코드가 들어 있는 확장자로서, ssi 코드의 실행은 당연히 웹서버에서 이루어진다는 것임 (http://math.ewha.ac.kr/~jylee/CompMath.html/html.yonsei/ssi.html) 위의 사이트를 참고하면 cgi 환경변수를 사용해야 한다는 것을 알 수 있음 /var/www/hackthissite.org/html/missions/basic/8 부분에 답이 있다고 했으므로, 를 활용해서, 값을 입력..
2021.06.21 -
[WEB] simple-ssti 문제풀이 SSTI(Server Side Template Injection) 취약점은 공격자가 서버 측의 기본 템플릿 구문을 이용하여 악성 페이로드를 삽입한 다음 서버 측에서 실행되면서 생기는 취약점이며 웹 템플릿 엔진마다 사용되는 페이로드가 다르다.. 템플릿 언어란 언어의 변수 및 문법을 html 안에서 쓸 수 있도록 제공해주는 언어이다. django의 경우는 파이썬과 html을 같이 사용할 수 있다. 이런 템플릿을 이용하면 간단하면서 동적인 페이지를 만들 수 있다. flask의 jinja2 문법을 사용할 경우 {{..}} 형태의 템플릿을 사용한다. {{7*7}}이 템플릿 언어로 삽입되면 49라는 결과 값을 출력한다. 아래 사진은 통용적인 템플릿 언어를 사용하면서 서버 측..
[dreamhack] simple-ssti 문제풀이[WEB] simple-ssti 문제풀이 SSTI(Server Side Template Injection) 취약점은 공격자가 서버 측의 기본 템플릿 구문을 이용하여 악성 페이로드를 삽입한 다음 서버 측에서 실행되면서 생기는 취약점이며 웹 템플릿 엔진마다 사용되는 페이로드가 다르다.. 템플릿 언어란 언어의 변수 및 문법을 html 안에서 쓸 수 있도록 제공해주는 언어이다. django의 경우는 파이썬과 html을 같이 사용할 수 있다. 이런 템플릿을 이용하면 간단하면서 동적인 페이지를 만들 수 있다. flask의 jinja2 문법을 사용할 경우 {{..}} 형태의 템플릿을 사용한다. {{7*7}}이 템플릿 언어로 삽입되면 49라는 결과 값을 출력한다. 아래 사진은 통용적인 템플릿 언어를 사용하면서 서버 측..
2021.06.20 -
- user name과 database 간의 관계를 찾아보자. - Start - USER 이름을 입력하고 LOGIN 버튼을 누르면 user 이름 별로 게시판에 접속 된다. - 문제에서 USER name 과 database 간의 관계를 찾으라고 했으니, 여러가지 USER name을 입력해 보자. - 'admin' 입력 시, 접속이 제한된다. - 입력 도중 특정 특수문자(/) 입력 시, 에러 발생 확인 - 데이터베이스 파일을 열 수 없다는 에러 내용 - 사용자 이름 별로 데이터베이스 파일이 저장되는 것으로 보인다. - 파일 경로 : ./db/wkrm_사용자이름.db - 위 경로를 요청하면 데이터베이스 파일을 다운로드 할 수 있게 된다. - 제한되어 있는 admin 데이터베이스 파일을 다운로드 해보자. - w..
Wargame - DB is really GOOD- user name과 database 간의 관계를 찾아보자. - Start - USER 이름을 입력하고 LOGIN 버튼을 누르면 user 이름 별로 게시판에 접속 된다. - 문제에서 USER name 과 database 간의 관계를 찾으라고 했으니, 여러가지 USER name을 입력해 보자. - 'admin' 입력 시, 접속이 제한된다. - 입력 도중 특정 특수문자(/) 입력 시, 에러 발생 확인 - 데이터베이스 파일을 열 수 없다는 에러 내용 - 사용자 이름 별로 데이터베이스 파일이 저장되는 것으로 보인다. - 파일 경로 : ./db/wkrm_사용자이름.db - 위 경로를 요청하면 데이터베이스 파일을 다운로드 할 수 있게 된다. - 제한되어 있는 admin 데이터베이스 파일을 다운로드 해보자. - w..
2021.06.20 -
어떤한 기능을 가진 페이지인지는 한번에 파악을 못 했지만, 힌트로 SQL Injection 문제라고 알려주고 있다. HTML 코드를 살펴봤지만 힌트로 보이는 것은 없었다. 그래서 나는 일단 값을 보내서 어떤 결과를 출력하는지 살펴봤다. 1을 보내니, Result 값으로 1이 출력되었다. 1말고 다른 정수들을 넣어봤지만, 결과는 0이 출력되었다. 아마 False 값으로 0이 출력되는 듯하다. True로 만들어서 보내니, 1이 출력되었다. 일단 직접 확인한 테이블 안에 있는 no는 1밖에 없는 것으로 보인다. SQLi을 진행하기 전에 필터링되는 문자들을 찾아봤다. 직접 손으로 테스트를 해보니, 공백, =, like, >, >>', columnName) return columnName url = 'https:..
[Webhacking.kr] Old - 13 Write Up어떤한 기능을 가진 페이지인지는 한번에 파악을 못 했지만, 힌트로 SQL Injection 문제라고 알려주고 있다. HTML 코드를 살펴봤지만 힌트로 보이는 것은 없었다. 그래서 나는 일단 값을 보내서 어떤 결과를 출력하는지 살펴봤다. 1을 보내니, Result 값으로 1이 출력되었다. 1말고 다른 정수들을 넣어봤지만, 결과는 0이 출력되었다. 아마 False 값으로 0이 출력되는 듯하다. True로 만들어서 보내니, 1이 출력되었다. 일단 직접 확인한 테이블 안에 있는 no는 1밖에 없는 것으로 보인다. SQLi을 진행하기 전에 필터링되는 문자들을 찾아봤다. 직접 손으로 테스트를 해보니, 공백, =, like, >, >>', columnName) return columnName url = 'https:..
2021.06.16