본문 바로가기

2016/08

SQL Injection 공부하기 웹 해킹을 보면 SQL Injection, XSS, LFI 등의 공격 방법이 있습니다.특히 SQL Injection의 경우에는 성공만 한다면 모든 계정 정보 및 게시판에 대한 모든 정보(비밀 글로 등록한 경우에도)뿐만 아니라 관리자와 같이 행동을 할 수도 있기 때문에 매우 위험한 공격이라고 볼 수도 있습니다.이러한 공격을 막는 가장 쉬운 방법은 쿼리 빌더(Query Builder)를 사용하거나 혹은 쿼리에 값을 넣어서 실행하기 전에 addslashe..
일정 길이의 랜덤 문자열 생성하기 파이썬을 이용해서 일정 길이에 해당하는 랜덤 문자열을 생성하는 코드입니다. 여기서 len에는 원하는 문자열의 길이를 int형으로, characters 부분은 랜덤 문자열을 생성하는데 사용하는 문자들을 리스트 혹은 문자열 형태로 주시면 됩니다. import random def rand_str(len, characters): return "".join([random.choice(characters) for _ in range(len)]) ..
네이버 로그인 분석 Python을 이용해 네이버 로그인을 구현하기 위한 분석 내용입니다. 일단 네이버 로그인을 할 때 https 통신을 이용해서 정보를 주고 받기 때문에 Wireshark와 같은 툴을 사용해 패킷을 가져오더라도 암호화가 되어 있어서 그 내용을 알기 어렵습니다. 물론 인증서에 대한 키 값을 알고 있다면 쉽게 복호화가 가능합니다. 또한 Paros나 Burp Suite와 같은 프록시 툴을 사용한다면 중간에 어떤 요청이 들어갔는지를 알아 낼 수 있습니다. 하지..
모바일에서만 보이는 이미지 아래 사진은 모바일 환경에서만 볼 수 있다.실제로 테스트를 해보려면 http://imghumit.dothome.co.kr/img/younha.jpg로 들어가거나 혹은 <img src="http://imghumit.dothome.co.kr/img/younha.jpg">를 이용해서 확인을 해볼 수 있다.카테고리에서도 알 수 있듯이 PHP를 이용하면 이런 식으로 구현이 가능하다. 이것을 응용하면 IP 대역별로 이미지를 보여줄지..
일정 시간마다 실행하기 Python을 이용해서 일정 시간마다 특정 작업을 반복할 수 있는 skeleton 코드이다. 아래 코드에서 print("Hello, World") 부분을 지우고 원하는 코드를 입력하면 된다.응용 방법의 경우에는 매우 많은데, 일정 시간마다 글을 작성하도록 하는 봇을 만든다거나 혹은 주식과 같이 일정시간마다 바뀌는 값의 데이터를 저장하는데 쓰일 수 있다. import threading end = False def execute_func(second..
웹 페이지 파싱을 어렵게 하는 방법 웹 페이지에 있는 데이터를 읽어와서 그 데이터를 가공해서 우리가 원하는 데이터를 뽑아내는 과정을 파싱이라고 합니다. 보통 파싱은 검색 엔진에서의 실시간 검색어 데이터를 가져온다거나 혹은 주식의 현재 주가를 알아내는 등의 과정에서 많이 쓰입니다.파싱 과정에서 중요한 것은 웹페이지에 있는 데이터를 가져오는 일입니다. 왜냐하면 데이터를 가져오지 못한다면 데이터를 가공하는 과정을 구현했더라도 쓸모가 없기 때문입니다.대다수의 웹 페이지들은 파싱 프로그램을 좋..
mod_rewrite가 적용이 안될 경우 1. phpinfo 페이지에서 mod_rewrite 모듈이 설치되어 있고 활성화가 되어 있는지 확인한다. 확인 방법은 phpinfo.php라는 파일을 생성해서 아래 내용을 입력해서 저장을 하고 페이지에 접속을 해서 ctrl+F로 mod_rewrite를 검색하면 된다. 검색해서 없는 경우에는 설치를 하고 활성화를 시킨다. 2. 검색해서 나오는 경우에는 http.conf 파일을 열어서 아래 부분처럼 바꾸고 apache를 재시작한다. <Dire..
네이버 로그인 뜯어보기 다음(Daum) 로그인이나 페이스북(facebook) 로그인의 경우에는 로그인 요청을 보낼 때 아이디와 패스워드 정보를 그대로 전송 합니다. 즉, paros와 같은 프록시 툴을 이용해서 요청을 캡처한다면 아이디와 패스워드 정보를 손쉽게 얻을 수 있다는 위험성이 있습니다. (https 통신을 사용하기 때문에 패킷을 캡처한다고 해서 정보를 볼 수 있진 않습니다.)네이버(Naver) 로그인 과정에서 보내는 요청을 살펴보면 아이디와 패스워드 정보가 직접적으..