일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- php
- hackingcamp
- wargame.kr
- 웹 해킹
- 해킹캠프
- writeup
- thinkPHP
- XSS-game
- WarGame
- 해외 wargame
- 웹해킹
- hackctf
- 해외 워게임
- Web Hacking
- Hacker.org
- backdoorctf 2023 web Unintelligible
- backdoorctf 2023
- 해킹캠프 ctf
- webhacking
- Web
- hacking
- RCE
- CVE
- cve 분석
- backdoorctf 2023 web
- WEB-hacking
- XSS
- CTF
- backdoorctf writeup
- hackingcamp ctf writeup
- Today
- Total
목록hackctf (14)
<OOO>

LFI 취약점인지,,, 아니면 command injection인지 헷갈렸다 ㅋㅋ 아무래도 파라미터가 command라고 되어 있어서 그런것 같다. 파일을 읽어보라고 하는데, 그 파일의 이름은 flag.php 이라고 하는데... command=flag.php 를 하게 된다면 공백만 출력이 된다. 뭔가 필터링을 하는것 같다. 혹시나 싶어서 command=test로 들어가니 위에 있는 사진과 동일한 화면이 떴다. 혹시 싶어서 replace로 잘라내는게 아닌가 싶어 flflagag.php를 했더니 flag가 나왔다.

php로 구성되어 있다. 대충... 해석하면 guess와 secretcode가 일치해야지 flag.txt를 출력해준다. extract 에 취약점이 발생하는 것 같다. extract 함수는 배열속의 키값들을 변수화 해주는 함수이다. 해결 방법은 filename에만 값을 주고, guess에는 값을 주지 않게 된다면 동일하다고 나와서 풀리게 된다. (둘 다 값을 안줘도 풀린다.) flag 획득

page라는 파라미터에 숫자가 들어가는데, 이게 좀 많이 있는것 같다. 노가다로 +1씩 증가시켜서 풀어도 되지만, 너무 오래 걸리므로 파이썬을 이용하여 풀어야 한다. 파이썬의 코드는 다음과 같다. import requests URL = 'http://ctf.j0n9hyun.xyz:2025/?page=' i=1 while 1: URL = 'http://ctf.j0n9hyun.xyz:2025/?page=' req = URL + str(i) get = requests.get(req) if "HackCTF{" in get.text: print(URL+(str(i)),'에 flag 있음') break i=i+1 print(req) 대충 만든거라 코드가 이쁘지 않다... 이 코드를 실행 했을때, 이렇게 나온다.

버튼이 있는데 아무리 눌러도 뭔가 동작을 하지 않는다. 버튼의 value를 flag로 바꿔주면 flag가 나오게 된다.

5번 파일에 플래그가 있는데 4번까지 밖에 없다. 이 경우 버튼의 속성중 value 값을 수정하면 풀린다. 1번~4번의 버튼중 아무거나 value 값을 5로 만들어 주면 플래그가 나온다.