2013년 12월 27일 금요일

webhacking.kr - 15번(50점)


이번엔 50점짜리 문제인 15번이다.

점수가 짠만큼 제일 쉬운거 같다.

15번 문제를 클릭해서 들어가면


Access_Denied라는 경고창이 나를 반기고

이전페이지로 돌아간다.

갑자기 일어난 상황에 당황하거나 로그인이 되있나 확인도해보지만

모든건 정상적이고 계속 같은 문구창만 뜬다.

이문제는 Javascript 사용을 하지 않는것이 핵심이다.


크롬의 설정에 들어가

고급설정표시를 누른후
찾아보면 위와 같은 창이있다. 
콘텐츠 설정을 누르고


위와 같이 자바스크립트에서 실행 허용 안함을 체크하고
확인을하고 다시 들어가보면 키가 나올것이다.


15번 문제의 소스이다.

스크립트가 실행되어있으면 
바로 Access_Denied가 출력되고
history.go(-1)에 의해 이전페이지로 돌아가게된다.

그래서 스크립트가 실행되어있을땐 키를 볼수없던것이다.

webhacking.kr - 14번(100점)

100점짜리문제인 14번이다.

매우 심플하게 인풋태그뿐이다.

우선 소스를 살펴보자.

사진에는 안나와 잇지만
위에 <script>로 시작하고 </script>로끝난다.
그러므로 이건 javascript를 사용한것이다.

내용을 분석하면 ul에 현재주소를 넣고
.kr의 위치를 찾는것이다.

IndexOf 함수는 매개변수와 일치하는 문자열의 위치를 반환하는 함수이다.




크롬의 콘솔창은 js를 지원하므로 이곳에 위 소스를 넣으면
510이라는 값이나온다.
즉 ul=510인 것이다.


마지막줄을 보면 
ul과 인풋태그에 넣은값이 같으면 키를 출력해준다.
하지만 내 컴퓨터에서만 그런건진 모르겟지만
510아닌 값을 넣을떈
Wrong이 맞게 출렷되는데
510을 넣으면 alert문이 제대로 실행되지않는다.
그러므로 안에잇는 내용대로
ul과 인풋태그에 넣은 값을 곱한값이 키값이다
즉 510*510 =? 이 키이다. 

webhacking.kr - 4번


4번 문제이다. 암호화한 키를 해독하는 문제같다.

맨 끝에 "==" 이 있으므로 Base64 디코딩을 한다.



base64 인/디코딩을 해주는 사이트이다.


그래서 디코딩을 하면 위와 같은 문자가 나온다.

글자수를 세보니 32글자가 아니므로 md5는 제외하고
글자수가 40개 이므로 sha1 방식인거같다.



sha1 디크립트 해주는 사이트이다.

아까 얻은 키를 입력하며 복호화 하면 또다시 암호화된 값이 나온다.



그래서 다시 아래의 값을 복호화하면 원하던 Key가 나온다.

Key는 직접 해보면 알게된다.

나온 문자를 Auth창에 입력하면된다.

2013년 12월 23일 월요일

APMSETUP

apm setup은 서버를 구축하기 위해 필요한
Apache
PHP
Mysql
이 프로그램들의 앞글자를 딴 APM을 번거롭지 않게 한번에 설치 할수잇게 해주는 툴이다.
이 툴을 사용하여 개인이 자신의 컴퓨터로 쉽게 웹서버를 구축할수 있게 해주기 때문에
매우 편리하고 좋다.
사이트를 제작하는 용도로
일반 컴퓨터에 홈서버로 사용하기도하지만 이런 방법은 보안문제와 요금부담으로 
사이트 제작을 위한것이라면 호스팅서비스를 사용하는것도 좋다.


다운로드
apmsetup을 개발한 근사모홈페이지에서 다운 받는다.

APMSETUP이 실행되면 위와 같이 apm이라고 써잇는 까만아이콘이 나타난다.

그후 아이콘에 오른쪽클릭->모니터보기를 했을때
아래그림처럼 나오면 개인 웹서버 구축에 성공한것이다.

PHP-PHP Heaven

php를 시작하기에 앞서
php를 공부하기 좋은곳을 찾아보았다.

php heaven 이라는 사이트로
php에 대한 내용을 잘 정리해두었다.
책보다 더 쉽게 정리된 부분도 있고
이해도 잘되어서 보고 공부하기에 좋은거 같다.

그리고 좀더 공부를 하고싶으면
php school 이라는 사이트를 이용하면 될거같다.

연말 정리

