일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- writeup
- 웹해킹
- backdoorctf 2023 web
- CTF
- XSS
- Web
- WarGame
- 해외 wargame
- 해외 워게임
- wargame.kr
- 웹 해킹
- cve 분석
- php
- hackingcamp
- RCE
- backdoorctf 2023 web Unintelligible
- Web Hacking
- thinkPHP
- backdoorctf 2023
- hacking
- hackctf
- CVE
- backdoorctf writeup
- Hacker.org
- hackingcamp ctf writeup
- 해킹캠프 ctf
- webhacking
- 해킹캠프
- XSS-game
- WEB-hacking
- Today
- Total
목록WEB-hacking (5)
<OOO>
LFI 취약점인지,,, 아니면 command injection인지 헷갈렸다 ㅋㅋ 아무래도 파라미터가 command라고 되어 있어서 그런것 같다. 파일을 읽어보라고 하는데, 그 파일의 이름은 flag.php 이라고 하는데... command=flag.php 를 하게 된다면 공백만 출력이 된다. 뭔가 필터링을 하는것 같다. 혹시나 싶어서 command=test로 들어가니 위에 있는 사진과 동일한 화면이 떴다. 혹시 싶어서 replace로 잘라내는게 아닌가 싶어 flflagag.php를 했더니 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로 만들어 주면 플래그가 나온다.