일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Pwndbg
- lord of sql injection
- 포인터
- xss game
- blind sql injection
- jQuery
- 배열
- IF문
- 백준 알고리즘
- 자바스크립트
- htmlspecialchars
- github
- 파이썬
- 조건문
- sql injection
- object
- 사칙연산
- 객체
- 메소드
- 김성엽 대표님
- python
- 백준 파이썬
- suninatas 풀이
- burp suite
- window
- xss game 풀이
- 함수
- document
- element 조회
- property
- Today
- Total
power-girl0-0
[ Web ] 6번 본문
[ 풀이 ]
해당 문제는 5개의 글이 작성된 게시판이 출력되는 것을 확인할 수 있다.
글 하나씩 살펴보자.
먼저, Hint라는 글을 읽어보았다.
suninatas의 작성글을 읽으라는 힌트인 것 같다.
목록을 살펴본 결과, 3번째 README라는 글의 작성자가 suninatas이다!!
README글을 클릭하니, 아래와 같이 팝업창이 출력되는 것을 확인할 수 있다.
입력창 밑에 sql문이 출력되어 있는 것을 보아, sql injection으로 예상된다.
패스워드를 입력하는 입력창이 있는 것으로 보아, &pwd&부분에는 입력창의 값이 들어가는 것으로 예측된다.
따라서, 'or 1=1-- 또는 'or 1=1#으로 우회하는 문제인 것 같다.
하지만 입력한 결과 아래와 같이, 문자를 필터링하는 것으로 확인된다.
테스트 한 결과, 아래와 같이 필터링하는 것과 필터링하지 않는 것으로 구분할 수 있었다.
불가능 : %, =, select, union, # 가능 : ', ", /* */, --, like |
=을 대체하여 like를 사용하고, 주석처리는 --로 하니 Congratulation!! 알림창이 출력되는 것을 확인할 수 있으며, auth_key를 알려주고 있다.
'or 1 like 1-- |
하지만, flag값에 입력하니 정답이 아니라고 출력된다ㅠㅠ
그래서 burp suite 툴을 이용하여 패킷을 잡으니, 아래와 같이 auth_key라는 쿠키가 존재하는 것을 확인할 수 있다.
해당 부분의 값을 suninatastopofworld!로 바꾸고 다시 전송해보니, 권한이 없다고 출력된다.
완전 ?????인 경우이다...
Hoxy하는 마음에 두번째 글의 reference!에 작성된 md5사이트에 가서 suninatastopofworld!를 해시값으로 변경하였다.
해시값을 flag값에 입력해보니, 틀렸다고 출력된다.
두번째 ?????한 심정이다.....
이번에는 다시 auth_key의 쿠키에 해시값을 입력하고 전송해보았다.
그 결과 아래와 같은 게시글이 출력되었다.
세번째, ???? 발생이다.....
ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ재밌다 재밌어,,,ㅠ_ㅠ
소스코드를 확인해보니, 아래와 같은 힌트를 얻을 수 있었다.
Rome's first Emperror??? 갑자기??? 로마의 첫번째 황제가 action값으로 출력되어 있다.
그래서 인터넷에 검색한 결과, Augustus 였다!!
오오!! 이번에는 flag로 Augustus를 입력해보니, 정답이었다.
얄루~~~~~~ CLEAR🙈🙉🙈🙉 Bye~~~~ 다음 문제에서 또 만납시다 ^_^
'War game > suninatas' 카테고리의 다른 글
[ Web ] 8번 (0) | 2021.03.18 |
---|---|
[ Web ] 5번 (0) | 2021.03.18 |
[ Web ] 4번 (0) | 2021.03.18 |
[ Web ] 3번 (0) | 2021.03.18 |
[ Web ] 2번 (0) | 2021.03.18 |