일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- hackingcamp ctf writeup
- Web Hacking
- writeup
- hacking
- wargame.kr
- webhacking
- XSS
- CVE
- 웹 해킹
- RCE
- thinkPHP
- cve 분석
- Hacker.org
- WarGame
- backdoorctf writeup
- Web
- 해외 wargame
- 해외 워게임
- hackingcamp
- backdoorctf 2023 web Unintelligible
- backdoorctf 2023 web
- CTF
- backdoorctf 2023
- 웹해킹
- 해킹캠프 ctf
- WEB-hacking
- 해킹캠프
- hackctf
- php
- XSS-game
- Today
- Total
목록Wargame (32)
<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로 만들어 주면 플래그가 나온다.
뭔가 로봇이 생각난다. 로봇 == robots.txt robots.txt가 뭔지 모르겠으면 구글링 해서 공부를 하자! 상단 URL에 robots.txt를 입력했더니 엇..! 보인다 보여... flag가 보인다! 저기에 있는 /robot_flag/를 URL에 넣어주면 flag가 보인다.
진짜 힘들었다... 그만큼 아직 내 실력이 많이 부족하다는걸 느끼게 된 시간인것같다. 분석하면, frame 뒤에 있는 #을 기준으로 해서 그 뒤를 읽어서 출력해준다. script태그, javascript 문법을 활용해도 풀리지 않기에 애를 먹었다... (다른 분들의 힘을 빌려 문제를 풀었다...) 힌트에서 google.com/jsapi?callback=foo 로 접속해서 알아보라고 하는데, 접속했을 때, 다른 사이트로 리다이렉션이 되어 확인이 불가능 하였다... 1) Data URL Scheme 방식으로 푸는 방법 2) URL을 입력하여 푸는 방법 1. Data URL Scheme 방식으로 푸는 방법 #뒤에 data:text/javascript,alert(1) 을 입력. #data:text/javascr..
Sign up 을 누르면 email을 입력해야하는 부분이 나오고 Next를 누르면 이 화면이 나온 후 다시 초기 창으로 돌아간다. 상단 URL에 보면 next 라는 파라미터에 confirm 이 들어가게 되는데, 거기에서 script 구문을 넣으면 된다. xss에는 태그 말고도 수많은 방법있는데, 여기서는 javascript 을 이용할 것이다. next=confirm에서 confirm을 지우고 javascript:alert(1)을 하게 되면 alert이 동작하며 다음 단계로 넘어갈 수 있다. 여기서 꼼수가 생기는데, reflected xss 공격을 사용하게 된다면, 모든 문제를 클리어 할 수 있는 방법이 있다. level5 클리어!