본문 바로가기

전체보기

(37)
[비박스] HTML Injection - Reflected (GET) HTML 인젝션, SQL 인젝션, XSS(Cross Site Scripting)과 같은 공격에는 반사(reflected)기법과 저장(stored)기법이 존재한다. ·반사(reflected)기법 악의적인 코드가 삽입된 URL이나 링크를 사용자가 쉽게 확인할 수 없도록 변형 시킨 후 이메일이나 다른 웹사이트등을 통해 URL클릭을 유도하는 방법을 말한다. 만약 사용자가 이 URL이나 링크를 클릭하게 되면 악의적인 코드가 실행되게 된다. 저장(stored)기법과 달리 악의적인 코드가 데이터베이스에 저장되지 않아 일회성 공격을 위해 사용되는 방법이다. ·저장(stored)기법 게시판 또는 서버에 글을 작성하여 다른 사용자가 열람했을 때 코드가 실행되게 하는 방법을 말한다. 반사(reflected)기법과 달리 악의..
메모리 구조 [Memory Structure] 메모리는 크게 커널영역과 유저영역으로 나뉜다. 유저영역은 다시 스택영역, 힙영역, 데이터영역, 코드영역으로 나뉘며, 유저영역을 제외한 영역을 커널영역이라고 한다. 커널영역에는 커널(kernel)이 위치하고 있으며 이 커널은 컴퓨터의 운영체제의 핵심이라고 할 수 있다. 커널은 시스템의 모든 것을 완전히 통제하기 때문에 사용자(유저모드)가 직접 접근할 수 없으며, 접근 시 system call을 통한 커널모드로의 전환이 필요하다. 유저영역은 스택영역, 힙영역, 데이터영역, 코드영역으로 나뉜다. 엄밀히 말하자면 하나의 프로세스를 묶어 놓은 세그먼트(Segment)가 존재하는데 이 세그먼트가 스택영역, 힙영역, 데이터영역, 코드영역으로 이루어져 있는 것이다. 즉, 프로세스마다 스택영역, 힙영역, 데이터영역, 코..
정보보호 취업 박람회 후기 정보보호 취업 박람회를 다녀왔다. 접수를 하고 에코백이랑 수첩, 책자등을 받았다. 수첩이 마음에 들었다. ㅎㅎ 11시부터 정보보호 프로젝트 발표회를 들었다. 이해가 안가는 부분도 많았지만 머리속으로 이해 하려고 노력해봤다. 결국 이해는 못했지만 ㅎㅎ; 공부를 더 열심히 해야겠다.. 대단하다고 생각했다. 나도 언젠가는 많은 사람들 앞에서 내가 조사하고 연구한 프로젝트를 발표 해보고 싶다. 취업 특강을 들었다. 지니언스(주) 대표이사 이동범씨께서 특강 해주셨다. 기억에 남는 말들을 주저리 써보겠다. 전자신문, 디지털데일리, 보안뉴스, 데일리시큐, 바이라인등 IT/보안 관련 기사들을 읽고 모르는 용어를 하나씩 정리하여 단어장을 만들면 많이 도움이 될꺼라고 했다. 하루에 기사 하나씩 읽고 모르는 단어를 정리해야..
[Lord Of SQL injection] LOS 2단계 - Cobolt 코드 분석 및 문제풀이 LOS링크 : https://los.eagle-jump.org/ 오늘 풀어볼 문제는 2단계 Cobolt다. 답 보기 링크↓ 더보기 패스워드에 'or 1=1#을 사용해도 id가 admin으로 우회되지 않는다. 따라서 주석을 이용해 쿼리문에서 패스워드에 대한 쿼리를 아예 무시해버리는 방법을 택한다. 여기서 주의해야 될 점이 있다. 바로 주석을 파라미터로 받아오는 값을 싱글쿼터를 닫고 사용해야한다는 점이다. (id='admin'#') 이런식으로 말이다. 싱글쿼터를 닫지 않고 실행한 결과를 확인해보도록 하겠다. 아무런 반응도 일어나지 않는다. #을 문자열로 취급해버리기 때문에 주석의 기능을 하지 못하게 된다. 그러면 파라미터로 받아오는 문자열을 닫고 주석을 사용해보자. Cobolt Clear! 바로 코드를 살펴..
[Lord Of SQL injection] LOS 1단계 - Gremlin 코드 분석 및 문제풀이 최근에 LOS라는 것을 하루에 한 문제씩 풀기 시작했다. LOS란 Lord Of SQL injection의 약자로 SQL injection에 초점을 둔 wargame 사이트다. LOS링크 : https://los.eagle-jump.org/ 1단계는 Gremlin이다. ↓답 보기 링크 더보기 기본적으로 ?를 이용해 GET방식 파라미터들을 받아온다. 'or 1=1은 SQL Injection에서 가장 기본이 되는 인증 우회 방법이라고 할 수 있다. '을 사용해 쿼리문을 닫아주고 OR논리 연산을 진행한다. OR논리 연산자는 AND논리 연산자보다 우선순위가 빨라 먼저 실행된다. 그다음 쿼리결과를 항상 참으로 만들고 기존 코드의 뒷부분을 주석을 이용해 주석 처리한다. 이 문제에서는 MySQL을 사용하였으므로 My..