- [ PRIVATE/webhacking.kr ]old-162025-01-02 21:27:49문제별 사진과 js-3이 보인다. 설명은 따로 없는 것 같다. 문제 풀이: 코드 분석#(1) onload를 사용해 kk() 함수가 페이지 로드 직후 실행되도록 한다. onkeypress는 사용자가 키보드의 키를 누르면 이벤트가 발생하도록 한다. 여기서는 키를 누르면 mv 함수가 호출된다. #(3) 태그는, 텍스트의 폰트, 색상 그리고 크기를 정의할 때 사용한다.화면에 보이는 가장 큰 별을 정의하는 부분이다. #(1) #(2)★ #(3)페이지가 로드된 직후 Javascript를 실행한다. -> 객체가 로드될 때 발생하며, 웹 페이지의 모든 콘텐츠(이미지, 스크립트 파일)가 완전히 로드되면 스크립트를 실행하기 위해 요소 내에서 가장 자주 사용된다.아래 코드를 살펴보며 이해해보자. 태그에 onloa..
- [ PRIVATE/webhacking.kr ]Old-262024-12-31 17:58:01문제소스코드가 주어졌다. 이외에는 별다른 기능이 보이지 않는걸 보니 쿼리문을 사용해서 푸는게 아닐까 싶다.view-source 문제 분석#(1)첫 번째 조건문이다. 사용자로부터 url 쿼리 문자열에서 id값을 받아온다. 이때 id값이 admin이라면 no를 출력한다. #(2)사용자로부터 id값을 받아온다. 그리고 받아온 id값을 디코딩한다. 예를들어 '#'은 인코딩하면 %23이 되고, 이를 디코딩하면 #가 된다. 이후 디코딩한 값이 admin이라면 문제가 풀리는 것 같다.view-sourceurldecode()% 기호와 뒤에 있는 두 개의 16진수 숫자로 이어진 인코딩된 문자를 실제 문자로 변환하여 디코딩하고, + 기호는 공백 문자로 대체하는 함수이다.$url = 'https://www.example...
- [ PRIVATE/webhacking.kr ]old-152024-12-31 16:46:59문제문제를 클릭하면 이렇게 뜬다. Acess_Denied? 문제 분석 일단 url에서는 얻을 수 있는 정보가 없는것 같아 버프 스윕트로 패킷을 잡아봤다. Proxy > HTTP History에서 문제의 html 소스를 얻을 수 있었다.location.href과 document.write이 보인다. 일단 잘 모르는 문법부터 찾아보자.javascript에서 페이지 이동할 때 사용된다. location.href는 객체의 속성이다.개발자 콘솔에서 해당 명령어를 입력하면 현재 위치한 페이지의 주소를 반환한다.네이버 페이지에서 콘솔창에 아래 명령어를 작성하면 webhacking.kr로 주소가 이동된다.location.href='https://webhacking.kr/chall.php'location.href..
- [ PRIVATE/c ]Unit 1, 22024-12-31 12:14:011. 문제 해결을 위한 과학적 사고공학자들은 어렵고 복잡한 문제에 어떻게 접근할까?-> 복잡한 문제를 작은 문제로 나누어 하나씩 접근한다. 이렇게 작은 문제를 하나씩 해결하다 보면 결국 큰 문제를 해결하게 된다. 이처럼 현실 세계의 문제를 분석하여 해결책을 찾는 과학적 사고법을 computational thinking이라고 하며, 이렇게 설계한 해결책을 컴퓨터의 명령어로 작성하는 것을 컴퓨터 프로그래밍이라고 한다. 즉 작은 문제로 분해하고, 문제의 패턴을 발견하고, 어떤 데이터를 이용해야 하는지 찾는 과정이다. 예를 들어, 비트맵 파일을 아스키 아트로 변환하는 문제는 1) 이미지 포맷 알아내기, 2) 픽셀의 색상을 얻어오기, 3) 픽셀이 색상에 따라 특수 문자로 출력하기로 나누어 생각할 수 있다. +) ..
- [ PRIVATE/bandit ]Level 4 -> Level 62024-12-27 20:43:53Level 4 -> Level 5The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try "reset" command Approachinhere 디렉토리의 사람만 읽을 수 파일에 password가 있다고 한다.예상대로 파일 이름들이 정상적이지는 않다. -로 시작하니 리디렉션으로 해석될 확률이 커보인다.bandit4@bandit:~/inhere$ ls-file00 -file01 -file02 -file03 -file04 -file05 -file06 -file07 -file08 -file09 그래서 파..
- [ PRIVATE/bandit ]Level 2 -> Level 42024-12-27 19:16:50Level 2 -> Level 3The password for the next level is stored in a file called spaces i this filename located in the home directory Solve홈 디렉토리에 위치한 'space in this filename'에 password가 있다고 한다. pwd로 현재 디렉토리가 home 디렉토리인 것을 확인하고 ls 명령어로 어떤 파일이 있는지 살펴봤다. 일단 space in this filename이라는 파일이 존재하는 것은 확인했다. 하지만 cat 명령어에서 error가 난다. 스페이스로 인해 하나의 파일 이름이 4개의 파일로 분리되서 해석되고 있는 것 같다.bandit2@bandit:~$ pwd/home/ban..
- [ PRIVATE/bandit ]Level 0 -> Level 22024-12-26 15:48:16Level 0 -> Level 1The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH(on port 2220) to log into that level and continue the game Slove홈 디렉토리의 readme 파일에 password가 있다고 하니, cat 명령어를 사용해서 readme 파일의 내용을 읽으면 된다. -> ZjLjTmM6FvvyRnrb2rfNWOZOTa6ip5If 이게 패스워드인 ..
- [ PRIVATE/bandit ]Level 0-SSH2024-12-25 19:00:04The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, fo to the Level1 page to find out how to beat Level 1 Solve내 컴퓨터로 bandit 서버로 SSH 접속하기 위해서는, 서버 컴퓨터의 user ID와 IP주소(도메인 주소)를 알아야한다. Level Goal에서 username은 bandit0, password는 bandit0..