올해는 다양하게 시작한거같다.
첫 입학해서 바로 시작한 프로그래밍은
기초부터시작해
파일처리(거의 끝)까지 공부를 했고
원래 높던 국영수 성적은 낮아졌다.
그리고 춤이란건 아예 관심도 없엇는데
고등학교 댄스부에 들게 된후 많이 배우고
또 재미를 알게되었다.

올해 동안 한 것들을 총정리하면
프로그래밍
웹프로그래밍
교내모의해킹대회(은상)
수련회 공연(동아리)
축제 공연(동아리)
각종 봉사활동
개인 공부
ITQ액셀 자격증
ITQ파워포인트 자격증
컴퓨터 활용 능력 2급 자격증
정보처리 기능사 자격증
ITQ엑세스 자격증
등이 있다.

올해에서 아쉬운점은
리눅스 마스터 낙제
국영수 점수 하락 및 내신 하락
전공 공부 미숙
등인거 같다.
올해를 마무리하고 내년엔 더 많은 결과들을 만들어내고싶다.
일단 제일먼저 해야할것들은

컴퓨터 활용 능력 1급 자격증(1월달 내에)
졸업 공연(동아리)
영화 감상(취미)
부족한 전공(웹, JAVA)
등을 더더욱 보충해야겠다,

2013년 11월 29일 금요일

xcz.kr-3번


xcz.kr 3번이다.
스타크래프트 맵에관한 문제이다.


다운받은 파일을 여는 스타에딧이다.


파일을 여니 맵이 나온다.


Triggers에 들어가면 key에 관한 내용이나온다.


키가 한글자씩 나온다.
시간에 흐름에 따라 게임실행시 나오는건데
이렇게 맵파일을 열어 키를 확인할수있다.

About me

나는 평소에 컴퓨터를 좋아하는 사람이었다.
약 6살쯤에 처음 컴퓨터를 만졌다. 그때
타자치는 느낌이 신기했던걸 아직도 기억한다.
그 이후로 게임도하고 그림도 그리고
다양한걸 하다보니 더더욱 컴퓨터에 빠지게되었다.
그러다 중학교에 입학하고
판검사라는 꿈을 가져 공부를 하게되었다.

애초에 다니는 중학교가 그렇게 좋은 중학교가아니라
조금만 해도 성적이 금방금방올랏고
나는 판검사가 될수 있을거란 자신감을 가지게되었다.
그러다 다른학교들도 나오는
수학 올림피아드에 출전하고나서
내가 아무것도 아님을 깨닫고나서
공부도 안하다가
다시금 내가 좋아하던 컴퓨터를 떠올렸다.

그리고 컴퓨터에 관한 직업을 찾아보았다.

그러던중

뉴스에서 해킹을 당해 고객들의 신상정보가
유출됬다는 뉴스를 보았고
그 사이트에서 유출됫는지
안됫는지 검사하는게잇엇다.
거기서 검사를해서 내정보도 유출된걸보고
이런일이 없도록 막고싶다는 생각을 하게되었고
정보보안 전문가가 되고싶어졌다.
그렇게 되서
들어온게 선린 인터넷 고등학교이다.

학교에서
컴퓨터에관한 각종 기술(프로그래밍, 운영체제, 정보기술)
등을 배우며 다양한걸 깨닫게되었고
이쪽에 내가 관심이 잇단걸 확신하게되었다.

그래서 내꿈인 정보 보안 전문가가 되기위해

다양한 자격증을 따고
각종 해킹 기법에대한 공부를 하며
내신도 쌓아 진학을하여
더욱 배우고
정보 보안계열의 종사하는 사람이 되고싶다.

2013년 11월 28일 목요일

리눅스-서버구축보고서

학교 수업시간에 한
각종 서버 구축능력이 되는지에 대한
테스트를 하는 보고서이다.



StepByStep-댄스수업

우리 동아리는
이촌에 잇는 
청소년 수련관에서 활동을 한다.
이번에 이촌에서 댄스수업이잇어서
2주에걸쳐 매주 금요일마다 수업을 들었다.

외부에서 강사가오셔서 수업을 하시는데
강사 선생님이 하람꾼소속이셨다.




위사진들은
첫수업날이다.

곡은 지드래곤의 삐딱하게를 배웠엇다.
처음엔 어려운듯 싶엇으나
동작하나하나가 그렇게 어려운게아니었다.
그래서 금방금방외우게되었엇다.






그리고 마지막 수업날 배운 
태양의 링가링이다.
이건 정말로 어려웠다.
지드래곤의 삐딱하게는 춤도 외우고
쉽게 따라햇던 반면
이것은 다배우지도못하고 속도는 엄청빠르며 동작하나하나가 어려웠다.



