본문 바로가기

분류 전체보기

[01] 의료업계가 표적이 되는 이유 : 클라우드의 오용 기사 원문 링크 : http://www.boannews.com/media/view.asp?idx=46845 요약 : 의료 산업에서 오용되고있는 클라우드 사용, 민감한 데이터들이 충분한 보안조치 없이 오르내림. 클라우드[cloud] : 단어 뜻 그대로 구름이라는 뜻, 소프트웨어와 데이터를 인터넷과 연결된 중앙 컴퓨터에 저장 인터넷에 접속하기만 하면 언제 어디서든 데이터를 이용할 수 있도록 하는 것. 더보기
[00] 보안 뉴스 스크랩 이번에 비오비 4기 면접을 보면서 다른 질문에 대해 대답을 제대로 못했던것도 굉장히 창피했지만..특히 질문중에서도 최근 보안 이슈에 대해 알고있는게 있냐는 질문에대답을 하지못했던건 다시 생각해봐도 너무 창피하다.그래도 보안동아리에서 활동하고,, 보안 전문가가 꿈이라고 하고 다니는데가장 관심있어야 할 분야에 대해서 무지했었다는 것이..그래서 하루에 한개 만이라도 기사를 스크랩해서 읽기로 했다. 하루하루 한개씩 쌓이면 일년이면 365개! 꾸준히 할 수 있기를..! 더보기
[350] prob48 350점 48번 문제이다.메모라는 댓글창? 인데 간단한 메모를 쓰고, 파일 업로드를 할 수 있다. 파일 업로드를 해보려고 했는데, 파일명은 3글자를 넘어갈 수 없다고 한다. 그렇다면 paros로 파일명을 조작해서 업로드 할수 있으니까 간단한 웹쉘을 만들고 파일명을 줄여보기로 했다.파일명을 줄이니 업로드가 되긴했는데...업로드한 파일을 보려고 하니 null을 출력하기만 한다.다른 파일을 업로드 해보아도 마찬가지..웹쉘을 업로드해서 푸는 방식은 아닌 것같다. 업로드된 파일을 삭제해보았다.URL을 확인해보니 mode가 del이고, 파일을 업로드했던 시간을 함께 GET방식으로 보내주고있다.파일을 삭제 할 때 어떻게 동작할가 생각해보았는데 주로 디렉토리에 있는 파일을 삭제할때 쓰는 rm명령어를 사용할 것이다.그렇.. 더보기
[400] prob34 400점 34번 문제이다. 문제를 누르면 wrong!이라는 alert창이 뜬다.확인을 누르면 그냥 까만창만 뜨는데제공해주는 소스가 있을 것 이므로 소스보기! 안타깝게도 자바스크립트의 를 제외하고는 알아보기가 힘들었다.자바스크립트 난독화를 해제?해주는 사이 트에 소스를 붙여넣기 해보았지만딱히 알아볼 수 있도록..은 만들어주지 않았다. 생각해보니 크롬의 요소검사를 이용할 수 있을 것 같았다.어쨌든 페이지에서 스크립트가 동작한다는 거니까..이렇게 세개의 스크립트가 있다고 뜨는데,세번째 스크립트만 보면 된다.URL에 0lDz0mBi2라는 문자가 있으면 Passw0RRdd.pww로 이동한다.0lDz0mBi2라는 문자가 없으면 제일 처음 들어왔을 때처럼 alert창을 띄워준다. URL에 0lDz0mBi2문자를 넣어.. 더보기
[350] prob53 350점 53번 문제이다!하얀 바탕에 hello world라고만 출력되고 있다.. 우선 소스보기 index.phps get방식으로 answer를 받는데, 이때의 값이 hidden_table의 테이블명과 동일할경우 문제가 풀린다. 주로 테이블 명을 알아낼때 select table_name form information_schema.tables; 를 사용하는데, 소스를 확인해보면 union, select, from 이 모두 필터링 되고있다. 그러므로 다른 방식으로 테이블 명을 알아내야 하는데 구글검색을 하다보니 처음보는 함수를 하나 발견할 수 있었다. mysql 함수인 procedure analyse()함수로 확인할 수 있다.Field_name이라는 첫번째 컬럼에서는 1.2.3와 같이 마침표를 이용하여 세부.. 더보기
[350] prob35 350점 35번 문제이다.핸드폰 번호를 입력하는 박스이다.번호를 입력하고 add를 누르면 Done이라고 뜬다.아마도 SQL Injection문제일 것이다.. 분명 .. 소스를 제공해주고 있으므로 확인해 보았다.Get방식으로 전화번호를 받고있고, 전화번호에서 from, select등등의 문자열이 들어가면 no hack이라는 문구를 띄우면서 exit! 문제에서 주어지는 쿼리문을 잘 살펴보면insert into challenge35_list( id, ip, phone ) values( '$_SESSION[id]', '$_SERVER[REMOTE_ADDR]', $_GET[phone] ) 같은 식으로, id와 ip는 ''으로 싸여있으므로 문자형이고, phone에는 ''이 없으므로 정수형이다.이렇게 컬럼이 없는 곳.. 더보기
[350] prob3 350점 3번 문제이다.문제로 들어가면 네모네모 로직퍼즐이 뜬다.옛 기억을 더음어서...우선 퍼즐을 풀어보았다..퍼즐을 맞게 풀었다면 name이라는 박스가 있는 페이지로 이동하게 된다.이름을 적고 write를 누르면내가 적은 name과 내 답, 그리고 내 ip가 출력된다.소스를 봐도 딱히 이상한 부분을 찾지 못해서 크롬의 요소검사로 보았다. answer을 hidden필드로 value를 세팅해서 넘겨준다. 근데 이미 이 페이지로 넘어왔다는건 퍼즐을 정확하게 풀었다는 것이고,value의 값도 일정할텐데 굳이 이렇게 넘겨주는 것이 이상했다... value를 요리조리 만져봤다.test라는 문자열을 넘겨주니 쿼리 에러!라고 뜬다. SQL Injection에 사용될 법한 문자열들을 넣어주면 no hack!이라고뜬다.. 더보기
level 19 level 19전 레벨에 비해 소스의 길이가 급격하게 줄어들었다..달라진 부분은 권한상승을 해주는 부분이 사라졌다는 것 그러므로 쉘코드에 권한상승을 해주는 부분을 추가해주어야한다.두가지 선택이있는데쉘코드를 직접 만들던가, 인터넷에 있는 쉘코드를 가져와 쓰면된다 ㅋㅋ.. 사용한 쉘코드 : \x31\xc0\x31\xdb\x31\xc9\x66\xbb\x1c\x0c\x66\xb9\x1c\x0c\xb0\x46\xcd\x80\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 내가 항상 사용하던 25바이트 쉘코드 앞에 권한상승하는 부분을 덧붙여서 사용하였다.버퍼의 크기 작으므로 환경변수를 .. 더보기
[300] prob49 300점짜리 39번 문제이다.또 SQL Injection문제..이번에도 1이 세팅되어있고 제출을 누르면 zzibong을 출력한다. 46번과 마찬가지로 다른 level값을 입력해도 다른 출력값이 나오진 않는다. 소스확인!46번보다 걸러주는게 더 많아졌다.눈에 띄는건 union과 and, %, 공백을 걸러주고있다.. and와 or는 &&나 ||와 그 의미가 동일하므로 &&와 ||를 사용하였다.admin이란 문자를 만들어주어야하는데 (,)도 걸러주고있어 char을 사용할 수 없다.하지만 0x는 걸러주지 않으므로 "admin"을 16진수로 변환한 값을 사용하였다.0x61646d696e = admin 49번 문제도 생각보다는 간단하게?해결! 더보기
[300] prob46 300점 46번 문제이다..싫어하는 SQL Injection문제가 또나왔다 ㅋㅋㅋ1이 기본으로 들어가있고 제출을 누르면zzibong의 information을 출력한다.level2,3,4,0...을 입력 해봐도 다른 정보는 출력하지 않는다. 이런 문제는 주로 소스를 제공해 주므로 소스를 확인해 보았다.GET방식으로 level을 가져오고, 가져온 값을 검사한다.공백과 /,*,%는 모두 없애버리고,union,select,from 등등이 포함되어잇으면 exit()! 공백은 %0a로 우회 char()을 이용해서 admin을 만들어준다.char(97,100,109,105,110) =admin 생각보다 어렵지 않게 풀수 있었다. 46번 문제도 클리어! 더보기