웹 해킹57 [HackCTF] 보물 문제 사이트 접속하면 위와 같이 원피스 찾기 문제입니다. url에 get 방식으로 page를 20까지 입력해봐도 아래 16진수는 그때마다 내용이 바뀝니다. 따라서 수작업으로는 문제를 해결할 수 없습니다. import requests URL = "http://ctf.j0n9hyun.xyz:2025/?page=" for i in range(1,10000): response = requests.get(URL+str(i)) if "HackCTF" in response.text: print(i) break print("page="+str(i)) 위 코드는 page에 10000까지 모든 경우의 수를 검사합니다. 만약 response.text에 HackCTF가 있으면 플래그를 획득할 수 있습니다. 2021. 9. 10. [HackCTF] Button 문제 접속하면 위와 같이 버튼을 누르면 플래그를 출력하도록 요청한다. 코드는 아래와 같다. BUTTON 아래의 버튼으로 하여금 플래그를 출력하게 해줘! value 값을 flag로 바꾸면 플래그가 출력된다. 2021. 9. 10. [HackCTF] Hidden 문제 서버에 들어가면 위와 같이 5번 파일에 플래그가 있다고 합니다. 코드는 아래와 같습니다. 5번 파일에 플래그가 있다악!!!!!!!!!!! 1 2 3 4 5 위 html 코드를 추가하여 클릭하면 플래그를 획득할 수 있습니다. 2021. 9. 10. [HackCTF] / 문제 서버에 접속하면 로봇 그림이 하나 보인다. 이번 문제는 robots.txt 파일을 이용해 문제를 해결할 수 있습니다. robots.txt란 보안이 필요한 내용이 검색엔진에 유출되지 못하도록 웹 페이지를 작성하는 방법을 기술한 국제기술표준이라고 합니다. 예를 들어 구글 검색엔진이나 네이버 검색엔진에서 본인이 만든 어떤 웹페이지가 검색이 되지않도록 설정을 할 때 사용되는 기술입니다. rotobs.txt 페이지에 접속하면 위와 같이 코드가 출력되는데 의미는 다음과 같다. User-agent: * => 모든 검색엔진에 대해서 Disallow: /robot_flag/ => /robot_flag/ 디렉토리 검색 차단 robot_flag 페이지로 이동하면 플래그가 출력된다. 2021. 9. 10. [Webhacking.kr] old-23 문제 서버에 접속하면 를 주입하나는 문구가 출력됩니다. 하지만 no hack이 출력되므로 필터링을 우회해야합니다. 여러가지 실험을 한 결과 숫자는 필터링에 걸리지 않고 문자를 2개이상 연속으로 이어붙일경우 필터에 걸립니다. url 인코딩을 보면 null 문자는 %00이므로 문자 사이사이에 %00을 넣으면 아래 명령어가 완성됩니다. 하지만 alert가 제대로 입력되지 않습니다. 그 이유는 %00을 입력하면 url 인코딩에 의해서 %는 %25가 되므로 %2500이 입력되기 때문입니다. a%00l%00e%00r%00t(1); GET /challenge/bonus-3/index.php?code=%3Cs%2500c%2500r%2500i%2500p%2500t%3Ea%2500l%2500e%2500r%2500t%281.. 2021. 9. 8. [Webhacking.kr] old-47 문제 서버에 접속하면 명령어를 입력하는 창이 있는데 왠만한 명령어는 사용할 수 없다. help를 입력하면 위 그림처럼 ls id flag help 라는 문구가 출력된다. 순서대로 입력하면 flag는 admin만 실행할 수 있다고 합니다. 패킷을 캡쳐해서 guest를 admin으로 수정 후 패킷을 보내면 플래그가 출력됩니다. 2021. 9. 8. [Webhacking.kr] old-32 문제 서버에 접속하면 위 그림과 같이 랭킹을 볼 수 있다. 그리고 이름을 클릭하면 Hit 개수가 1개 올라가고 다시 누르면 이미 투표했다는 문구가 출력된다. 쿠키 값에서 ok를 지우고 다시 클릭하면 Hit 개수가 1개 더 올라간다. 정석으로 풀려면 파이썬이나 다른 도구들을 사용하면 되지만 귀찮으므로 연속으로 마우스로 100번 광클하면 한번에 100을 넘을 수 있는걸 확인했다. 2021. 9. 8. [Webhacking.kr] old-31 문제에 접속하면 위와 같이 121.130.41.253:10027으로 연결에 실패했다고 출력됩니다. 121.130.41.253이 뭘까 찾아보다가 본인의 ip인 것을 알았습니다. 구글에 "내 ip" 라고 검색하면 찾을 수 있습니다. 따라서 port는 10000~10100으로 제 pc에서 서버를 열고 10000-10100 포트를 허용하면 될 듯 합니다. 본인의 ip를 주소창에 입력하면 공유기 설정 화면으로 이동할 수 있습니다. 해당 설정 창에서 위와 같이 외부에서 10000~10100 포트로 접근하는 패킷을 10000으로 보내줍니다. pc에서 nc.exe를 설치하고 10000포트로 오는 패킷을 기다리면 플래그를 수신할 수 있습니다. 2021. 9. 8. [Webhacking.kr] old-27 문제에 접속하면 위와 같이 SQL Injection을 이용하여 플래그를 획득해야한다. 코드는 아래와 같다. SQL INJECTION 2021. 9. 8. 이전 1 2 3 4 5 ··· 7 다음