좋은사이트 있어서 공유합니다.

좋은사이트 있어서 공유합니다. 


http://www.canbike.org/CSSpixels/

디바이스 해상도와  ratio있는 사이트입니다. 끝~

아.. 세로보기가아니고 가로보기 기준으로 가로세로를 적어놨습니다.


해킹용OS 종류와 리눅스운영체제 공부

해킹용OS 종류와 리눅스운영체제 공부


해킹용OS 종류와 리눅스운영체제 공부

 

 

컴퓨터에 관심이 많이 있고 여러가지 공부를 해봤거나

각종 툴에 관심을 가지고 있는 사람이라면 누구나 한번쯤은 들어봤거나 다운을 받아봤을법한게 해킹용OS일 겁니다.

물론 그냥 들어보기만 했고 쉽게 다운받을수 있다는 생각을 잘 못하기 때문에

애초에 찾아볼 생각을 해보지 않았을수도 있고 다운을 받아봐도 어떻게 사용해야하는지 잘 모를수 있으니

그냥 알고만 있는 사람들도 있었을텐데 오늘은 이런 여러가지 해킹OS에 대해서 설명해볼까 합니다.

 

 

 

보통 운영체제라고 하면 당연히 집에서 사용하는 윈도우라는건 알고 있으실텐데

해킹용OS는 모두 리눅스라는 오픈플랫폼인 운영체제로 만들어 져 있기 때문에

단순하게 툴 사용을 할게 아니라면 리눅스에 대해서 알고 있는게 중요하기도 합니다.

일단 이런거에 앞서서 대표적으로 잘 알려져 있는 몇가지를 설명해 드리도록 하겠습니다.

 

 

첫번째로는 가장 흔하고 많이 알려져 있는 해킹용OS인 백트랙인데

보통 해킹운영체제라고 각종 해킹과 관련된 도구들이 있다보니 뭔가 불법적으로 보일수가 있는데 이건 오해이고

실제로는 정보보안을 테스트하기 위해서 만들어진거지 실제 불법적인 해킹을 하려고 만들어 진건 아닙니다.

백트랙은 우분투리눅스를 기반으로 만들어 졌고 침투테스트 전용으로 만들어진 운영체제로

이를 이용해서 모의해킹을 할수가 있는데 IWHAX, WHOPPIX, Auditor 3개의 모의해킹용 리눅스체제를 합친거죠.

이런 운영체제를 사용하려면 우선 다운을 받아야 하는데 생각보다 쉽게 다운을 받을수 있고

누구나 사용할수 있는 오픈소스이기때문에 설명서를 통해 사용법만 잘 인지하고 있다면 누구나 활용이 가능하죠.

 

 

두번째로는 백트랙의 후속버젼인 칼리 리눅스라는 해킹용OS인데

백트랙처럼 다양한 해킹 도구들이 있는데 칼리 리눅슨느 백트랙과 달리 우분투를 기반으로 만든게 아니라

데비안을 기반으로 만들어 졌습니다.

그리고 NetHunter라고 넥서스 디바이스를 위한 안드로이드 ARM기반의 침투 테스트 공격 도구로

모바일에서 한두번의 클릭만으로도 MiTM 공격이나 무선공격, Exploit공격 등 PC환경의 칼리리눅스에서 사용하는

대부분의 기능을 사용자 그래픽 환경으로 지원을 하고 있기도 합니다.

여기서 우분투와 데비안이 무엇인지 잘 모르는 분들도 있을건데 이런 분들은 아마

리눅스란 자체를 잘 모르는 분들이 아닐까 싶기는 합니다.

 

 

그리고 세번째는 누구나 한번쯤은 들어봤을법한 해커그룹인 어나니머스에서 제공하는

해킹 전용 OS인 어나니머스-OS가 있는데 이역시 우분투를 기반으로 만들어졌으며

DDoS공격에 관련된 공격도구가 많이 있는데 DDoS 공격 시뮬레이션 도구와 DDOSIM과 호스트IP를 찾는

파인트 호스트IP와 SQL인젝션 공격이 가능한 Havij등 있습니다.

아무래도 유명한 해커그룹인 만큼 아직 초보자들에게는 많은 관심을 가지게 되는 해킹용OS일진 몰라도

위에 언급한 다른 운영체제들 보다는 기능적인 측면으로는 부족한게 많이 있기 때문에

리눅스 공부를 제대로 해봤던 친구들에게는 조금 인기가 없지 않을까 싶습니다.

 

 

네번째로는 BackBox라는 해킹용OS인데 이역시 우분투기반으로 만들어졌고

가볍고 빠른 리눅스 배포판중 하나인데 잘 알려진 해킹도구들을 모아 침투 테스트와 보안평가를 위해서 개발되었죠.

이번에 BackBox 4.0이 출시 되면서 다시 인기를 끌것으로 보이는데

실제 리눅스 운영체제 공부부터 체계적으로 공부를 잘 했던 분들은 다른 해킹OS보다는

훨씬더 유용하다고 얘기를 많이 하기도 하죠.

솔직히 어떤 해킹용OS를 사용하더라도 교육목적으로는 별로 상관은 없기 때문에

인터페이스가 편한걸로 선택해서 하는게 좋을것 같기도 한데

우선은 가장 기본이 되는 리눅스 운영체제에 대해서부터 공부를 해보시는게 좋을겁니다.

 

 

 

이 외에도 많은 종류가 있기는 하지만 일단 잘 알려져 있고 한번쯤은 접해봤을법한 것들만 위주로 간단히 설명 했는데

이런 각종 해킹OS를 이용해서 실제 일어나는 여러가지 해킹범죄들을 따라할수도 있기 때문에

악용을 하거나 교육목적이 아닌 다른 용도로 사용을 하다가는 큰일이 날수도 있으니

조심해야하고 어느정도 수준이 되시는 분들은 어차피 리눅스 운영체제가 오픈소스이기 때문에

나만의 OS를 만들어 보는것도 좋을것 같습니다.

물론 이정도 수준이 되려면 상당히 많은 공부를 해야겠지만요....

 

 

그냥 간단하게 명칭만 소개했는데 여기서 실제 사용하는 방법에 대해서 세세하게 설명했다가는

아무것도 모르는 학생들이 따라하다 범죄자가 될수도 있기 때문에

관심이 있는 분들은 기초부터 공부를 해보면서 직접 기술력을 키워보는걸 추천해 드립니다.

우선 기초가 되는건 리눅스 운영체제이지만 컴퓨터공부를 한번도 해본적인 없는 분들은

C언어라는것 부터 한번 해보시는게 좋을것 같고 프로그래밍 능력이 좋으면

실제 해킹을 할때에도 상당히 유용한 부분이 많이 있고

자신이 직접 해킹 툴도 만들어 낼수가 있기 때문에 이런 기본이 되는 과목들을 잘 공부해두는게 좋습니다.

 

 

 

그냥 단순 흥미나 재미때문에 알아보는 분들은 이런 기초과목이 지루하고 어렵기 때문에

