일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- h4cking game
- dreamhack
- WEB
- deayzl
- 웹해킹
- writeup
- hacking
- webhacking
- cryptography
- reversing
- hack
- hacking game
- webhacking.kr
- TeamH4C
- Buffer Overflow
- python
- pwnable
- Gon
- christmas ctf
- Wreckctf
- crypto
- 2022 Fall GoN Open Qual CTF
- CTF
- got overwrite
- ctf player
- Wargame
- 해킹
- System Hacking
- 워게임
- KAIST
- Today
- Total
deayzl's blog
TyphoonCon CTF [2022] Web - hidden character writeup 본문
TyphoonCon CTF [2022] Web - hidden character writeup
deayzl 2022. 6. 24. 19:26문제 typo 같은 경우, 소스코드가 제공되어서 writeup 쓰기 좋았는데 이번엔 없다..
캡쳐라도 해놓았어야 했나 생각이 드는데, 시각적 자료가 그리 필요한 문제는 아니기에 글을 써본다.
그림판으로 그린 로그인 창이다.
대충 이거랑 비슷하게 생겼으니까 그냥 진행하겠다.
이 form은 username과 password 두개의 data를 받고 post request를 /auth 로 보내는 역할을 한다.
username과 password 칸에 ', ' or sleep(1)-- , ", \, %0a, %aa' 등등을 보냈는데 아무런 반응도 없었다.그래서 username=admin&username=admin&password=yeah&password=yeah' or 1=1-- 이런식으로 여러개를 보냈다.
그랬더니 ER_PARSE_ERROR 가 발생했다.
mariadb ER_PARSE_ERROR sql syntax error near '','admin' and password='yeah','yeah\' or 1=1-- '
이런식으로 떳는데, mariadb를 쓰는 것을 알 수 있고 입력한 값이 comma로 나뉘어지면서 escape 되어 입력된 것을 볼 수 있다. (추가적으로 http 헤더에서 powered by "express" 라고 떠서 node js express 로 만든 웹사이트임을 알 수 있었다)
제목부터 hidden character 라길래 뭔가 어떤 특정 문자를 보내면 뚫릴지 모르겠다 싶어서, 이상한 문자들을 좀 보냈었는데 아무런 반응도 없었다.
그래서 구글링을 했고 node.js에서 unexpected value를 escape하는 것에 대한 글을 봤다.
password[password]=1
이런식으로 입력하면
password=`password`=1
이렇게 되고
(1=1)=1
이것과 마찬가지라는 내용인데, 이를 넘겨주니 login에 성공하게 되었다.
로그인에 성공하고 난 후, node js로 된 소스코드를 보여주었고
/home (이었던 것 같다) 으로 가면 http header로 토큰을 받게 된다.
그 토큰을 endpoint로 접근하면
The Invisible JavaScript Backdoor – Certitude Blog
이 포스트에 나온 소스코드가 그대로 똑같이 나오게 된다.
저기서 소개된 방식으로 한글 인코딩을 이용해서 remote code execution을 할 수 있었고,
flag 경로를 찾고 flag를 얻고 제출하면 200 포인트를 얻게 된다.
이 문제에 나온 인터페이스, 코드가 거의 다 여기서 소개된 것들과 똑같아서 아쉽긴 했지만 꽤 재미있었다.
'CTF writeup > TyphoonCon CTF' 카테고리의 다른 글
TyphoonCon CTF [2022] Web - Typo writeup (0) | 2022.06.24 |
---|