해커 썸네일형 리스트형 webhacking.kr [문제 9번] 중간에 알바면접이 있어서 포스팅을 못했다. 미루고 미루던 웹해킹 9번 문제를 풀어보겠다. 9번문제 무려 900point로 전체 문제 중 두번째로 점수 배점이 높다. 해당 문제를 풀면 대략적인 다른 문제들의 난이도를 예상할 수 있을 것으로 예상된다. 문제 클릭시 다음과 같은 페이지를 보여준다. 소스코드를 확인해보자. 별다른 정보는 없지만 각 페이지가 no=1, no=2, no=3로 하이퍼링크 되어 있는 것을 확인할 수 있다. 실제 각각의 페이지를 확인해보자. 1번 페이지 2번 페이지 3번 페이지ㅓ 다음과 같은 페이지를 분석해보니. 데이터베이스에서 no일때의 각각의 id값을 가져와 화면에 뿌려주는 것으로 확인된다. 또한 no=3일때의 id값의 길이는 11로 힌트가 주어졌다. 과연 해당 가설이 맞는지 no=4.. 더보기 webhacking.kr [문제 7번] 두번째 라인의 첫번째 문제인 7번 문제를 풀어보자. 문제의 점수는 300point이다. auth 버튼을 클릭해보자. 당연히 나에게 인증권한을 쉽게 줄리가 없다. 이제 한번 소스코드를 확인해보자. 소스코드를 확인해본 결과 val값이 2일때 admin mode를 주어진다고 나와있으며 해당 서버의 php파일은 index.phps로 되어있다. 한번 val값을 2로 설정한 후 해당 페이지를 확인해보자. 다시 해당 페이지의 소스코드를 확인해보자. 별 내용이 없으므로. 이제 index.phps를 확인해보자. 해당 소스코드를 보니 라는 힌트와 함께 언뜻봐서 쿼리를 날리는 코드가 보인다. 생각보다 소스코드가 길다. 이제 해당 소스코드를 분석해보자. 해당 파트를 확인해보면 GET방식으로 넘어온 변수 val값을 받아서 go.. 더보기 webhacking.kr [문제 5번] 문제 5번을 풀어보겠다. 300point의 5번 문제를 클릭하자. 웹 페이지가 단순하게 두개의 버튼만을 가지고 있다. 로그인 페이지가 보이고 일반적으로 UI가 상단은 아이디 하단은 비밀번호로 생각되어 아무거나 치고 로그인 해보자. 예상했던 결과다 싶이 admin이 아닐경우 로그인이 되지않는다고 한다. admin과 비밀번호를 입력한 후 로그인해보자. 이전과는 다른 메세지를 보인다. 그렇다면 한번 회원가입을 클릭해보자. Join버튼을 누른결과 접근이 거부되었다는 메세지가 뜬다. 소스코드를 확인해보자. 소스코드를 확인하여보니 Join버튼 클릭시 당연히 no()라는 함수가 실행되어 'Acess_Denied'라는 메세지 박스를 띄운다. 여기서 유의해봐야 할 점이 디렉터리의 구조이다. login버튼 클릭시 들어가지.. 더보기 webhacking.kr [문제 4번] 4번 문제를 살펴보면 해당 점수가 150point로 확인된다. 특정한 문자열을 보여주며 해당 비밀번호를 입력하게 되어있다. YzQwMzNiZmY5NGI1NjdhMTkwZTMzZmFhNTUxZjQxMWNhZWY0NDRmMg== 특정한 문자열을 일반적으로 볼수없는 형태의 문자열이며 무언가 숨겨져있다는 생각이 든다. 그러한 이유에서 조금더 고려해보면 해당 문자열이 암호화 되어있지 않을까라는 전제에 도달한다. 해당 문자열은 마지막에 추가로 '=' padding 문자가 붙게되는 데 이를 통해 base64로 인코딩 되어있다는 것을 알 수 있다. 과연 해당 널패딩이 붙게되면 왜 base64로 인코딩 되어있다고 생각할 수 있을까 base64 인코딩 방식을 확인해보자. base64란 무엇일까? 컴퓨터는 기본적으로 1과 .. 더보기 webhacking.kr [문제 2번] 문제 2번을 풀어보겠다. 500 point나 하는 2번 문제를 클릭해보겠다. 길동이 성님이 젠야타 자세로 반겨준다. 뭐 어쩌라는건지 모르겠다. 이곳저곳을 둘러보자. 별다른 특이 사항이 없지만 Board를 클릭시 게시물 한개가 보이고, 이를 클릭해보니 비밀번호가 걸려있는 상당히 의심스러운 글이다. 한번 해당 비밀번호를 알아내보기위하여 소스코드를 살펴보자. 무엇을 의미하는지 딱히 정확한 정보가 없어서 index홈페이지로 돌아가 소스코드를 찬찬히 살펴본결과 두가지 의심스러운 점을 발견했다. 네비게이션 바의 등록되지 않은 admin이라는 페이지가 있고, admin이라는 페이지에 접속해보자. 아니나 다를까 어드민페이지에 비밀번호가 걸려있고, 또한 가지 index에서 이상한 점이 시간정보가 주석 처리되어있다. 굳이.. 더보기 webhacking.kr [문제1번] 회원 가입을 완료하였으므로 이제 본격적으로 문제 풀이에 나서보겠다. 네비게이션 바에 있는 항목 Challenges - Auth를 클릭한다. Challenge를 클릭하면 그렇다면 해당 문제들의 항목과 배점을 확인할 수 있다. 문제 1번을 눌러보자. 위와 같은 홈페이지를 확인할 수 있다. 그리고 index.phps에 마우스를 가져다놓으니 커서가 활성화 되는것을 확인하였다. 이제 해당 웹문서를 열어보자. 다음과 같은 소스코드를 확인할 수 있다. 해당 소스코드를 분석해보자. --------------------- ----- index.phps ----- 자바 스크립트 부분만 살펴보자. user_lv이란 쿠키가 존재하지 않으면 user_lv이란 쿠키 변수에 1을 할당한다 jquery 객체인 password 변수를.. 더보기 webhacking.kr [회원가입] 휴대폰의 분실과 노트북의 용량 부족으로 인해 일시적으로 안드로이드와 머신러닝 공부가 지연되어서 심심한 관계로 워게임이나 풀어서 포스팅해보자는 명목으로 webhacking.kr을 풀기 시작하였다. 웹해킹을 시작하기에 앞서 로그인해야 하는데, 이게 무슨일인가 로그인 항목외에 회원가입을 찾아볼 수 없다. 한번 웹 페이지의 소스를 분석해 보자. 중간에 보면 주석 처리된 Register 라는 항목이 보인다. 소스코드를 조금 살펴보자. 회원 가입 버튼이 주석처리로 인해 비활성화 되어있는 것으로 확인된다. 그렇다면 크롬 개발자도구로 해당 버튼을 활성화 시켜보자. 해당 회원가입이 활성화 된것을 확인할 수 있다. 회원 가입 버튼을 클릭시 아이디 비밀번호 이메일 디코드미 라는 인풋 박스가 보인다. 아이디 비밀번호 이메일은.. 더보기 쉘코드 인코딩(Shellcode Encoding) 이 포스팅은 서적 '윈도우 시스템 해킹 가이드 : 버그헌팅과 익스플로잇'을 기반으로 작성한 포스팅입니다. 관련 포스팅 보러가기 쉘코드(Shellcode) 기초(1)쉘코드(Shellcode) 기초(2)범용 쉘코드(Universal Shellcode) (1)범용 쉘코드(Universal Shellcode) (2)메타스플로잇(Metasploit)을 이용한 쉘코드작성 쉘코드르 작성하는 방법을 포스팅을 다뤘었는데, 한가지 유의할 점이 있다. 실제 쉘코드를 작성하고 공격했을 경우 쉘코드가 정상적임에도 불구하고 이상하게 공격이 실행되지 않는 경우가 있다. 우리가 입력한 값을 프로그램 내부에서 처리하는 과정 중에 대문자가 소문자로 변환되기도 하고, 소문자가 대문자로 변하기도 하며, 유니코드로 변환되며 쉘코드 중간에 널.. 더보기 이전 1 2 3 4 5 다음