전혀 중요하다고 생각하지 않고 단순하게 툴을 다운받고 설치해서 사용하는거에만

관심을 두는데 이런 분들은 절대로 해킹용OS를 다운받거나 사용하는 일은 없었으면 합니다.

요즘에는 개인정보보호법이 많이 개정이 되기도 했고 법도 강화되고 있기 때문에

장난 삼아서 프로그램 한번 실행해 봤다가 돌이킬수 없는 실수가 될수도 있으니

이런 공부를 하든 뭘 하든 자신이 하는 행위에 대해서 책임을 질수 있다는 생각이 확고하게 들었을때

접하는게 좋고 그럴려면 당연히 기초과목인 리눅스 운영체제부터 체계적으로 공부를 해야겠죠.

 

 

보통 잘 모르는 분들이 이런 기초과목이 재미가 없을거라고 생각을 하는데

오히려 컴퓨터에 정말로 흥미가 많이 있는 분들이라고 한다면

리눅스 같은 기초 운영체제에 대해서 공부를 해본다면 생각보다 활용할수 있는 기능도 많고

자신이 집에서 사용하는 윈도우라는 운영체제와는 좀 다르기도 하고

바꾸거나 여러가지 기능을 추가하고 나만의 운영체제를 만들어서 사용할수도 있기 때문에

생각보다 굉장히 재미있는 과목이 될수 있기도 합니다.

 

 

 

요즘에는 해킹사건들이 많은 이슈가 되고 있어서 이런 해킹용OS를 단순하게 악의적인 목적에 활용한다고 생각하는데

위에 언급했듯이 이런 모든 운영체제들은 해킹침투테스트를 목적으로 개발이 된거기 때문에

화이트해커로 활동하는 전문가들이 해킹이 가능한 여러가지 상황들을 분석해

보완하는데 그 목적이 있는거니 이런 공부를 하려는 분들도 이런 취지에 맞게끔 윤리적인 생각을 가지고

접근을 해도 얼마든지 재미있게 공부를 해 나갈수가 있기도 할겁니다.

 

 

일단 기초가 되는 과목들부터 시작을 해서 조금씩 고급기술을 체계적으로 익혀 나가는게 중요한데

분야에 대한 정보를 알아보기도 어렵고 어떤 과목들을 공부하고 어떻게 활용이 되는지

전혀 알지 못하기 때문에 많은 학생들이 계획을세우기가 어려운 경우가 많이 있는것 같습니다.

이런 기초가 되는 과목은 어렵다고들 얘기를 많이 하지만 실제로 공부방법만 잘 인지하고 접근하면

그렇게 어렵지만은 않기도 하기 때문에 단순하게 해킹용OS를 사용하는 방법에만 집착하지 말고

리눅스 운영체제나 C언어나 이런 기초적인 부분을 익혀서 어떻게 활용하는지를 알아보면

훨씬더 재미있고 쉽게 공부할수가 있기도 할겁니다.

 

 

 

이런 기초적인 공부자료같은 경우는 쉽게 구할수도 있기때문에 직접 접해보면 좀더 좋은 경험이 될텐데

관심이 있는 분들은 아래 이미지 링크를 통해서 관련 카페로 연결해 놓았는데

이곳에 관련 기초 공부자료나 기타 해킹분야나 여러가지 분야에 대한 정보들도 많이 있으니

필요한 분들은 이용해 보시면 좀더 재미있게 공부를 해 나갈수 있을것 같습니다.


리버스엔지니어링(리버싱) 툴 종류 급증하는 악성코드 분석공부

리버스엔지니어링(리버싱) 툴 종류 급증하는 악성코드 분석공부


리버스엔지니어링(리버싱) 툴 종류

급증하는 악성코드 분석공부

 

 

해마다 PC를 공격하고 위협하는 악성코드들이 증가하고 있다고 하는데

국내 대표기관인 KISA(한국인터넷진흥원)에서 이를 담당하고 있는 인력은

급증하는 수에 턱없이 부족한 상황이라고 하고 오히려 예산이 줄어들고 있다고 하네요.

담당자도 몇년 전부터 4명이었는데 아직도 4명이서 모든 업무를 처리한다고 하는데

이게 4명이서 가능한 일인가 싶기도 하네요.

 

 

 

이런 여러가지 악성코드들을 분석을 하기 위해서 필요한 기술이

리버스엔지니어링(리버싱)이라는 건데 사용하는 프로그램이 목적에 따라서 다르기 때문에

적절한 상황에 맞춰 필요한 툴을 이용해야 합니다.

물론 처음부터 그냥 프로그램 사용법을 익힌다고해서 이해할수 있는 수준의 레벨이 아니기 때문에

기초지식이 되는 프로그래밍이나 OS나 네트워크에 대한 부분을 어느정도 숙지하고 있어야 하고

이후에 목적에 따라서 필요한 툴을 이용해서 분석을 하게 되기 때문에 공부할게 많은 분야이기도 하죠.

 

 

일단 리버스엔지니어링이란 그냥 단순하게 말하면 프로그램을 분석하는 기술인데

리버싱을 사용하면 코드가 여러가지가 있는데 소스코드, 헥사코드, 어셈블리코드가 있습니다.

소스코드는 흔히 우리가 C언어같은것들을 배울때 사용하는 코드를 말하고

헥사코드와 어셈블리코드는 평소 공부할때 접하기 어렵기 때문에 이게 뭔가 할수도 있긴 합니다.

이를 이용해 디스어셈블러 툴을 이용해서 디스어셈블된 코드를 분석해 소스코드를 복구하거나

프로그램이 어떻게 돌아가는지 확인을 할수도 있기 때문에

수정 보완을 할수가 있는거고 이를 악용해서 게임쪽에서 흔히 말하는 버그나 핵을 만들어 내죠.

 

 

 

물론 이런 목적으로 사용되는건 아니고 보안개념에서 사용을 하는건데

여러가지 상황에 따라서 사용되는 리버싱 툴에 차이도 있기도 한데 어쨋든 모두 리버스엔지니어링의 한 부분이죠.

일단 현재 실행중인 함수의 디스어셈블된 코드를 보여주고 사용자가 코드를 따라가면서 각 코드 라인에서

어떤 식으로 동작을 하는지 볼수 있는 디버거 툴들이 있는데 대표적인걸로는

Ollydbg를 이용해서 역분석을 할수도 있고 이 외에도 Windbg와 IDA가 있습니다.

이런것들이 악용을 한다면 나쁜 용도로 사용할수 있지만 좋은 용도로 사용하면 현재 문제가 되는

여러가지 악성코드를 분석해서 보안할수 있도록 보안업데이트를 할수가 있는거죠.

 

 

그리고 리버싱 툴중에 파일과 레지스트리의 변화와 네트워크상태나 프로세스의 상태를 분석할수 있는

시스템 모니터링 툴로는 Filemon과 Regmon, Tcpview, Procexp, WireShark가 있는데

이중에서는 리버스엔지니어링 공부를 시작하려는 분들은 와이어샤크를 가장 많이 들어보지 않을까 싶네요.

