반응형

정보보호 653

[SQL개발자] 시험정보 / 후기 / 공부방법

2021년 4월 취득한 SQL개발자 갑자기 SQL개발자 자격증을 따봐야겠다고 생각한건 한창 웹해킹 공부를 하고있던중에 'SQL 공부를 조금 더 해보면 SQL 인젝션 공격코드를 더 멋지게 짤 수 있지 않을까?' 라는 생각이 들었기 때문이다. 그래서 이왕 SQL 공부를 하는거 뚜렷한 결과물이 있으면 좋겠다라는 생각을 했고, 알아보다보니 국가공인 자격증인 SQL개발자를 알게되어 도전하게 되었다. SQLD 또는 SQL개발자라고 부르는데, 한단계 상위 자격증인 SQLP(SQL전문가)도 있다. 이 두 자격증 모두 국가공인이다. 참고로 SQLP는 겁나 어렵다.. 도전하실분들은 SQLD 부터 차근차근 도전하시길.. 암튼 웹헤킹을 위해 SQL개발자 공부를 하게됐는데, 지금 돌아봤을때 도움이 됐나? 생각해보면.. 흠.. ..

[angstromCTF] Consolation - 웹해킹 / 자바스크립트

웹 해킹 문제이다. 보통 CTF 문제들은 제목이나 문제 설명 부분이 큰 힌트가 되는 경우가 많다. 이 문제같은경우 살짝 꼬아놨는데 문제 이름인 Consolation 은 '위로' 라는 뜻이다. 문제 설명도 보면 I've been feeling down lately.. Cheer me up! 이라면서 뭔가 위로를 바라는것 같다. 조금뒤에 보면 알겠지만 이 문제의 의도는 'Consol' ation 이다. 다시말해 '콘솔' 창을 활용해서 풀라는 것이다. Consolation 이라는 단어로 위장한것 뿐이다. '콘솔'창을 이용해서 문제를 푸는것은 Root Me 문제풀이에서 한번 다룬적이 있다. * 링크 : https://hackingstudypad.tistory.com/36 [Root Me] Javascript -..

CTF/웹해킹 2022.03.17

[angstromCTF] Reasonably Strong Algorithm - 암호학 / RSA

암호학 문제이다. 문제 이름이 Reasonably Strong Algorithm 인데 맨 앞글자만 따면 R S A 가 된다. RSA는 지금까지도 아주 많이 사용하는 공개키 알고리즘의 이름이다. 개발자인 Rivest, Shamir, Adleman 세명의 이름 앞글자를 따서 RSA 라고 이름을 붙인 알고리즘이다. RSA는 엄청나게 큰 숫자일수록 소인수분해가 어렵다는것에 착안해서 설계된 알고리즘이다. RSA의 원리는 아래와 같다. 1. 두 소수 p, q를 준비한다. 2. p-1, q-1과 각각 서로소(1외에는 공약수가 없는 수)인 정수 e를 준비한다. 3. ed를 (p-1)(q-1)으로 나눈 나머지가 1의 되도록 하는 d를 구한다.(d는 개인키로 공개하지 않는다) 4. n=pq를 계산한 후 n과 e를 공개한다..

CTF/암호학 2022.03.17

[Root Me] Javascript - Native code - 웹해킹 / 자바스크립트

Javascript - Native code 문제 15점짜리 문제이다. 문제 이름이 조금 바꼈는데 사실상 Obfuscation3 라고 봐도 무방할것 같다. 비슷한 유형의 난독화 문제이다. 문제페이지에 접속하면 또 이렇게 비밀번호를 요구한다. 역시나 f12를 눌러서 개발자도구로 웹 소스를 확인해본다. 확인해봤더니 중간에 태그 사이에 알수 없는 외계어들이 써있는걸 볼 수 있다. 그래도 Obfuscation 1, 2 문제는 사람이 읽을 수 있는 글자였는데... 적어도 알파벳이었는데 이 문제는 알파벳도 아닌 이상한 기호들로 도배되어있다. 이런 괴상하게 난독화된 코드가 있을때 아주 쉽게 풀 수 있는 방법이 있다. 개발자 도구를 보면 '콘솔'이라는 탭이 있다. 여기서 테스트용으로 javascript 코드를 실행시켜..

워게임/Root Me 2022.03.16

[리눅스마스터 1급] 시험정보 / 후기 / 공부방법

