본문 바로가기

컴퓨터/참고 사이트 및 팁

SQL Injection 공부하기 웹 해킹을 보면 SQL Injection, XSS, LFI 등의 공격 방법이 있습니다. 특히 SQL Injection의 경우에는 성공만 한다면 모든 계정 정보 및 게시판에 대한 모든 정보(비밀 글로 등록한 경우에도)뿐만 아니라 관리자와 같이 행동을 할 수도 있기 때문에 매우 위험한 공격이라고 볼 수도 있습니다. 이러한 공격을 막는 가장 쉬운 방법은 쿼리 빌더(Query Builder)를 사용하거나 혹은 쿼리에 값을 넣어서 실행하기 전에 addslashes와 같은 이스케이프 함수를 이용해서 공격을 할 수 없도록 하면 됩니다. 물론 이렇게 이스케이프 함수를 이용하더라도 이를 우회할 수 있는 방법이 상황에 따라 존재하기 때문에 주의해야 합니다. SQL Injection 공격을 어떻게 하는지를 안다면 그것을 어..
웹 페이지 파싱을 어렵게 하는 방법 웹 페이지에 있는 데이터를 읽어와서 그 데이터를 가공해서 우리가 원하는 데이터를 뽑아내는 과정을 파싱이라고 합니다. 보통 파싱은 검색 엔진에서의 실시간 검색어 데이터를 가져온다거나 혹은 주식의 현재 주가를 알아내는 등의 과정에서 많이 쓰입니다. 파싱 과정에서 중요한 것은 웹페이지에 있는 데이터를 가져오는 일입니다. 왜냐하면 데이터를 가져오지 못한다면 데이터를 가공하는 과정을 구현했더라도 쓸모가 없기 때문입니다. 대다수의 웹 페이지들은 파싱 프로그램을 좋아하지 않기 때문에 파싱을 하는 프로그램인지 체크를 하고 맞는 경우에는 에러 페이지를 보여주는 일을 합니다. 왜냐하면 파싱 프로그램을 사용하게 되면 페이지에서 광고를 보여줄 수 없기 때문에 수익이 생기지 않고, 트래픽만 잡아먹기 때문입니다. 보통 체크를 하..
mod_rewrite가 적용이 안될 경우 1. phpinfo 페이지에서 mod_rewrite 모듈이 설치되어 있고 활성화가 되어 있는지 확인한다. 확인 방법은 phpinfo.php라는 파일을 생성해서 아래 내용을 입력해서 저장을 하고 페이지에 접속을 해서 ctrl+F로 mod_rewrite를 검색하면 된다. 검색해서 없는 경우에는 설치를 하고 활성화를 시킨다. 2. 검색해서 나오는 경우에는 http.conf 파일을 열어서 아래 부분처럼 바꾸고 apache를 재시작한다. Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all 참고로 환경에 따라서 이렇게 해도 안되는 경우가 있는데, 그 경우에는 Options ~ 부분만 주석처리를 하면 된다..
Sublime text shortcuts and tips https://www.smashingmagazine.com/2016/06/shortcuts-and-tips-for-improving-your-productivity-with-sublime-text/ 이 글을 통해서 Plain Text라는 좋은 플러그인이 있다라는 것과 좋은 기능을 하는 단축키가 몇 가지 더 존재하는 것(특히 Sorting 기능...)을 알 수 있었다.
Github 소스코드 볼 때 탭 사이즈 조절 코드를 작성할 때 보통은 tab(\t)키로 인덴트를 하기 보다는 spacebar(' ')로 인덴트를 하는 경우가 많은 것 같다. 특히 JetBrains사의 IDE 환경은 기본 인덴트가 spacebar로 되어 있다. 하지만 나의 경우에는 spacebar로 되어 있으면 전부 tab키로 바꾸는 것이 익숙해졌기 때문에 IDE를 tab키로 인덴트를 할 수 있도록 변경하였다. 이렇게 indent를 구분하는 언어인 Python의 경우에는 4칸의 spacebar와 같은 크기로 공간이 되어 있어도 indentation level이 심하지 않기 때문에 크게 상관은 없지만 html과 같은 indentation level이 심한 언어에서는 4칸의 spacebar로 하게 되면 매우 코드가 읽기 어려워진다. 보통 html과 같은..
Emmet 참고자료 Emmet의 경우는 HTML 이나 CSS 소스코드를 매우 빠른 속도로 작성을 가능할 수 있도록 하는 플러그인이다.Atom 에디터의 경우에는 기본적으로 제공하고 있는 것으로 알고 있으며, Sublime Text의 경우에는 패키지를 제공하고 있다. Emmet의 큰 장점은 많이 반복되는 소스코드 부분을 몇 자를 입력하지 않더라도 한 번에 생성이 가능하다는 점이다. 예를 들어서 li 태그에 동일한 class 이름을 가지도록 해서 10개를 생성한다는 경우 li.line*10을 입력하는 것만으로 바로 생성이 가능하다.(물론 복사 붙여 넣기로도 가능하지만 더 오래걸린다...) "."의 경우에는 클래스를 나타내고, "#"의 경우에는 id를 타타내며, "{}"안에 값을 넣으면 태그의 속성을 생성할 수 있다. "*"는 반..
직접 온라인 저지를 운영해보자. 인터넷에서 검색을 하다보면 많은 온라인 저지를 볼 수 있다. 대표적으로 백준 온라인 저지(링크), 알고스팟(링크), 코딩도장(링크)와 같은 한글로 된 사이트도 있고, Project Euler(링크)와 같은 영어로 된 사이트도 존재한다.이런 온라인 저지들은 가장 많이 쓰이는 언어인 C, C++, Java등을 기본적으로 제공하며 소스코드를 업로드하면, 서버가 그 파일을 컴파일해서 서버에 저장된 무수히 많은 테스트 케이스를 실험해서 값이 일치하는지를 확인하는 방법이다. 이런 방식을 이용하면 일단 서버는 소스코드가 업로드 되었을 때 보안상의 문제가 되는 함수들은 미리 차단을 해놓아야 한다. 그렇지 않으면 관리자 권한을 탈취당할 수 있기 때문이다. 이 테스트 케이스를 이용하는 방법은 생각보다 효율적인데, 이런 방..
한글 맞춤법 검사 사이트 한글 맞춤법을 모두 지키면서 글을 쓰기는 거의 불가능하다고 할 수 있다. 물론 유명한 맞춤법인 '되'와 '돼'의 구분과 같은 것은 가능하지만 잘 모르는 맞춤법의 경우에는 지키는 것이 어려울 수 있다. 물론 혼자서 글을 작성하고 공식적인 자리에서 글을 보여주는 것이 아니라면 맞춤법에 대해서 세세하게 신경쓰지 않아도 될 수 있다. 그러나, 자기 소개서를 작성할 때 맞춤법을 지키지 않고 글을 작성한 경우에는 그 자기 소개서를 읽는 면접관의 입장에서는 불편하게 생각하고 교양이 없는 사람이라고 생각을 할 수 있기 때문에 신경써서 맞춤법을 검사하는 것이 필요하다. 자기 소개서 뿐만 아니라 보고서의 경우에도 마찬가지이다. 그래서 이번에 소개할 사이트는 한글 맞춤법을 검사해주는 사이트이다. 이 사이트는 내가 자기소개서..