와이어샤크는 네트워크 모니터링 툴인데 프로토콜로 전송되는 패킷을 분석해서 보여줍니다.

 

 

 

그리고 이미 컴파일된 바이너리를 역으로 컴파일 해주는 툴도 있는데

디컴파일러 툴로 플래쉬 디컴파일러인 sothink SWF Decompier와 닷넷 프로그램 디컴파일러인 Reflector과

델파이 디컴파일러 DeDe가 있습니다.

그리고 바이너리를 분석해서 어떤 패커를 이용해서 바이너리를 패킹했는지, 어떤 언어로 제작했는지 알아내는

PEID와 리소스해커, String이 있고 프로그램을 압축하거나 보호하기 위해서

사용되는 패커들이 하는 일을 반대로 해주는 언패커 툴인 Universal Extractor과 VMUnpacker이 있습니다.

 

 

그리고 바이너리 파일을 수정하는 헥스에디터에 울트라에디터와 Hex Workshop이 있고

루트킷 탐지하는 GMER, IceSword등 다양한 상황에 따라서 이용하는 리버싱 툴에 차이가 있는거죠.

그렇기 때문에 리버스엔지니어링 공부를 한다고해도 목적과 상황에 따라서 방향에 차이가 있고

기본적으로 요구되는 지식에도 많은 차이가 있을수밖에 없는겁니다.

보통 많은 학생들이 공부하는 목적을 보면 보통 취약점분석이나 악성코드분석을 위해서 많이 하는데

깊이 파고들면 파고들수록 어렵고 복잡한 분야중에 하나입니다.

 

 

 

물론 어떤 분야든 깊게 파고 든다면 안어려운게 없긴 하겠지만 보안쪽으로 진로를 잡고 있다고 한다면

이런 리버스엔지니어링에 대한 부분은 필수라고 할수도 있기 때문에 모든 종류를 다 익힐 필요까지는 없겠지만

진출 방향에 맞춰 관련된 리버싱 툴에 대해서는 어느정도 숙지를 해주시는게 좋습니다.

일단 악성코드를 직접 만들거나 분석을 하기 위해서는 기초 프로그래밍 능력이 탄탄해야 하기 때문에

이것부터 공부를 체계적으로 잘 해주셔서 리버싱기술까지 익히는게 중요하고

악용하면 절대로 안되겠죠.

 

 

보통 보안쪽으로 진로를 잡고 있는분들이 많이 혼란스러워하는 부분이

분야가 다양하다는걸 모르기때문에 웹상에서는 어떤걸 공부해야한다 뭘 알아야 한다는 말이

전부다 다를수밖에 없어 뭐가 맞는 말인지 잘 모르는 경우가 많이 있습니다.

하지만 어떤 말이든 다 맞다고 볼수가 있는데 그 이유가 위에 여러가지 리버싱툴 종류에 대해서 알려드렸듯

상황과 목적에 공부과정이 달라지듯이 보안분야도 생각보다 다양하게 나눠져 있는만큼

어떤 방향으로 준비를 하느냐에 따라서 기초과목에 차이가 있고 각종 해킹기법이나 리버스엔지니어링같은

역공학 기술도 이에 맞춰 관련 기술력을 키워야 하기 때문이죠.

 

 

 

위에도 많은 종류의 리버스엔지니어링 툴 종류를 설명하긴 했지만 단순 명칭만을 알려드린거라

어느정도 리버싱 공부를 목적에 두고 있거나 악성코드분석에 대해서 공부를 해보려고 한다면

각 툴에 대해서 정확히 알아보고 필요한 기술을 익혀야 하고

사전에 위에 언급한 기초 지식이 되는 프로그래밍이나 운영체제, 네트워크에 대해서부터 숙지를 해야하는겁니다.

현재 국내 대표라고 할수 있는 KISA에서도 전문인력이 턱없이 부족한 시점이기 때문에

많은 인재들이 이런 쪽으로 공부를 통해 기술력을 잘 익혀서 현재 국내 문제가 되고있는

보안취약점들을 분석해서 찾아내는 전문 화이트해커들이 많이 있다면

지금보다는 훨씬 더 해킹위협에서 안전할수 있지 않을까 싶습니다.

 

 

사회적으로도 이런 보안인력을 양성하는데 목적을 두고 있고 요즘에는 모의해킹 분야에 대한 인력 양성에

많은 투자를 하고 있는만큼 이런 리버스엔지니어링 기술을 공부하려고 하는 사람들도 많아질것 같은데

관심이 있어도 어떻게 어떤 방법으로 해야할지 잘 모르는 경우가 대부분이라

그냥 간단하게 소개를 하게 된건데 중요한건 개인 상황에 맞춰 필요한 리버싱 툴을 익히는거기 때문에

글자체가 많은 도움이 되지는 않을겁니다.

그래도 악성코드분석이 됐든 뭐가 됐든 관련 공부를 하기 위해서는 분야선정이 중요하다는거고

분야에 맞춰 필요한 프로그램들이 있기 때문에 이런 종류에 맞춰서

요구되는 기본이 되는 과목들을 우선 공부를 시작해 나가면 되는것 뿐입니다.

 

 

 

보통 리버싱쪽에서는 프로그래밍 능력이 많이 요구되기 때문에

기초지식으로 프로그래밍 언어인 C언어부터 공부를 하면서 자신이 소질이 있는지에 대해서도 고민을 해보시는게 좋고

만약 프로그래밍 능력이 많이 부족한 상황이라고 한다면 이런 능력이 많이 요구되는

리버스엔지니어링 툴보다는 그나마 요구가 덜되는 시스템 파트쪽으로 방향을 잡는게 좋을것 같고

악성코드분석이나 제작하는 부분도 프로그래밍 능력이 많이 요구되기도하니

이쪽 분야로 진로로 꼭 생각을 하고 있다고 한다면 어렵더라도 C언어부터 프로그래밍 능력을 키우는데

중점을 두고 공부를 해주시는게 가장 좋을것 같습니다.

 

 

이런 기초 프로그래밍 능력같은 경우는 개인적으로도 충분히 공부가 가능하고

공부방법만 정확히 인지하고 있다면 이해하는게 많이 어렵지는 않은데

관련 자료가 필요하신 분들은 아래 이미지 링크를 통해서 공부를 할수있는

카페로 연결해 드릴테니 접속하셔서 기초부터 공부를 해보시면 될것 같습니다.


블랙해커에 관심을 갖는 분들...

블랙해커에 관심을 갖는 분들... 


 

예전보다는 현재가 IT라는 용어들이 좀더 친숙하고 익숙하게 들어보기는 하지만

아직까지 그 개념에서 대해서는 잘 파악하는게 어려움이 많습니다.

그렇다보니 여기저기서 얘기하는 말들이 달라 혼란스러운 경우도 종종 있는것 같은데

해커에는 크게 화이트해커, 블랙해커, 그레이해커 이 3종류가 있는데

보통은 차이가 있다는건 알겠는데 정확히는 잘 모르고

그냥 윤리적이나 불법적이냐 정도로 구분을 짓는 경우가 많은것 같습니다.

 

 

 