2021년 5월 취득한 리눅스마스터 1급 2급을 따고나서 1년만에 1급을 땄는데 그새 자격증 디자인이 바꼈다. (리눅스마스터 2급 : https://hackingstudypad.tistory.com/28) 역시나 한국정보통신진흥협회에서 주관하는 자격증이고 1급 역시 2급과 마찬가지로 국가공인 자격이다. 리눅스마스터 1급 시험은 위에서 알 수 있는것처럼 1차와 2차 시험으로 나누어진다. 2급과 다른점이 있다면 1급은 1차 2차 둘다 오프라인 시험이라는 것. 찾아보니 아직까지 시험지가 집에 보관되어 있었다. 1차 시험은 필기시험으로 100문제를 100분안에 풀어야 한다. 다른 국가기술자격처럼 60점 이상이면 합격이고, 과목당 40% 미만의 성적을 받으면 과락하게 된다. 2차 시험은 실기시험으로 단답형으로 이..

[angstromCTF] Taking Off - 리버싱 / IDA

Taking Off 세번째 리버싱 문제이다. 이 문제부터는 조금씩 머리를 써야한다. 물론 그렇게 어렵진 않다. taking_off 라는 바이너리 파일이 하나 주어진다. 역시나 확장자는 없고 elf 라는 파일형태로 리눅스에서 실행가능한 프로그램이다. (리눅스에서 쓰는 exe파일 같은거라 생각하면된다.) 리눅스에서 해당 바이너리 파일을 실행해보면 맨 마지막 줄에 Make sure you have the correct amount of command line arguments 라고하면서 argument 의 갯수를 맞춰보라고 한다. 지난번 revving_up 문제에서는 argument가 "banana" 하나였다. (참고 : https://hackingstudypad.tistory.com/33 ) 이번문제에서는 ..

CTF/리버싱 2022.03.15

[angstromCTF] Revving Up - 리버싱 / argument

아주아주 쉬운 리버싱 문제 사실 리버싱 문제인지도 잘 모를만큼 쉽다.. 352명이나 푼 걸보면 얼마나 쉬운 문제인지 감이 올것이다. 문제 설명을 보면 clam이라는 사람이 사이버보안학교에서 첫번째 리버싱 강의에서 만든 프로그램이라고 한다. 이 프로그램에서 플래그를 얻어내면 되는 문제이다. 문제파일이 하나 주어진다. revving_up 이라는 파일인데 확장자는 따로 보이지 않는다. 대부분 해킹대회에서 주어지는 이런 바이너리파일의 경우 리눅스 환경에서 실행할 수 있는 것이다. 리눅스 쉘에서 프로그램이 있는 경로로 이동한 뒤, ./revving_up 이라고 치면 프로그램이 실행된다. 실행시키면 문구가 몇가지 나오는데 Cougratulations on running the binary! Now there are..

CTF/리버싱 2022.03.14

[전자계산기기사] 시험정보 / 후기 / 합격률 / 공부방법

2020년 10월 취득한 전자계산기기사 얼핏보면 전자계산기조직응용기사 같지만 둘은 완전히 다른 자격증이다. 전자계산기기사 전자계산기조직응용기사 1. 시스템 프로그래밍 1. 전자계산기프로그래밍 2. 전자계산기구조 2. 자료구조 및 데이터통신 3. 마이크로전자계산기 3. 전자계산기구조 4. 논리회로 4. 운영체제 5. 데이터통신 5. 마이크로전자계산기 두 자격증이 요구하는 과목을 비교해봤다. 전자계산기구조, 마이크로전자계산기, 데이터통신 부분이 겹치나, 조직응용기사의 경우 전자계산기프로그래밍, 운영체제 과목이 있어서 소프트웨어적인 느낌이 강하다면 전자계산기기사는 시스템프로그래밍, 논리회로 과목으로 하드웨어적인 느낌이 더 강하다. 실제로 큐넷에서 두 자격증을 분류할때, 전자계산기조직응용기사는 정보기술 분야로 ..

[angstromCTF] Windows of Opportunity - 리버싱 / IDA

Windows of Opportunity 문제 이 대회에서 나온 첫번째 리버싱 문제이다. 리버싱이란 reverse engineering 의 약자로 역공학 이라는 뜻이다. 모든 프로그램은 개발자가 소스코드를 짜고, 그것을 컴파일해서 완성을하게 되는데 리버싱의 경우 완성된 프로그램의 동작을 분석하여 소스코드가 '어떻게 구성되었을것이다' 라는것을 추측하는 작업을 말한다. 문제설명을 보면 무슨 superior operating system 으로 만들어진 프로그램을 분석하라고 한다. 그게 바로 이 프로그램이다. 윈도우에서 돌아가는 exe 파일이다. 실행을 시켜보면 cmd 창이 하나 뜨면서 이 프로그램에서 플래그를 얻을 수 있냐? 라고 물어본다. 보통 이런 리버싱 문제들을 디스어셈블러를 이용해서 열어보면서 시작한다..

CTF/리버싱 2022.03.13

[Root Me] Javascript - Obfuscation 2 - 웹해킹 / 자바스크립트

두번째 Obfuscation 문제 Obfuscation이란 난독화를 의미한다. 보통 공격자가 악성코드의 분석을 방해하기 위해 사용하거나 개발자가 코드의 동작을 숨기기 위해 사용한다. 이전문제처럼 비밀번호를 알아내면 된다. 가장먼저 f12를 눌러서 개발자도구를 이용해 웹 소스를 확인해본다. pass 라는 변수에 무언가를 unescape한 값을 넣고있다. escape 함수는 인코딩, unescape 함수는 디코딩을 시켜주는 함수이다. 자세히보면 unescape가 두번 들어가 있다. 따라서 두번 디코딩을 해주면 된다. 구글에 url 디코딩 이라고 검색하면 온라인으로 디코딩 할 수 있는 사이트들이 많이 나온다. 아무곳이나 들어가서 두번 디코딩을 해준다. 첫번째 디코딩을 하면 쪼금 알아 볼 수 있는 것들이 생긴다..

워게임/Root Me 2022.03.13
반응형