2번의 수업을 들으면서
다시금 내가 몸치라는걸 느끼게 되었다.
더 연습해서 이상하지않게만 추고싶다.



StepByStep(동아리)-수련회

수련회날에 우린 장기자랑에 참가했다.
댄스부라는 이름값 때문에 긴장이되기도했엇다.
그래도
약 1달 반동안 연습하여
비의 힙송과
비스트의 쇼크를 추었다.
처음 춤음 배웟을땐 이게뭔지 제대로 움직이는지
몸이 내 생각대로 안움직엿는데
이땐 겨우 어떻게든 해낸거같다.

아래는 그때의 사진들이다.









StepByStep(동아리)-소개

Step By Step
선린 고등학교의 댄스부이다.
학기초에 선린에 대한 정보란 아무것도 모른채로
학교에 들어오게 되어 갑자기 동아리를 뽑는다길래
다른 학교처럼 그냥 일반적인 CA시간 인줄알았다.
하지만 애들이야기를 들어보니 선린동아리에 대해 알게되었고
신중하게 선택하게되었다.
그래서 고른게 스텝바이스텝이다.
평소 춤이나 노래같은 활동적인걸 좋아하는 성격이었다.
그래서 장기자랑같은거에도 항상 나가기도했다.
그래서 댄스동아리라는것에 흥미를 가지게되었고
그렇게 동아리에 붙게되었다.

스텝바이스텝은 자유로운 분위기의 동아리이다.

평소엔 자기계발을 하거나 춤을 미리 연습을하고

우리 동아리은 특별한 날이 있다.
졸업공연,수학여행or수련회,축제 
이날에는 춤을 추는날이고 그날을위해
1달~2달정도 미리연습을한다.
비록 연습하는게 늦게까지도 하고 힘들고 지치기도하지만
지나고나면 정말 뿌듯하고 더추고싶은 마음도 든다.

스텝바이스텝은 나에겐 최고의 동아리인거같다.

웹프로그래밍-쇼핑몰


앞으로-(1)

학기말이 가까워오면서
지금까지 뭘했나라는 생각이 문득 들은적이 많앗다.
학기초 처음 학교에 붙게되고
갑자기 겨울방학에 프로그래밍 수업을 들으로나가는데
뭐가 뭔지도 모르고 어리벙벙하게
수업 듣다가 돌아왓고
입학하고나서
그저 아무것도 모르고 와
전공 공부에 집중하고
겨우 학교 애들을 따라잡았다.
그러나 따라잡는데 거의 일년이 지나갔고
그 동안 국영수에 너무 소흘했다.
그래서 이번 기말고사가 끝난 후
전공 공부는 학교진도에만 맞추고
좀더 국영수에 신경을 쓰려한다.
올해엔 자격증을 따기위해
컴퓨터학원을 다니며
자격증을 따왓고
이제 내년엔 컴퓨터학원대신
국영수를 공부할수잇는 학원을 다녀
3학년때 볼 수학능력시험을 미리 대비해야겠다.
내 목표가 진학인지 취업인지 아직 정확히
모르겠다. 일단 둘중 하나라도 됫으면 이라는 마음이 든다.
그래서 내가 할수잇는 최대한의 노력을 해서
어떻게든 해내야겠다.

2013년 11월 17일 일요일

xcz.kr-2번

wargame 사이트중 하나인 xcz.kr을 시작해보았다.

2번문제이다.


주의 깊게 들으라고한다. 
힌트로 Upper Case = "대문자" 가 쓰여있다.


Download Here를 클릭시 다음과 같이 나온다.

재생을 해보면 모스부호가 매우 빠르게 들린다.


소리를 녹음한 후 골든웨이브 프로그램으로 파일을 열었더니
다음과 같이 소리의 길이가 나타났다.
길이를 사용해 모스부호를 표시하고 



위의 표로 모스부호를 해독을 한다.



그럼 다음과 같이 키값을 알수있게된다.


2013년 11월 15일 금요일

리눅스-mysql조작어 정리

디폴트 값 잇는 필드 추가
ALTER TABLE TB_name ADD Field_Name DATATYPE default 0;

필드 추가

ALTER TABLE TB_name ADD Field_Name DATATYPE;

필드 타입변경

ALTER TABLE TB_name MODIFY Field_Name DATATYPE;

필드명 변경

ALTER TABLE TB_name CHANGE Field_Name Original_Name Want_Name DATATYPE;

기본키 제약조건 추가

ALTER TABLE TB_name ADD PRIMARY KEY(Field_Name);

기본키 제약조건 삭제

ALTER TABLE TB_name DROP PRIMARY KEY(Field_Name);

레코드 삽입  (ex;필드가 id name code)