뭔가 다르다고는 인지를 하고 있기때문인지 모르겠지만

완전히 전혀 다른거라고 생각을 하는 사람들도 있는데 해킹에 관심있는 분들은 여러분야 중에서

블랙해커라는게 본인이 생각하는것과 맞다고 생각을 하는겨우 많습니다.

그렇다보니 선량한 학생(?)들이 잘못된 길로 빠져가는 분들도 있어서 이런 개념에 대해서

쉽게 이해할수 있도록 설명을 해보려고 포스팅을 시작하게 됐죠.

 

 

우선 차이가 전혀 없다고 할수는 없지만 그 차이는 기술적인 측면 보다는

마인드??생각??적인 측면이라고 할수가 있을것 같습니다.

우선 가장 흔하게 들어보는 화이트해커는 누구나 아는것처럼 윤리적인 목적을 가지고

보안에 위협이 될수 있는 여러가지 요소들로부터 정보시스템을 방어하는 전문가들인데

이와 반대로 블랙해커같은 경우는 악의적인 목적을 가지고

보안에 위협이 될수 있을만한 여러가지 요소들을 찾아내서 허가없이 상태방 시스템에 침투를 하거나

시스템을 파괴하고 개인정보 유출이나 데이터유출을 하는 범법자 인겁니다.

 

 

 

그레이해커는 별로 중요하진 않은데 허가없이 상대방 시스템에 침투를 하기는 하지만

악의적인 목적없이 보안에 위협이 될수있을만한 취약점을 찾아 학습이나

자기개발 목적으로 이용을 하거나 아니면 상업적으로 활용을 하기도 하는

약간 어중간한 위치에 있는 해커라고 할수가 있을것 같습니다.

어느 분야든 목적에 차이가 있을뿐 내용적인 부분이 크기 다르지 않다는것을

말에서 알수가 있듯이 실제로 가지고 있는 기술력에도 별반 차이가 없다고 볼수 있습니다.

 

 

블랙해커가 해킹을 하는 사람이라고 인식이 돼 있기 때문에

해킹기법에 관심이 있는 많은 학생들이 이런 범법자에 해당하는 분야에 관심을 가지는 경우가 있는데

어차피 화이트해커든 그레이해커든 블랙해커와 똑같이 해킹기법을 익히고 활용하기 때문에

단순 기술적인 측면으로만 보면 전혀 다를게 없다고 볼수가 있는거죠.

다만 이 해킹기법을 이용해서 어떤 목적으로 사용을 하느냐에 따라서 그냥 불리는 명칭만 달라지는거기 때문에

해킹기법에 관심이 있다고 하더라도 범죄자가 될게 아니라면 당연히 윤리적으로 사용하는게 맞습니다.

 

 

 

별로 개념 파악하는게 어려운것도 아니고 조금만 공부를 해보거나 직접 접해봤다면

쉽게 이해할수가 있는 부분이기도 한데 제대로 경험할 기회가 없는 어린 학생들이나

전혀 관련이 없는 분야에서 활동했던 분들같은 경우는

자칫 잘못하면 큰 실수를 저질수도 있는 위험한 부분이기도 합니다.

요즘에는 이런 개인정보에 대한 중요성도 많이 각인되고 있고 법안도 조금씩 강화되고 있기 때문에

사소한 실수 하나때문에 엄청난 일이 발생할수도 있다는 점은 항상 가지고 있어야 하고

해킹공부를 하더라도 이를 허가없이 악용하면 그 순간 본인은 블랙해커가 되는거죠.

 

 

누구나 어렸을때에 컴퓨터에 흥미를 가지고 관심을 가지다 보면 해킹이라는 기술에 관심을 갖게 되는데

배우는거야 누구나 할수 있는거고 필요한 공부과목이 무엇인지만 알고 있다면

혼자서도 얼마든지 기술력을 키울수가 있는데 간혹 이미 개발된 해킹 툴을 이용해서 장난이겠지만

친구들이나 아는 사람이나 아니면 정말로 범죄가 될수 있을만한 짓을 모르는 사람들에게 사용을 하기도 하는데

이런것도 블랙해커로 간주되고 피해가 있을시에는 법적인 처벌까지도 받을수 있기 때문에 조심해야 하죠.

 

 

 

그렇다면 이런 상대방 시스템을 침투하고 공격할수 있는 해킹기법을

화이트해커는 어떤식으로 활용하는지를 설명해 드리면 목적자체가 보안에 위협이 될수 있는 여러가지 요소로부터

컴퓨터시스템을 방어하는 역할이기 때문에 우선 이런 위험요소로부터 방어를 하기 위해서는

위헙요소가 뭐가있고 어떻게 침투를 하고 어떻게 피해를 입게 되는지에 대해서 분석합니다.

여기까지만을 보면 블랙해커와 전혀 다를게 없는데 이렇게 침투하고 분석에서 끝나는게 아니라

이에 대한 대응책을 마련하련하고 보안 업데이트를 하게 되는거죠.

 

 

하지만 이런 개념자체가 잘 잡혀있지 않고 생소한 분들은 그냥 보안이라는거에 초점을 맞추다보니

해킹기법을 익힌다고는 별로 생각을 하지 못하는 경우가 많이 있다보니

블랙해커에 더 큰 관심을 갖는 분들이 많이 있는데 상당히 위험한 생각인거죠.

해킹보다 보안이 더 어려운 이유도 이런것 때문인데 해킹이야 그냥 취약점을 찾아내거나

아니면 컴퓨터가 기계인점을 이용해서 악성코드를 이용해 정해진 형식 없이

다양한 방법으로 하기 때문에 이를 일일이 분석하고 여러가지 경우의 수를 감안해서

보안 대책을 마련해야 하기 때문입니다.

 

 

 

그렇기 때문에 개인적인 생각이지만 블랙해커보다는 화이트해커가 훨씬더 능력이 뛰어나다고 생각이 되고

해킹기법도 좀더 잘 다루고 기술력도 뛰어나야지만 제대로 활동을 할수가 있지 않을까 싶네요.

요즘에도 해킹이라는 기술에 많은 관심을 갖는 친구들이 있기는 하지만

말 그대로 그냥 해킹을 하는거에 관심을 갖는 친구들도 상당히 많이 있어 이런 사람들이

장난이지만 자기도 모르게 범죄를 저지르게 되는 경우가 허다한 경우가 많은데

이런 개념을 좀만 더 잘 이해하고 파악하고 있다고 한다면 단순 해킹을 하는거에서 그치는게 아니라

이런 공격에 대한 대응을 할수 있는 방안까지도 생각해볼수 있다고 한다면

훨씬 더 재미있게 공부를 하면서 사회에서 인정받는 전문가가 될수도 있지 않을까 싶습니다.

 

 

결론적으로 글을 쓰게 된 이유가 블랙해커라고해서 해킹기법을 잘 다루고 하는게 아니라는걸 알려드려고 싶었던 거고

기왕에 이런 컴퓨터기술을 익히려고 마음을 먹고 있다고 한다면 어렵게 익힌 해킹기술을

