일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Web Hacking
- XSS
- hackingcamp
- cve 분석
- backdoorctf 2023 web
- XSS-game
- CTF
- WarGame
- Hacker.org
- 해킹캠프 ctf
- 해외 워게임
- hackctf
- backdoorctf 2023 web Unintelligible
- backdoorctf 2023
- 해외 wargame
- hackingcamp ctf writeup
- wargame.kr
- 웹해킹
- 해킹캠프
- thinkPHP
- Web
- webhacking
- writeup
- WEB-hacking
- CVE
- php
- backdoorctf writeup
- 웹 해킹
- RCE
- hacking
- Today
- Total
목록분류 전체보기 (93)
<OOO>
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 클리어!
타이머를 설정하는 기능이다. 세미콜론을 넣어서 확인해보면 이렇게 뜬다. 상단에 있는 URL을 보면 timer 이라는 파라미터로 값을 받는다. time.html의 소스중 21번 라인에 있는 onload가 있다. 즉, timer=('~~~~~')가 된다. 그러면 onload=startTimer('1');alert('1 하면 되지 않을까? 라는 생각으로 시도를 해 보았으나 1') 뒤에 부분이 인식이 되지 않는것을 발견할 수 있다. 이런 경우 URL 인코딩을 통해 세미콜론을 인코딩 해주면 되는데 세미콜론은 %3B로 인코딩이 되므로 URL에 1')%3Balert(1을 해주게 된다면 풀리게 된다. 그리고 또 다른 방식으로 푸는 방법도 있다. 애초에 처음부터 타이머를 작동 시키는 부분(URL 아님)에서 1');ale..
Image 버튼을 누르면 사진이 바뀐다. 여기서도 alert를 띄워줘야 하는데.... level1에서 설명했지만, alert를 띄워주면 통과가 되는 느낌이기에... 그냥 alert만 띄워볼것이다. ctrl + shift + c 를 누르면 F12를 누른것 같은 개발자 모드가 뜨게 되는데, 사진을 한번 클릭해주면 해당 소스 부분으로 이동하게 된다. 거기에 보면 img 태그가 있다. level2와 같이 alert를 띄우는 방법은 동일하다. 부분에 onclick 혹은 onload 등등 다양한 태그를 써도 된다. 1) onclick 옵션을 이용하여 푸는법