INSERT INTO TB_name VALUES(DATA,DATA,DATA); (모든필드에 값넣기)

INSERT INTO TB_name (id, code) VALUES(DATA, DATA); (필드가 id와 code 에만 데이터주입);

레코드 삭제

DELTER FROM TB_name WHERE 조건 ex) WHERE (name="A")OR(id=5);

레코드 변경

UPDATE TB_name SET 내용 WHERE 조건  ex)  UPDATE TB_name SET total=5, name="k" WHERE id=2;


레코드조회

SELECT Field_Name FROM TB_name; (필드 골라서 조회)

SELECT * FROM TB_name; (모든필드조회)

두구문 모두 where문 사용가능

2013년 11월 9일 토요일

리눅스-mysql(1) 응용

오늘은 학교 학습지의 문제를 풀어보았다.

1. test01 데이터베이스와 test02데이터베이스를 생성하시오.
2. 데이터베이스가 제대로 생성되었는지 확인하시오.


CREAT 구문으로 
test01과 test02가 생성되었다.

3. test02 데이터베이스를 삭제 하시오.


drop 구문을 이용하여 test02를 삭제하고
삭제가 됫는지 확인을했다.

drop구문

drop Type DB_name;

4. test01을 사용할 수 있게 하시오.

5. sun01 테이블을 작성하시오.

id : INT형  
name : varchar(10)형

6. sun02 테이블을 작성하시오.

id : INT형 (not null 제약조건 추가)
name : varchar(5)형

7. sun03 테이블을 작성하시오.

id : INT형  (primary key 제약조건 추가)
name : varchar(5)형 (UNIQUE 제약조건 추가)

8. sun04 테이블을 작성하시오.

id : INT형 (primary key 제약조건 추가)
name : varchar(5)형 (default 값이 0 (숫자))


use DB_name;

use 구문으로 사용할 데이터베이스를 지정한다.

create table Table_name(); 
create 구문으로 테이블을 생성한다.

제약 조건을 넣을떈
위와같이 형(INT or varchar)옆에
조건을 넣는다.



sun01과 sun02가 제대로 생성되엇는지 확인해보았다.
sun02의 id가 not null이다.


sun03과 sun04가 제대로 생성되엇는지 확인해보았다.
sun03의 id가 primary key이며 name은 UNIQUE 이다.
sun04의 id도 primary key이며 name의 default값은 0이다.


2013년 11월 3일 일요일

JAVA-Exception & Try구문

자바에서는
프로그램 실행 중 발생하는 에러를
익셉션(Exception)이라고 칭한다.
자바에서는 익셉션을 처리하는 방법은 독특하다.
아래에서 그 방법을 알아보자.

3을 0으로 나누는 프로그램이다.
3을 0으로 나누는 것은 불가능한 연산이다.
그러므로 실행시 익셉션이 나타난다.

 java.lang.ArithmeticExeption이라는 종류의 exeption이 발생했다.
익셉션은 다양한 종류가 있다.
실행시 이런 메세지가 나타나면 보기도 힘들고 이해하기도 어렵기 때문에
에러문구를 다른 에러문구로 바꿔 줄 수가 있다.
그것은 바로 try구문이다.

try구문의 기본형식이다.
try{}에 실행할 구문들을 넣고
catch(익셉션종류(type) 익셉션변수(ex: e)){}에
익셉션 처리문구를 넣는다.
finally{}에는 익셉션 발생에 관계없이 마지막으로 
실행할 문구를 넣는다.

위와 같이
try구문을 작성한 후 실행을 하면

이런 결과가 나타난다.

finally구문은 생략이 가능하다.

finally 구문을 생략한 try문이다.

try구문을 생략해도 제대로 try문이 실행된다.

JAVA-뇌자극자바(Exercise 2-5)

2-5번 문제는
Integer.parseInt 메소드를 이용해
명령행 파라미터로 받은 정수를 모두 더하여 합을 출력하는
프로그램을 작성하는 것이다

Integer.parseInt 메소드 사용방법

num=Integer.parseInt("12");

이렇게 메소드를 호출하면
"12"라는 문자열을  12라는 정수로 만들어 리턴하는것이다.

이를 이용해 명령행 파라미터로 문자열로 숫자를 받고 그 숫자를
정수형으로 바꾸어 더 한후 그합을 출력하는것이다.


반복문을 돌려서 args의 내용을 순서대로 사용할수잇게만든다.
n=Integer.parseInt(args[i]);
n에 문자열 숫자를 정수형으로 바꾸어 입력한다.
그리고 sum에 값을 더하고
반복문이 끝난후 sum을 출력한다.