자신이 범법자가 되는데 활용하지 말고 사회적으로 인정받고 전문가로 활동할수 있도록 활용한다면

좀더 보람있고 재미있고 더욱더 깊이있게 공부를 할수 있는 목표가 생길수도 있을거기 때문에

기술적인 부분에 관심이 있는거라면 화이트해커로 목표로 두시는게 좋을겁니다.

 

 

 

이유가 어찌됐든 단순 해킹 프로그램을 사용하는 행위는 제대로된 해커라고 할수 없고

직접 해킹툴을 만들수 있을정도의 기술력을 키워나가야 하는거고

직접 알려지지 않은 취약점을 찾아내서 해킹침투가 가능한 새로운 루트를 찾아내는 기술력을 익혀야 합니다.

그래야 블랙해커가 된다고해도 제대로 활동할수가 있는거고 보안을 하려고 해도

이런 기술력이 있어야지만 제대로된 대응책을 세울수가 있는거기 때문에

블랙해커랍시고 이미 웹상에서 쉽게 구할수 있는 해킹툴같은 경우는 사용할줄 알아봤자 웃음거리밖에 안되는거죠.

 

 

해커처럼 해킹기법을 익히기 위해서는 사전에 취약점을 분석할수 있는 능력이 필요하고

취약점을 분석하려면 컴퓨터시스템이 어떻게 구축되고 어떤식으로 구동되는지 알고 있어야 하기 때문에

기초가 되는 지식이 프로그래밍, 운영체제, 네트워크, 데이터베이스가 됩니다.

이런 기초지식을 토대로 각종 취약점 분석과 이를 이용할수 있는 각종 해킹기법과 이에대한 대응방법을 익히게 되는데

그렇다보니 제대로 공부를 하려고 한다면 워낙에 많은 분야에 대한 지식이 필요하기 때문에

시간적으로도 많은 시간이 필요하고 상당히 많은 노력도 필요하죠.

 

 

 

어차피 우선은 기초 과목들부터 차근차근 접해나가야 하는건데 이런 기초가 되는 부분은

아무런 지식이 없어도 누구나 쉽게 공부할수가 있기 때문에 기술력을 키워 나가시면 될것 같습니다.

간혹 아무것도 모르는 상태에서 할수 있는지 고민을 하는 친구들도 있는데 전혀 상관이 없으니

공부를 시작해 보려고 하시는 분들이 있다면 아래 이미지 링크를 통해 관련 카페로 연결해 드릴테니

공부자료가 필요한 분들은 이용해보시면 기초적인 기술력을 키우는데 도움이 될겁니다.


IT분야 중 가장 중요한게 IT정보보안 선정

IT분야 중 가장 중요한게 IT정보보안 선정



 

불과 얼마 전까지만 해도 기업에서는 업무에 대한 효울성을 높이기 위해서

문제가 될 요지가 있기는 하지만 정보보안은 크게 생각하지 않았고

그에따른 투자나 지원도 많이 었었던게 사실이었습니다.

하지만 이제는 IT분야에서 가장 중요하다고 평가하고 이제는 최우선으로 고려해야하는

사항으로 IT정보보안을 꼽고있는 추세이기 때문에 앞으로 많은 발전이 있을걸로 보이네요.

 

 

 

이번에 테크프로리서치에서 C레벨 임원인 최고경영자CEO와 최고정보책임자인 CIO와

최고정보보호책임자인CISO등과 IT담당자들을 대상으로

앞으로 IT분야에 대한 전망을 조사한 결과 IT시스템에 대한 정보보안성 향상을

가장 최우선 기술적 고려사항으로 꼽았습니다.

본래에는 업무의 효율성을 높이기 위한 사항이 가장 높에 평가가 됐었지만 이번에는

두번째로 꼽히게 됐고 프로젝트 관리가 세번째로 선정이 됐습니다.

 

 

이번에 조사한 내용을 보면 앞으로 3년 이후 IT부서가 가장 중요하게 봐야할 분야에 대한 항목중에서도

IT정보보안이 가장 중요하다고 답했을 정도로 많은 주목을 받고 있는데

각종 개인정보유출이나 여러가지 해킹공격과 새로운 취약점 버그가 등장하면서

잦은 보안사고로 인해서 각 기업들이 많은 관심을 가질수밖에 없는 분야가 되버린 거죠.

역시 직접 경험을 하고 사고가 터져야 지만 그 문제에 대한 심각성을 깨닫는것 같아서

어쩔수 없구나 라는 생각을 버릴수가 없기도 하네요.

 

 

 

해마다 정보보안이 중요하고 이슈가 되고있다고는 얘기를 많이 하지만

실제 기업에서는 움직이는 동향을 보면 그렇게 중요하다고 생각하지 않는것처럼 보일만큼

개선이 되는 부분이 없었고 국내 기업같은 경우는 더더욱이나 심각했었죠.

하지만 이런 문제가 계속해서 일어나고 여러가지 개인정보에 대한 개정사항으로 인해서

이제는 각 기업들이 IT분야중에서 정보보안을 가장 중요하게 꼽고 있는것 같습니다.

 

 

아직까지는 전문인력이 많이 부족한 상황이기 때문에 많은 학생들이 IT정보보안 쪽으로 목표를 잡고

취업준비를 하기도 했는데 기업에서는 그렇게 크게 중요하게 생각치 않은 경우가 많아서

취업문이나 대우적인 부분에 있어서는 생각한것 만큼 좋지도 못했던게 사실이지만

이제는 이런 부분이 많이 개선이 될것 같고 사회적인 인지도나 근무환경이나 조건적인 면에서도

많은 개선이 있을것 같아 현재 IT분야로 진출을 목표로 하고있는 여러 사람들에게는 희소식이지 않을까 싶네요.

 

 

 

여러가지 IT분야중에서 가장 준비할게 많이 있고 익혀야 하는 기술이 많이 있는 분야가

IT정보보안인데 많은 노력에 비해서는 생각보다 좋은 대우를 받지 못했던것도 있었는데

이제는 그만큼 노력한 부분에 대한 대가를 받을수 있게된것 같기도 하고

해마다 사회적으로 인정을 받고 있는것 같아 정보보안전문가에게 필수적으로 필요한

책임감이나 자부심을 갖는데도 많은 도움이 될수 있을것 같네요.

 

 

보통 IT정보보안 분야를 보면 생각보다 업무파트가 다양하게 나눠져 있기 때문에

개개인마다 진출하고자 하는 방향에 따라서 요구되는 기술력에 차이가 있어서

준비과정이나 방법에도 많은 차이가 생기기 때문에 전반적인 분야에 대해서 정확히 인지하고

필요한 기술에 대해서 기초부터 체계적으로 공부를 잘 해 나가야 하는데

이런 계획을 잡는게 생각보다 어려움이 많이 있기 때문에 대부분 전공생들 조차도

자신이 준비하기 어렵다고 생각을 하는 경우가 많이 있기도 합니다.

 

 

 

