일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- useMutation error
- 비동기배열
- 앙버터마카롱
- 잠실새내
- 도그존
- 고르드
- graphql react native
- graphql 400
- 잠실새내 도그존
- graphql with reactnative
- 홍대 카페 장쌤
- 홍대 토라비
- promise처리
- graphql mutation error
- typescript
- 화이트 해커를 위한 웹 해킹의 기술
- apolloclient
- graphql
- 토라비
- 홍대 예술
- 지보싶 신촌점
- 운정 소바동
- graphql with RN
- 금별맥주
- 화이트해커를 위한 웹 해킹의 기술
- 신촌 소문난집
- apollo react native
- promise메서드
- 예쁜술집 예술
- 비동기배열처리방법
- Today
- Total
목록wargame 풀이 (61)
yehey's 공부 노트 \n ο(=•ω<=)ρ⌒☆
21번 풀이 아...이번 문제는 블라인드 SQL이다...(제일 싫다ㅠ) 우선 guest / guest 로 로그인 했을 때는 로그인에 성공했다. 그리고 admin / admin 으로 로그인 했을 때는 비밀번호가 틀렸는지 login fail 이 출력되었다. 그리고 이번에는 아이디는 admin, 패스워드에는 ' or '1'='1 을 넣어주었더니 wrong password 라고 출력되었다. 여기서 우리는 패스워드를 알아내가는 과정에서 참일 경우 wrong password가 거짓일 경우 login fail이 출력된다는 것을 알 수 있다 이를 바탕으로 파이썬 코드를 작성해보자 import string import requests my_cookies=dict(PHPSESSID="katr90f6fb6blaptmr81e..
LOL 풀이 맨 처음 문제를 누르면 위와 같은 페이지가 출력된다 아래 버튼을 누르면 다음과 같은 페이지가 나온다 search user 라길래 아무거나 입력해봤다 그랬더니 op.gg 사이트가 출력되었다. 이래서 문제 이름이 LOL이었나보다 우리는 op.gg로 이동할게 아니라 첫 페이지의 http://ctf.j0n9hyun.xyz:2035/flag.php 로 이동해야한다. 그래서 버프스위트로 요청을 가로채봤다. (캡처를 까먹어서 해당과정은 없당...) 아래쪽에 쿼리와 url 파라미터가 존재하고 현재는 op.gg가 들어가 있다. 우리는 SSRF 공격을 이용해서 op.gg 가 아닌 http://ctf.j0n9hyun.xyz:2035/flag.php 로 이동하게끔 공격을 해줄 것이다. 쿼리는 flag.php 파일..
23번 풀이 이번 문제는 script 를 이용해서 alert(1)을 띄우게 하면 문제가 해결되는 것 같다! 그래서 그대로 입력란에 복사 붙여넣기 해봤는데 no hack 이라는 문자열이 출력되었다.. 이렇게 no hack 이라는 문자열이 뜰 때는 보통 php 에서 블랙 리스트 검증을 하는 문제들을 풀 때 본 적이 있다..! (sql 인젝션같은 경우..) 이번에도 특정 문자열들을 검증하는게 아닌가 하고 이것 저것 넣어보았다. php 코드는 페이지 소스보기에서 확인할 수 없기 때문에 하나하나 넣어봐야했당... 당연히 script, alert는 필터링이 되었고 문자들을 잘라서 두글자만 넣어도 필터링이 적용되었다 그래도 다행히 특수문자들은 필터링하지 않는 듯 했다! 그럼 이제 어떻게 필터링을 우회해야할까?? 단순..
41번 풀이 41번 문제 페이지는 다음과 같다. php 소스코드를 확인해보자 view-source . / 과 같은 문자가 나온다면 삭제해서 필터링해주고 있다. 그리고 copy함수를 이용해서 cp 변수에 업로드 디렉토리와 필터링이 끝난 파일 이름을 복사하고 있다. copy가 끝난 후에는 해당 파일을 열어서 그 안에 flag를 쓰고 종료한다. 한번 버프스위트를 켜고 upload 요청을 인터셉트 해보자! 다음과 같이 인터셉트가 되었다. 파일을 선택하지 않고 upload를 눌렀기 때문에 filename이 비어있다. 이 부분을 임의로 채워서 전달해보자! Done이 출력된 것으로 보아 성공적으로 동작을 마친 것 같다. 우리가 업로드한 파일에 접근하려면 업로드 경로를 알아야 하는데 우리는 경로를 알 수 없다...
Read File 풀이 Read File 문제는 다음과 같은 페이지가 출력된다. 이미지 파일이 깨졌지만 google이라고 써 있는 걸 보면 google 의 시작 페이지와 굉장히 유사하다는 것을 알 수 있다. 먼저 해당 페이지의 URL을 확인해보자 command 로 전달되는 값이 google의 url이라는 것을 알 수 있다. 문제 페이지에서 file is flag.php 라는 힌트를 주고 있다. 그럼 flag.php 로 이동을 해보자 URL에서 command 값을 flag.php로 바꾸어 주자 이번에는 구글 페이지가 아니라 hint를 제외하고는 아무것도 출력되지 않는다! 이전에 풀었던 문제들을 바탕으로 예상해보자면 아마 flag를 필터링 하는 것 같다 한번 url 에 google url 주소 앞에 flag..
25번 풀이 25번 문제는 리눅스에서 ls 명령어를 사용하는 것과 비슷한 페이지가 보인다 URL에서 ?file=hello인 것으로 보아 현재 텍스트 창에 출력되는 파일은 hello.php라고 생각했다. 그래서 한번 file에 flag를 넣어보았다. 이제 힌트를 얻은 것 같다! FLAG는 flag.php의 코드 내에 있다는 것을 알 수 있다. 하지만 php는 페이지 코드 확인을 통해 코드를 얻어낼 수 없다. 그래서 php 취약점을 이용해서 코드를 얻어보자 이번에 사용할 취약점은 LFI 취약점이다! LFI 취약점 (Local File Inclusion) 공격할 서버(local)에 있는 파일을 사용해서 공격을 수행하는 취약점 php로 만들어진 웹 사이트에서 include, require, require_onc..
42번 풀이 이번 문제에는 문서를 download 받을 수 있는 링크가 보인다! 우리가 원하는 건 flag이므로 flag.docx를 눌러보았다 역시 쉽게 다운받아지지 않고 접근이 제한되었다. test.txt를 다운로드 해보았을 때는 잘 다운로드 되어 저장되었다. 파일 다운로드 할때 누르는 download가 html의 a태그와 비슷하게 생겨서 해당 페이지의 코드를 확인해보았다. 정상적으로 다운로드가 진행되는 test.txt의 경우 down에 인자가 전달되어 링크가 실행되는 것을 볼 수 있다. 반면에 flag.docx의 경우에는 javascript로 Access denied를 alert로 출력하는 것을 볼 수 있다. 그러면 flag.docx도 test.txt처럼 down 받을 수 있게 인자를 전달할 수 있지..
6번 풀이 소스 코드를 먼저 확인해보자 소스 코드가 매우 길지만 두 부분으로 나누어서 확인해보자! 우선 첫번째 php 구간을 확인해보면 user 쿠키값이 없을 때 조건문이 실행된다. id와 pw를 각각 20번씩 base64로 encoding 해주고 1~8까지 숫자를 문자로 치환해주는 과정을 거쳐서 user, password 쿠키에 값을 저장한다. 두번째 php 구간은 user, password 쿠키 값을 가져와서 1~8에 해당하는 문자를 숫자로 되돌려주고 치환된 값을 base64로 20번 decode 해준다. 이렇게 얻은 id값이 admin, pw값이 nimda 라면 6번문제가 해결된다! 그럼 id가 admin, pw가 nimda 라고 가정하고 각 값에 해당하는 쿠키 값을 생성해보자 첫번째 php 구간의..
45번 풀이 SQL injection을 이용해야 한다고 페이지에서 대놓고 힌트를 주고 있다! view source를 눌러서 소스코드를 확인해보자 SQL INJECTION id : pw : view-source