본문 바로가기
  • 개발 삽질 블로그

분류 전체보기89

SuNiNaTaS(써니나타스) Challenge 8 / Web 로그인 창이 하나가 있다. 소스 코드를 보면 아래와 같은 힌트가 있다. admin으로 로그인하고 Password의 범위는 0~9999인가보다. 개발자 도구의 네트워크 창으로 확인해보니 요청 메소드가 POST이다. 이를 이용하여 파이썬 코드를 짤 수 있다. import requests session1 = requests.Session() for i in range(100000): data = {"id": "admin", "pw": i} req = session1.post("http://suninatas.com/challenge/web08/web08.asp", data=data) if (req.text.find("Password Incorrect!") == -1 ) : print(i) exit (0) els.. 2022. 9. 8.
C로 푼 문제들 보호되어 있는 글 입니다. 2022. 9. 7.
Suninatas(써니나타스) challenge 5 / Web 아무 값이나 쓰고 Check 버튼을 눌러봤지만 아무 일도 일어나지 않는다. 개발자 도구로 코드를 보았더니 script 부분이 아래와 같이 복잡했다. 난독화가 되어있는 것 같다. *자바스크립트는 클라이언트 측에서 실행되는 언어이기 때문에 클라이언트가 해당 스크립트를 볼 수 있다. 이를 방지하기 위해 난독화를 실행한다. 난독화 방법은 다양함 packing이 되어있으므로 unpacking 해주는 사이트를 통해 난독화된 코드를 원래 코드로 바꿔줄 수 있다. var digitArray = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); function PASS(n) { var result = ''; .. 2022. 8. 22.
Suninatas(써니나타스) challenge4 / Web 화면은 위와 같다. 포인트가 있고 Plus 버튼을 누르면 포인트가 올라간다. User-Agent 정보가 써있다. *User-Agent: HTTP 요청을 보내는 디바이스와 브라우저 등 사용자 소프트웨어의 식별 정보를 담고 있는 request header의 한 종류 소스코드를 보면 힌트가 있다. point를 50까지 올리기 위해 Plus를 계속 누르면 25에서 더 이상 올라가지 않고 아래와 같은 경고창이 뜬다. SuNiNaTaS 브라우저가 좋다...User-Agent를 변경하라는 것 같다. 현재 User-agent는 chrome으로 설정되어있기 때문에 개발자도구>도구 더보기>네트워크 조건 에서 사용자 에이전트를 SuNiNaTaS로 바꿔주고 Plus를 누르면 point가 초기화 되지만 25 이상으로 올라가는 .. 2022. 8. 22.
Suninatas(써니나타스) challenge3 / Web 검은 화면에 Write articles in Notice Board!라는 문구가 떠있다. 메인 화면으로 돌아가 Notice 페이지로 이동해보았다. 하지만 글을 작성하는 버튼은 찾을 수 없었다. 반면 free 페이지에는 wrie 버튼이 있고 누르면 글을 작성할 수 있는 페이지가 나온다. 이처럼 notice/write로 가면 글을 쓸 수 있는 페이지가 나오지 않을까 url에 입력해 보았다. 그랬더니 위와 같이 notice write 페이지가 나왔고 아무 글이나 작성해서 제출하면 alert창으로 Authkey를 획득할 수 있다. 2022. 8. 22.
Suninatas(써니나타스) challenge 2 / Web 화면에 아이디와 패스워드를 입력하는 창이 뜬다. 아무거나 입력하면 아무 일도 발생하지 않는다. 개발자 모드(F12)로 소스코드를 확인해 보았다. 스크립트 부분에 아래와 같은 chk_form() 함수가 있었다. id와 pw가 같으면 풀리는 문제인 것 같다. 하지만 id와 pw 폼에 같은 값을 입력한 후 제출하면 경고창이 뜨고 폼이 초기화된다. 하지만 else 부분을 보면 document.web02.submit();이라고 쓰여 있다. 콘솔로 이것을 직접 입력해주면 id와 pw에 같은 값이 들어있어도 우회할 수 있다. id와 pw에 같은 값을 넣어준 후 콘솔에 document.web02.submit()을 입력하면 Authkey를 획득할 수 있다. 2022. 8. 22.