웹해킹

· 웹해킹
이번 프로젝트에서 숨겨진 도메인도 찾아서 진단을 해야해서 숨겨진 도메인 찾아주는 툴을 찾던 중 sublist3r-master 이라는 툴이 있어서 소개해보려고 한다. 해당 툴의 경우 파이썬을 기반으로 동작하는 툴이기에 파이썬 설치가 선행되어야 한다. 파이썬 설치 후 https://github.com/aboul3la/Sublist3r GitHub - aboul3la/Sublist3r: Fast subdomains enumeration tool for penetration testers Fast subdomains enumeration tool for penetration testers - GitHub - aboul3la/Sublist3r: Fast subdomains enumeration tool for p..
· 웹해킹
회사에서 프로젝트가 끝나고 다음 사업까지 기간이 남기도 하였고 이전 사이트에서 웹 모의해킹을 수행하다 오다보니 웹 버그바운티가 해보고 싶어서 사이트를 찾던 도중 괜찮은 사이트가 있어 추천하려고 한다. https://bugcamp.io/ bugcamp 해커들이 만든 진정한 버그바운티 간단한 프로세스 더 이상 워드프로세서를 켤 필요도, 기업 담당자의 이메일을 학수고대 할 필요도 없습니다. 제보의 처리과정을 실시간으로 확인하고, 명예와 bugcamp.io 버그 캠프라는 사이트인데 로그인 후 프로그램 목록을 확인하면 여러개의 사이트에 대하여 버그바운티를 할 수 있도록 되어 있다. 또한 프로그램에서 어떠한 버그가 발생하였는지도 확인할 수 있어 웹 해킹 공부를 하는데 많이 도움이 되는 것 같다. 시간 날 때마다 계..
보호되어 있는 글입니다.
· 웹해킹
LDAP : 조직이나, 개체, 그리고 인터넷이나 기업 내의 인트라넷 등 네트워크 상에 있는 파일이나 장치들과 같은 자원 등의 위치를 찾을 수 있게 해주는 소프트웨어 프로토콜 -> *을 입력한 뒤 나오는 결과 확인 후 [*);cn;]부터)을 추가해서 에러가 나오는지 확인 SSI : HTML 페이지의 전체 코드를 수정하지 않고 공통 모듈 파일로 관리하며 동적인 내용 추가하기 위해 만들어진 파일, 적은 정보 추가 및 간단한 정보 실행할 때 사용하면 좋음 XPATH : XML 문서의 특정 요소나 속성에 접근하기 위한 경로 지정 언어 XML : 데이터를 저정하고 전달 목적으로 만든 언어 디렉터리 인덱싱 : 서버의 미흡한 설정으로 특정 디렉터리 초기페이지의 파일이 존재하지 않을 시 자동으로 디렉터리 리스트를 출력 ..
문제를 읽어보면 SQL injection 문제라는 것을 알 수 있다. start 버튼을 누르면 다음과 같이 ID 입력 창이 나온다. ID를 아무거나 입력 한 후 join 버튼을 누르면(id에 공격 코드 넣어도 안 먹힘) 채팅창이 나온다. 채팅창에 이제 아무거나 입력을 해보자 다음과 같이 아무거나 입력 후 개발자 도구를 통해 이 채팅이 어디로 가는지 확인해 보면 된다. 개발자 도구에서 chat.php를 확인하면 chatlog.php?t=1이랑 chatview.php?t=1&ni="+ni라는 부분을 볼 수 있다. chatlog.php = 현재까지의 채팅 개수 확인하는 페이지 chatview.php = 현재까지의 채팅기록을 볼 수 있는 페이지 우선 chatlog.php 페이지를 들어가보면(/chatlog.ph..
old33을 누르면 다음과 같이 나온다. 힌트를 얻기 위해서 view-source를 누른다 소스를 확인하면 GET 방식으로 'get'이라는 변수에 'hehe'라는 값이 들어가면 다음페이지로 넘어가는 무엇인가 나온다는 것 같다 GET 방식으로 변수를 저장하는 방법은 URL 뒤에 ?를 붙여 준 뒤에 변수 = 값 으로 집어 넣는다 -> ?get=hehe 다음의 값을 URL 뒤에 붙여주면 다음과 같이 wrong이 Next로 바뀌었다. 다음으로 넘어가기 위해서 Next 버튼을 눌러준다. 2단계로 넘어 왔다 2단계의 source를 확인하면 post 방식으로 변수를 받아서 그 값이 hehe랑 hehe2이면 Next 버튼을 띄어준다고 한다. 근데 POST 방식은 GET 방식 처럼 URL 뒤에 변수를 대입해서 보낼 수 ..
3번문제이다. 3번문제는 id가 guest로 고정되어 있고 no에 따라 결과 값을 출력해주는 코드이다. 근데 아이러니한 것은 id가 amdin일 경우 문제가 해결된다고 한다. 일단 no값에 1을 집어 넣어보았다. 다음과 같이 hello guest라는 문구가 출력된다. 다음으로 or 1=1#이라는 injection 공격 코드를 집어 넣어보았다. 다음과 같이 hello guest라는 문구가 출력된다. 이제 no=1뒤에 admin이라는 id를 집어 넣어보았다. -> ?no=1 or id ='admin' '를 사용하지 말라는 경고 표시가 뜬다. '를 필터링 하였기 때문에 '를 사용하지 않고 '를 사용해야 한다. 다음과 같이 '를 우회하기 위해 아스키 코드를 사용하였다. 아스키 코드표 아스키 코드표를 확인하면 a..
다음 문제는 id변수와 pw 변수를 받는데 pw를 md5 해시 함수를 돌려 값을 저장한다. 일단 값이 어떻게 들어가는지 확인하기 위해 id 변수와 pw 변수에 값을 집어 넣어 보았다. 다음 사진은 id, pw 변수에 값을 집어넣은 결과이다. 다음으로 ' or '1=1#을 집어 넣어 보았다. 공격이 먹히지 않는다. 어떻게 해야 고민을 하다가 & 연산자를 통해서 다음 변수로 넘겨준다는 것을 알았다. 그래서 & 연산자를 쓰지 않고 pw 변수를 불러와 받으면 될 것 같다고 생각했다. -> id=admin' pw=' 'or '1=1# 다음과 같이 입력해 보았다. 문제를 해결하였다.
1번 문제이다 id변수와 pw 변수를 받아서 select문을 돌린 뒤 결과를 출력해주는 코드이다. sql injection 중에 가장 흔한 공격방식인 ' or 1=1#을 사용해서 변수에 값을 넣어주면 될 것 같다. 또한 get 방식을 통해 id와 pw를 받기 때문에 URL에 ?id = ~방식으로 집어넣으면 될 것 같다. -> ?id=admin&pw=' or '1=1# 다음과 같이 공격을 하면 1단계를 클리어 할 수 있다.
문제를 들어가면 다음과 같은 페이지가 나온다. get source를 눌러 소스를 보았다. D1: D2: get source 코드를 햇거하면 tmp/p7 파일이 존재하지 않으면 p7.c 파일을 컴파일 하여 p7이라는 파일을 만들고 첫번째 값을 p7이라는 실행파일에 집어넣고 실행한 값을 result라는 변수에 저장한 후 result 값이 1이 아니고 d1하고 d2 값이 동일하면 flag 값을 출력하고 그렇지 않으면 try again이라는 문구를 출력하라는 것이다. 이제 p7.c라는 코드를 확인해보자 http://wargame.kr:8080/php_c/p7.c 불러오는 중입니다... 다음과 같이 입력하면 p7.c 코드가 나온다. #include #include void nono(); int main(int a..
문제를 해석하면 PNG 이미지 파일을 복구하라고 한다. 하지만 이게 진짜 PNG 파일이냐고 물어본다, (스테가노그래피는 아니고 포렌식 챌린지 문제이다) 이제 start를 누르면 ptsd가 올 것같은 사진과 함께 find the code!!라는 문제가 있다. 뒤에 있는 사진을 복구하면 되는 것 같다. 개발자 도구를 누르면 pattern pattern이라는 파일이 있다. 이 파일을 다운 받은 후 HXD를 키고 다운 받은 파일을 열면 맨밑에 .tEXtSoftware.Japng r119라는 글자가 있다. 인터넷에 Japng라고 검색을하면 java apng라는 것을 알 수 있다. apng 파일은 .gif 파일처럼 애니메이션을 구연하였지만 기존 PNG 파일과의 호환성을 유지한 파일이다. 쉽게 말해서 png파일이지만..
type confusion 문제를 눌러보면 start를 누르면 view-source를 누르면 view-source 다음과 같은 코드가 나오는데 여기서 중요한 코드만 해석해보면 if (isset($_POST['json'])) { usleep(500000); require("../lib.php"); // include for auth_code function. $json = json_decode($_POST['json']); $key = gen_key(); if ($json->key == $key) { $ret = ["code" => true, "flag" => auth_code("type confusion")]; } else { $ret = ["code" => false]; } die(json_encode..
3년안에 내집 마련
'웹해킹' 카테고리의 글 목록