이제 사회적으로 어느정도 중요하다고 평가가 되고있고 개선되는 부분도 많이 있을것으로 보이는데

이제는 이것보다는 현재 진행되는 교육시스템에 대해서도 많은 개선이 필요할것도 같네요.

아직까지는 iT정보보안 쪽으로 진출을 하기 위한 기술을 익히기 위해서는

사전에 공부해야하는 과목들이 많이 있지만 대부분의 사람들이 학업으로 배울수가 없어서

개인적으로 준비를 하고있기 때문에 방향을 제대로 잡지 못하고 있다고 한다면

준비를 하고싶어도 계획을 잡기가 막막할수밖에 없는거죠.

 

 

보통 이것저것 검색을 해보면 프로그래밍언어가 기초라느니 서버나 네트워크를 공부해야한다느니

여러가지 용어들을 들어볼수가 있긴 하겠지만 프로그래밍 언어도 종류가 많고

서버또한 마찬가지로 딱 정해져 있는게 아니기 때문에 이런 용어를 아는게 중요한게 아니죠.

IT정보보안 분야마다 담당하는 업무에 대해서 알아보고 업무수행능력을 키우기 위한 기술력을 익혀나가야 하기 때문에

이와 관련된 과목에 대해서 공부를 해야하는거죠.

 

 

 

그렇기때문에 프로그래밍언어나 서버나 네트워크에 대해서 공부를 해야하는건 맞지만

IT정보보안 분야중에서 어떤 파트로 진출을 할 생각인지에 따라서 준비해야하는

과목에는 차이가 생기게 되는거기 때문에 아직 분야선정을 제대로 하지 못하고 있거나

개념이 제대로 잡혀 있지 않은 분들은 그냥 기초가 되는 공통적인 부분에 대해서 조금씩 해보시는것도 좋습니다.

IT분야가 다양하게 나눠져 있기는 하지만 어차피 공통적으로 알고 있어야 하는 기본 개념은

동일하기 때문에 처음에 계획을 잡는게 어렵다고 한다면 가장 기초가 되는 부분을 위주로 접해가면 됩니다.

 

 

이런 기초적인 과목에 대해서는 어렵지 않게 공부를 해볼수가 있기는 하지만

컴퓨터란게 접해보면 알겠지만 단순하게 명령어들을 외운다고해서 잘할수 있는건 아니니

동작원리나 개념에 대해서 잘 이해할수 있도록 공부를 하는게 중요하긴 합니다.

아직 아무런 경험없이 IT분야에 대해서 개념을 잡는것 자체가 모순이기 때문에 아무것도 접해보지 못한 상황이라면

모를수밖에 없으니 지금 당장은 정보보안이 뭐고 어떤 분야가 있고 어떻게 준비를 해야하는지를 알아보는것도

중요하긴 하지만 기초가 되는 기본과목들을 하나씩 공부를 해보면서 개념을 잡아가는게 중요합니다.

 

 

 

이런 기초가 되는 과목들에 대해서는 공부할수 있는 자료들도 어렵지 않게 구할수 있기 때문에

혼자서도 충분히 이해가 되거나 어렵지 않게 할수 있을것 같다 싶으면 기초부터 하나씩

공부를 해보는것도 좋고 아니면 좀 어렵다 싶으면 도움을 받으면서 공부를 하는게 시기적으로나 이점이 많습니다.

정보보안 쪽이 IT분야 중에서도 워낙에 많은 기술을 요구하기 때문에 기초적인 공부를 하는데

너무 많은 시간을 투자하면 끝도 없이 해야할거기 때문에 본인 상황에 맞춰 계획을 잘 세워서 준비를해야합니다.

아래 이미지 링크를 통해서 관련 공부를 할수 있는 카페로 연결해 드릴테니

혹시 기초지식이 필요한 분들은 이용해 보세요.

 

 

아니면 본격적으로 취업준비를 해야하는 시기라고 한다면 많은 시간을 투자하기에는 부담이 있을수도 있기 때문에

개념을 잡는게 어려운 분들은 전문기관을 통해서 기초부터 체계적으로 기술력을 키워 나가는것도 좋은데

여러 IT분야들에 맞춰 취업에 필요한 준비를 하수 있기도 하고 정보보안 파트에 맞춰서도 기본적인 기술력부터

취업준비까지 수월하게 할수가 있기 때문에 기시적으로 많은 도움이 될수가 있으니

아무런 기초지식이 없는 상황이라 할지라도 생각보다 수월하게 취업준비를 잘 해 나갈수가 있습니다.

 

 


< IT분야 정보보안 취업 준비과정>

 

 


 

오랜만에 이런 좋은 소식이 들려서 포스팅을 작성하게 됐는데

앞으로도 이런 좋은 소식들이 자주 들렸으면 좋겠고 지금도 많은 사람들이

각종 해킹사건들이 이슈가 되고 개인정보 유출 사건들이 빈번히 일어나면서

IT분야나 정보보안에 대해서 많은 관심을 갖게 되는 경우가 많이 있는데

아직까지는 생소한 부분이 많이 있기도 하고 알아보기가 어려운 파트이기 때문에

파악하는게 힘든점이 많이 있는데개인적으로 궁금한것들에 대해서 물어보셔도

자세하게 설명해 드릴수 있으니  관심을 가지고 있는 분들이라면 편하게 물어보세요.

 


 

이제는 전 세계적으로 IT전문인력 양성에 많은 노력을 하고 있다보니

국내에서도 이런 분위기에 맞춰서 상당히 중요한 분야로 생각하고 많은 지원을 하고 있지만

실질적으로 표면적으로 들어나 보이는건 솔직히 많이 없는것 같기도 합니다.

그래도 앞으로 많은 개선이 있을거라는 희망을 가지고 있기는 한데 예전보다는

많은 사람들이 관심을 가지고 있는것 같기도 해서 발전 가능성도 많고 전망도 밝은 분야가 될것 같네요.

 


 

아직 교육시스템을 열악한 부분이 많아 교육기관을 이용하는데도 제약이 많다보니

개인적인 공부를 하는 사람들도 많이 있는데 어차피 IT분야는 전체적으로

정보보안이든 어디든 개인적인 자기개발이 가장 중요하기 때문에

노력만 많이 한다면 누구든지 좋은 기술력을 갖출수가 있으니 열심히 하시길 바랍니다.^^


html5 pushState 를 활용한 pjax

html5 pushState 를 활용한 pjax


link : https://github.com/defunkt/jquery-pjax



안녕하세요. 

공부하다 혼자알기 아까워 공유합니다. 


