일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- promise메서드
- graphql with reactnative
- graphql with RN
- 화이트 해커를 위한 웹 해킹의 기술
- 화이트해커를 위한 웹 해킹의 기술
- 잠실새내
- graphql mutation error
- 금별맥주
- 앙버터마카롱
- 토라비
- 도그존
- promise처리
- graphql 400
- 비동기배열처리방법
- 지보싶 신촌점
- 홍대 카페 장쌤
- 예쁜술집 예술
- apollo react native
- typescript
- graphql
- 홍대 예술
- 운정 소바동
- graphql react native
- 홍대 토라비
- apolloclient
- 고르드
- useMutation error
- 잠실새내 도그존
- 신촌 소문난집
- 비동기배열
- Today
- Total
목록wargame 풀이/webhacking.kr (12)
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..
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이 출력된 것으로 보아 성공적으로 동작을 마친 것 같다. 우리가 업로드한 파일에 접근하려면 업로드 경로를 알아야 하는데 우리는 경로를 알 수 없다...
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
44번 풀이 이번에도 view source 버튼이 있다. 문제만 보았을 때는 SQL injection 같은데 코드를 확인해보자
18번 풀이 이번에는 대놓고 SQL injection을 이용하라고 하는 것 같다. view-source 버튼을 이용해서 해당 페이지의 소스코드를 보았다. 그 중에서도 SQL injection 공격에 필요한 부분만 가져와봤다.
17번 풀이 이번에도 소스코드를 보여주는 버튼이 없어서 F12를 눌러 페이지 코드를 확인해보았다. 우리가 입력해 전송한 pw가 unlock의 결과가 같을 때 17번 문제가 해결되는 듯 하다. unlock 변수는 직접 계산하기에는 양이 너무 많고 숫자 또한 깔끔하지 않을 것 같다. 그러니 console 창에서 계산하자. 해당 스크립트를 복사해서 계산식만 빼고는 다 지우고 전송하면 결과를 얻을 수 있다. unlock 변수에는 7809297.1이 저장된다. 따라서 pw 입력란에 7809297.1을 입력해서 전송해주면 문제가 해결된다!