목록view all (60)
인디안 보호구역
문제 풀이 내 IP주소와 접속 정보가 보이고, 그 밑에는 Wrong IP라고 나오는 것으로 보아 IP를 조작해야 한다고 생각이 들었다. 아래 주석처리된 source 페이지 외에는 별다른 특이점을 발견할 수 없었기에 문제 url에 index.phps 라고 덧붙여 해당 소스 페이지에 들어갔다. (http://webhacking.kr/challenge/bonus/bonus-4/index.phps) [사전 설명] extract() 함수란? 배열을 인자로 가지며, 배열 안의 인덱스를 변수화 시킨다.(?) 예를 들어, Info[ip] = 123, Info[mac]=456 일 때, extract(Info)를 호출하면 ip=123, mac=456 이라는 두개의 변수가 생성된다. *변수 명이 충돌하면, 기존 변수를 덮어..
문제 풀이 랭킹 시스템이다. 아무것도 몰라서 1번 아이디를 클릭해봤는데 HIT가 하나 올라갔다..!! 신기해서 또 눌러보니까 ‘no!’라는 알림창만 뜰 뿐 더 이상 HIT가 올라가지 않는다. 다른 아이디를 눌러도 마찬가지였다. 처음과는 다르게 카운트가 올라가지 않는다. 맨 밑의 Join 버튼을 눌러보니 알림창으로 ‘내 아이디’가 화면에 노출되었다. 무슨 문젠지 아직 감이 안잡히므로 스크립트를 확인하기로했다. 잘 안보여서 확대해봤다. (1번 아이디의 속성) 1번부터 쭉 나열된 모든 ID들은 각각 위와 동일한 속성을 가지고 있었다. 그 중 눈에 띄는 것은 클릭 시, ‘?hit=USERID’ 의 url로 이동된다는 것. 카운트를 올리기 위해선 해당 url로 진입해야한다. 계속 거부당하고 있지만. (Join 버..
문제 풀이 회색 컨테이너 안의 ‘O’문자와 ‘buy lotto’ 라는 문자 사이에 실마리가 있을 것 같다. 특히 ‘O’문자에 마우스 포인터를 갖다 대면 ‘yOu’라는 글자로 바뀌고, 떼면 다시 ‘O’로 돌아온다. (16번 문제에서 배운 onmouseover, onmouseout) 예상대로 ‘O’문자는 hackme라는 도발적인 id를 가진 태그 문자열이었다. 마우스와 관련된 속성이 3가지 있었는데 종류는 아래와 같다. onclick : 클릭 시 posleft 값을 1 증가시킨다. 만약 posLeft 값이 800이 되면 링크를 제공한다. onmouseover : 마우스 포인터를 갖다 대면 문자열을 ‘yOu’로 변경한다. onmouseout : 마우스 포인터를 떼면 문자열을 ‘O’로 변경한다. 결국 posLe..
“스크립트 분석 -> 실행 -> 문제 해결” 문제 분석 - 코드 확인 페이지 스크립트를 확인. >> ‘F12’ 를 눌러서 크롬 개발자 도구를 연다. >> ‘Elements’ 패널에서 페이지 요소 중 특이한 점 있는지 확인한다. >> 입력 폼의 객체명은 pw이며, 입력시 전달될 문자의 객체명은 input_pwd이고 text형식을 갖는다. >> ‘check’ 버튼은 ck() 함수와 링크되어 있고, ck() 함수는 script에 정의되어 있다. ck() 함수의 기능 확인. >> document.URL은 해당 페이지의 URL을 반환한다. >> indexOf(“.kr” : 대상)은 대상(문자열)이 들어간 위치를 반환한다. >> pw폼의 입력값과 ul의 값이 같으면 Password 값을 반환한다. Password ..
1. 문제 분석 - 코드 확인 페이지 스크립트를 확인. >> ‘F12’ 를 눌러서 크롬 개발자 도구를 연다. >> ‘Elements’ 패널에서 페이지 요소 중 특이한 점 있는지 확인. >> 페이지 요소를 검사하는 방법은 ‘Ctrl + Shift + C’를 눌러 DevTools를 Inspect Element 모드로 열어 요소 위로 마우스를 가져간다. 혹은 콘솔에서 inspect(document.body)함수를 사용한다. >> 태그로 링크(index.phps)가 걸려있음을 확인하였다. >> 태그를 클릭한다. 문제 파악 >> HTML 스크립트를 통해 좀 전에 본 1번 문제 페이지의 스크립트임을 확인하였다. >> PHP 함수를 확인한다. SetCookie(“user_lv”, “1” : 쿠키명, 쿠키값)을 통해 ..
“스크립트 분석 -> 실행 -> 문제 해결” 문제 분석 - 코드 확인 페이지 스크립트를 확인. >> ‘F12’ 를 눌러서 크롬 개발자 도구를 연다. >> ‘Elements’ 패널에서 페이지 요소 중 특이한 점 있는지 확인한다. >> onload 이벤트를 통해 페이지에 진입하면 kk() 함수가 실행된다. >> onkeypress 이벤트를 통해 페이지에 진입 후 키보드 상의 아무 키나 누르게 되면, mv 함수가 해당 키보드 자판값을 인자로 가지며 실행된다. >> onmouseover 이벤트를 통해 left=1, top=1의 위치에 있는 문자열 ‘*’에 마우스 포인터가 진입할 경우 innerHTML의 설정값을 NULL로 초기화한다. (폰트 값이나 위치 값 등등이 싹 사라짐) kk() 함수의 기능 확인. >> ..
Google Chrome과 같은 웹 브라우저에서 사용되는 개념으로 설명. Cache는 방문했던 사이트의 이미지, 텍스트, 오디오 등의 리소스 데이터 입니다.C:\Users\사용자명\AppData\Local\Google\Chrome\User Data\Default\Cache 에 저장합니다.한번 방문했던 페이지를 다시 방문할 때 빠르게 접근할 수 있도록 하기 위함입니다. Cookies는 User preference (유저가 웹사이트 접속 시 하는 행동 패턴 또는 관련 정보) 위주의 정보를 저장합니다. 로그인 기억, 어느 사이트 어떤 페이지에 몇번 들어갔는지 등과 같은 작은 데이터 입니다.C:\Users\사용자명\AppData\Local\Google\Chrome\User Data\Default에 저장됩니다. ..
amd cpu도 intel 기계어를 사용함.ia32는 intel이 설계하고 amd가 따라함근데 지금 쓰는 64bit 기계어는 amd가 설계함 인텔이 따라함. 인텔꺼도 따로있긴한데 일반 가정64bit는 amd꺼 쓴다고함. (2015년기준) 어쨌든 이번 주제는 램이다. ram은 주기억장치임. cpu ------ ram -------- hdd or ssd 용량순으로 보면 cpu ram > hdd 임. byte 당 가격도 cpu가 젤비쌈; ssd or hdd를 주기억장치로 안쓰는 이유는 느려서임. 이번강의 넘길까 시간아까운데 메모리가 어떻게 되어있나 보자.중학교 수준의 지식으로 확인하는거. 전구에 불키는 정도의 지식으로. 전기가 강하게 흐르면 high, 약하게..
register는 cpu 내에 있는 저장공간,registry랑 헷갈리지 마셈. registry는 윈도우에서 시스템 설정값을 저장하기 위한 공간일 뿐임. 말한김에 이것도 헷갈리지마셈프로세서는 처리장치(like cpu)프로세스는 램에 올라간 프로그램을 말함. ollydbg 맨날 재시작하면 귀찮으니까재시작 하고 싶은 곳에서 우클릭하고 new origin here 를 누르면 다시 거기서 시작할 수 있음.프로그램은 위에서 부터 아래로 쭉 순서대로 읽으면서 내려오는게 기본적임. 각 코드에 mov ecx,1 mov ebx,2 mov edx,3 해보셈. 값 바뀌죠? 참쉽죠? reg는 레지스터의 약자임.아래와 같이 사용함. mov reg, valuemov reg1, reg2 mov는 값을 덮어쓰는 거임. 대입이나 덮어쓰..
- 강의 대상 : 어느정도 C언어에 지식이 있는 사람 (포인터 정도는 이해하는 사람) 기계어란? CPU들이 이해할 수 있는 언어,cpu도 종류가 많음 // intel, arm 등cpu에 어떤 전기 신호를 보내면 어떻게 작동하고 이런걸 정해놨는데 그 전기 신호를 0과 1로 표현한 것이 기계어. ex. x = 10+2, y = x+4 를 기계어로 번역하면 001001 11101 11101 1111111111111000001000 00001 00000 0000000000001010001000 00001 00001 0000000000000010101011 11101 00001 0000000000000000001000 00010 00001 0000000000000100101011 11101 00010 000000..