pjax 는 쉽게말해 ajax의 history 관리 때문에 hash (#) 등을 활용해서 작업하던걸 

똑똑한 외국인이 HTML5 에서 지원하는 pushState 를 활용하여 합쳐진기술 입니다. 

친절하게 github 에도 있네요. 

블로그에 적어놓은거 수정해서 글좀 다듬었으니 천천히 읽으세요~ 

틀린거 있으면 알려주세요. 

넵 ㄳ 





[초보를 위한 간단설명] 

ajax = 비동기 자바스크립트 + XML 

hash bang = ajax 사용시 history 관리가 안되는 문제를 해결하기 위해 썼던 수단. 

pushState = html5 에서 지원하는 history 관리용도의 API (pushState, replaceState ) 

pjax = pushState + ajax 




[상세설명] 

##AJAX 

Asynchronous Javascript And XML (비동기 자바스크립트와 XML) 

기존 기술을 효율적으로 사용하도록 표준화 한것. 

핵심은 재로드 하지않고 일부만 갱신하여 웹서버와 데이터를 교환하는것. (대역폭의 낭비를 최소화 한다) 

설명 

    - 인터넷 표준을 기반으로 함. 

    - javascript/DOM (정보의 상호작용) 

    - CSS (데이터 스타일) 

    - XML, XSLT (데이터 전송포맷으로 사용), XMLhttpRequest 객체 (서버와 비동기적으로 데이터를 교환), JSON 

      JSON RPC로 데이터를 교환/조작함. 

이를 활용한 프레임워크 

    - prototype , jQuery, jQuery UI, dojo, YUI 등 





##Hash-Bang (#!) 

페이지 갱신없이 URL 을 변경하기위해 사용됨. (주로 SPA 를 만들기위해 사용됨.) 

twitter 에서 한때 사용된 기술. 

# 뒤의 부분을 fragment identifier 라고 부름. (#!dfdsafasdf) 

문제점 및 오류. 

    - javascript app 이기에, 스크립트에 오류 발생시 전혀 이용할 수 없음. 

    - 검색엔진. 

        - 구글링 가능 (_escaped_fragment_ 변환) 

        - SEO 불가. 

        - 크롤러는 HTTP 1.1 과 URL스펙 (RFC-2396)을 따름. 

        - 페이지 내의 스크립트를 실행하지 않기에 사이트의 컨텐츠를 가져갈 수 없음. 

        - 이는 Zombie , PhantomJS 등을 활용하여 크롤러 요청시 미리 Static 한 HTML 페이지를 리턴하여 적용 할 수 있다. 

        - 이는 서버측 코딩부담도 줄여주고, 오래된 브라우저에서도 대처가 가능하다. 

        - 참고 : http://funnygangstar.tistory.com/183 

    - 캐시문제. 

        - 중계서버가 이를 다룰 방법이 없기에 모든 트래픽을 다뤄야함. 

        - 리퍼러에 fragment identifier 가 넘어오지 않기에, 리퍼러를 보고 방문자 원글 추적이 불가능함. 





##PushState ? 

HTML5 의 History API. ( http://html5.clearboth.org/history.html  ) 

사파리 크롬 파폭 등 크로스브라우징 지원. 

참고링크 : http://www.slipp.net/wiki/display/SLS/pushstate 

    - history.pushState 를 이용하여 페이지의 성격과 명칭지정. 이동값 전달 및 내용변경이 가능하다. 

    - 다시 페이지로 오게 됐을때엔 history.replaceState 를 활용하여 함수 설정 가능하다. 



  


##PJAX ( https://github.com/defunkt/jquery-pjax ) 

    - HTML5 의 pushState + AJAX . 

    - 뒤로가기, 검색인덱스생성 불가능한 ajax 의 한계를 극복함. 

    - hash bang 의 URL hack 을 쓰지않고 URL 전환처리 가능. 

    - jQuery 버전으로 만들어져 있음. 

    - jQuery 1.8 이상부터 지원함. 


    - $(document).pjax(select , object) 

    - $(document).pjax(select , container ,object) 


    - EVENT 로는 click, submit, beforeSend, success, timeout, error, complete 등 

      ajax 에서 쓰이는 기능 외에 일부 요소를 갖고있음. 

    - meta tag 내에 pjax 버전등을 명시하여 검색엔진에도 활용 가능함. 

    - html5 가능 브라우져 : pjax 형태로 페이지 전환가능. 

    - 기타 브라우져 : 일반 페이지 이동하듯 처리됨.

[알고리즘] php의 다양한 array 함수 활용

[알고리즘] php의 다양한 array 함수 활용





저도 중급이라하긴 실력이 딸리지만.. 

그래도 오랜만에 작업하다보니 이렇게 하면 좋을것 같은 몇가지 이슈가 있어 정리합니다. 


우선 현재 개발중인 환경입니다. 


개발환경 


1.PHP 5.3, mariaDB 5.5, codeigniter2.1.4 


2.사용한 스크립트 

 - htmlshiv.js , respond.min.js , json2.js = ie8 호환 

 - bootstrap3.2 css,js = css framework 

 - jquery1.8.3 , jqueryUI 1.9.2 

 - http://github.com/davidchambers/Base64.js = ie8 호환 base64 

 - aes, aes-ctr js = AES 암호화 모듈 


3.사용한 libraries 

 - My_pagination = 한국식으로 바꾼 페이징처리 

 - Parser = CI + template_ 사용 

 - Aes PHP = AES 암호화 모듈 



php 에는 다양한 array 함수들이 있는데요. 

이중에 제가 사용한 함수들은 (array_map, array_merge, array_intersect_key,array_fill_keys) 입니다. 


1. array_map(함수,배열) 

배열에 있는 모든 키를 돌려 함수를 처리해줍니다. 

foreach 나 while 문등을 사용하지않고 배열안의 암호화나 validation 등을 할때 편하겠죠? 

전 AES 암호화 하는데 사용했습니다. 



2. array_merge(배열1,배열2) 

배열1에 배열2를 더합니다. 

두 배열을 합쳐 키 순대로 sort 되어 들어가는듯하구요. 

전 array_intersect_key 에 포함되지 않는 임의 값들을 따로 넣어 합치기위해 사용했습니다. 


3. array_intersect_key(원본배열, 여깄는것만 추가 할 배열)  

함수명에도 나와있다싶이 key 기준으로 값이 들어가게 됩니다. 

return 되는 변수에 정리된 배열값이 들어가게 되구요. 

여기서 중요한건 값을 넣을 2번째 배열에 key와 value 가 지정되어 있어야 하며, 

값이 없는경우 array ( ); 이 출력됩니다. 

2번째 배열에 key와 value가 모두 있다면, 1번째 배열에 있는 value 값이 2번째 배열로 넘어와 return 해줍니다. 


4. array_fill_keys(배열,값) 

$array=('pass','test','id') 등으로 선언되었을때 value값이 없는데요. 

array_fill_keys($array, 'jaweb') 으로 넣어주게되면 

array = [ 

  'pass'=>'jaweb', 

  'test'=>'jaweb', 

  'id'=>'jaweb', 

]; 

이것처럼 모두 같은값을 넣어줍니다. 


작업소스를 보시면 아시겠지만, 

기본적으론 Codeigniter 에서 지원하는 $this->input->post() 값을 토대로 작업했는데요. 

$postData 에 담아 하나하나 작성해도 되지만 

좀더 짧고 간결한? ; (메모리이득이 있을라나요..;) 

소스를 만들기 위해 위 함수를 사용해 정리하였습니다. 


뭐 사용법은 다들 하기 나름이니..ㅇㅇ.. 

넵..

[ ▼ 참고 Source ]

/*공통 helper*/

function aesEncrypt($data){
	return AesCtr::encrypt($data, AES_PASS, 256);
}


/*다른파일의 controller*/
	$postData = $this->input->post();
	$orderData = array_map('aesEncrypt', 
		array_merge(
			array_intersect_key($postData,array_fill_keys( //array1
				array(
					'oName','oMail','oHp','oTel',
					'odNam,','odMail,','odHp','odTel',
					'odDate','odAddr','odMessage','odContents',
					'oPrice','oPay'
				), NULL) // postData 에 있는 것중 아래 영역에 설정한 배열의 값만 가져와 삽입처리함.
			),array( //array2
				'oHidden'	=> (isset($postData['oHidden']))?'Y':'N',
				'oSecure'	=> (isset($postData['oSecure']))?'Y':'N',
				'odDateFast'=> (isset($postData['odDateFast']))?'Y':'N',
				'oIP'		=> $this->input->ip_address()
			)
		) //end array_merge , 두개 배열을 합쳐 model-order에 보낼 값을 정리함.
	);//end array_map

	/*	위에있는 array_merge, array_intersect_key, array_fill_keys 를 쓰지 않은경우.
	$orderData = array_map('aesEncrypt', array(
		'oName'		=> $postData['oName'],
		'oMail'		=> $postData['oMail'],
		'oHp'		=> $postData['oHp'],
		'oTel'		=> $postData['oTel'],
		'odName'	=> $postData['odName'],
		'odMail'	=> $postData['odMail'],
		'odHp'		=> $postData['odHp'],
		'odTel'		=> $postData['odTel'],
		'odDate'	=> $postData['odDate'],
		'odAddr'	=> $postData['odAddr'],
		'odMessage'	=> $postData['odMessage'],
		'odContents'=> $postData['odContents'],
		'oHidden'	=> (isset($postData['oHidden']))?'Y':'N',
		'oSecure'	=> (isset($postData['oSecure']))?'Y':'N',
		'odDateFast'=> (isset($postData['odDateFast']))?'Y':'N',
		'oPrice'	=> $postData['oPrice'],
		'oPay'		=> $postData['oPay'],
		'oIP'		=> $this->input->ip_address()
	));
	*/


execCommand("CreateLink") 새창 띄우기

execCommand("CreateLink") 새창 띄우기


execCommand("CreateLink") 새창 띄우기 

이걸로 삽질하시는 분들이 많을것 같아 올려봅니다... 

저두 지금 삽질하다가 클리어 했네요.... 

------------------------------------------------------ 


기존 

-> 

function createLink() { 

Editor.focus(); 

Editor.document.execCommand("CreateLink"); 



수정 

-> 

function createLink() { 

var EdRange = Editor.document.body.createTextRange(); 

EdRange.execCommand('CreateLink'); 


if (EdRange.parentElement().tagName=='A') { 

var href = EdRange.parentElement().href; 

var data = EdRange.text; 

EdRange.execCommand('UnLink'); 

EdRange.pasteHTML(''+data+''); 



---------------------------- 

제가 검색을 해봤는데 

var EdRange = Editor.document.selection.createRange(); 

이 내용이 아주 많고 에러가납니다. (IE11기준) 

IE11에선 createRange()가 호환이 이제 안된다고 해서 알아보니 

var EdRange = Editor.document.body.createTextRange(); 

이걸로 고치라고 해서 고쳤더니 되네요. 


도움되길.. 저만 삽질했나.ㅠ

[ ▼ 참고 Source ]

function createLink() {
    var EdRange = Editor.document.body.createTextRange();
    EdRange.execCommand('CreateLink');

    if (EdRange.parentElement().tagName=='A') {
        var href = EdRange.parentElement().href;
        var data = EdRange.text;
        EdRange.execCommand('UnLink');
        EdRange.pasteHTML('<a href="'+href+'" target="_blank">'+data+'</a>');
    }
}


bash 취약점 (shellshock) 업데이트 버전 확인

bash 취약점 (shellshock) 업데이트 버전 확인


패치가 발표된 후 취약점이 발표되었는데, 

패치가 불완전하다는 것이 그 후에 밝혀지는 바람에 또다시 패치가 발표되고... 

아무튼 지금 상황이 좀 혼란스럽습니다. 


데비안, 우분투 사용자는 

    apt-get update && apt-get upgrade 

또는 

    apt-get update && apt-get install --only-upgrade bash 

명령을 사용하시고, 


레드햇, CentOS, Fedora 사용자는 

    yum -y update bash 

명령을 사용하여 업데이트하시기 바랍니다. 


어떤 상황에서도 직접 컴파일은 비추입니다. 

bash는 매우 중요한 시스템 패키지이므로 반드시 공식 미러에서 받으셔야 합니다. 

만약 사용중인 미러에 최신 패키지가 존재하지 않는다면 미러를 바꾸세요. 미국 미러도 꽤 빠릅니다 ^^ 


이 시각 현재 모든 패치가 완료된 것으로 알려진 버전은 아래와 같습니다. 


우분투 14.04 LTS: 4.3-7ubuntu1.4 

우분투 12.04 LTS: 4.2-2ubuntu2.5 

우분투 10.04 LTS: 4.1-2ubuntu3.4 


만약 우분투 패키지가 다시 업데이트될 경우, 이 시각 이후에는 아래 링크의 버전 목록을 참조하시면 됩니다. 

http://packages.ubuntu.com/search?keywords=bash 


CentOS 7.x: 4.2.45-5.el7_0.4 

CentOS 6.x: 4.1.2-15.el6_5.2 

CentOS 5.x: 3.2-33.el5_10.4 


만약 CentOS가 다시 업데이트될 경우, 아래 링크의 맨 아래 CESA 2014:1306 관련 부분을 참조하시면 됩니다. 

http://lists.centos.org/pipermail/centos-announce/2014-September/thread.html 


위에 언급한 것보다 오래된 버전은 이미 오래 전에 지원이 중단되었으므로 업그레이드만이 살 길입니다. 

예: CentOS 3.x, 4.x, 우분투 8.x, 9.x, 10.10, 11.x, 12.10, 13.x 등 

정 급하면 최신버전 컴파일해서 쓰세요. 그러나 결과는 책임 못짐. 


이제 가장 큰 문제는 공유기, 모바일 기기, 기타 네트워크 장비 등 

유닉스계열 OS를 사용하지만 업데이트가 곤란한 기기들이죠. 

집집마다 공유기 줄줄이 털리게 생겼음. 이거 제조사에서 펌웨어 업데이트도 잘 안해주는데... 쩝 ㅠㅠ



jQuery 기반 숫자관련 플러그인.

첨부파일 : 

archive.zip


jQuery 기반 숫자관련 플러그인.

- removeText: 숫자제외 텍스트 제거. 

- numberFormat: 3자리 마다 콤마 표시. 

- onlyNumber: 위의 모든 기능 포함. 


소스와 예제는 파일첨부하였습니다.