Burp Suite란 웹 취약점을 찾아낼 수 있는 웹 해킹 툴 중의 하나이다. 보통 paros가 더 많이 쓰인다고는 하나 꾸준히 사용되고 있다. 

웹 사이트에 접속하기 전에는 프록시 서버를 거쳐야 한다. 그래야만 웹 서버간의 request/response 패킷을 burp suite 내에서 확인할 수 있다. 

처음에 burp suite가 서버에 응답을 하지 않아 문제가 있나 했는데, 

Burp Suite를 사용할 때마다 프록시 서버 설정을 계속 해주어야만 한다... 정말 번거로운 것. 




먼저, burp suite proxy 설정을 하자.

burp suite의 메인 화면에서 

Proxy → Options → IP와 port 클릭 → Edit 후에 원하는 포트를 설정해준다. 주로 8080 포트를 입력하면 정상 작동한다. 



다음으로, 브라우저가 프록시 서버와 연결되도록 설정해준다. 

인터넷 익스플로러에서는 제어판 → 인터넷 옵션 으로 들어가면 된다. 

위와 같은 창이 뜨면 아래의 LAN 설정을 클릭한다. 


LAN 설정에서 프록시 서버 아래에 check 해주고, 원하는 포트를 입력한다. 주로 8080 포트를 입력하면 정상 작동한다. 

확인을 눌러주면 웹 해킹 사용환경 설정 끝 ~!



주의할 점은 다시 인터넷 익스플로러를 사용할 때에는 프록시 서버 연결을 풀기위해 인터넷 옵션에서 원상태로 되돌려 놓아야 한다는 것이다... 



 


내가 속한 교내 동아리와 그 동아리 내부의 러닝셀(학습공동체)이 학교의 소프트웨어 사업단 측으로부터 지원을 받게 되었다. 

CTF 러닝셀. 국제 해킹대회의 이름을 본따서 러닝셀의 이름과 취지를 잡았다. 그 대회에 나갈 수 있을 만큼 열심히 하자..! 


첫 만남 5/17

대회경력이 있거나 보안 분야에 일가견이 있는 선배들로부터 ctf 문제를 받아보았는데, 

와... 내가 [정보보안 프로젝트]에서 하는 burp suite(웹 해킹 툴)로 web goat(서버) 뚫기 연습 에 비하면 천만 배 어려워 보였다. 마치 걸음마 떼는 아이에게 비행기를 조종해 보라는 느낌이랄까? 


일단 외부 프로젝트와 같은 '웹 해킹' 분야를 선택했으므로 '해킹웹앱' 책으로 공부한 후, 차차 github의 지난 CTF 풀이도 살펴보기로 하였다. 


위 책으로 말할 것 같으면 학교에서 현재 진행 중인 '보안' 세미나에 강의를 오시는 기업 대표이사님께서 추천해주신 '웹해킹 용' 알짜배기 책이다. 

격주마다 이루어지는 러닝셀에서 한 챕터 씩 맡아 공부해오기로 하였다. 아무쪼록 프로그래밍보다 해킹의 입문 세계가 더욱 흥미로운 듯 싶다. 얼른 실력이 늘었으면... !


▶ 클래스의 선언 

 private로 선언

 public으로 선언

 - 해당 멤버가 속한 클래스의 멤버함수에서만 사용 가능

 - 일반적으로 멤버변수를 private로 사용 

 - 객체를 사용할 수 있는 범위라면 어디서나 접근이 가능한 공개된 멤버

 - private 멤버변수를 처리하기 위한 목적으로 작성하는 멤버함수는 일반적으로 public 멤버로 설정 



▶ 클래스 멤버함수 정의하기 

#include
using namespace std;

class CRect {
	int left, top, right, bottom;
public:
	void print();
	void SetRect(int l, int t, int r, int b);
};

void CRect::print() {
	cout << "(" << left << "," << top << "," << right << "," << bottom << ")" << endl;
}

void CRect::SetRect(int l, int t, int r, int b) {
	left = l,
	right = r;
	top = t;
	bottom = b;
}

void main() {
	CRect rc;
	rc.SetRect(0, 0, 20, 20);
	rc.print();
}

위와 같이 결과는 SetRect()를 멤버함수로 정의한 것에 메인에서 rc.SetRect(0,0,20,20)을 대입한 값이 나온다. 




▶ 생성자와 소멸자 

생성자는 클래스에서 객체를 생성할 때, 기본 자료형처럼 초깃값을 주는 것을 말한다. 

① 생성자는 클래스명과 동일하다. 

② 생성자는 자료형(반환값의 유형)을 지정하지 않는다. 


따라서, 객체가 생성될 때에 멤버변수에 특정 값을 저장하려면 매개변수가 없는 생성자를 재정의 해주어야 한다. 

생성자가 객체를 초기화하기 위한 멤버함수라면 소멸자는 객체를 정리해주는 멤버함수이다. 


구조체 선언은 struct 구조체명; 으로 한다. 

예를 들면, man.name; 에서 

man : 소속 구조체 변수명, name : 멤버변수 라고 할 수 있다. 


구조체 포인터를 매개변수로 사용하는 함수를 작성할 때에는 

(*p).namep→name 으로 간략하게 표현할 수 있다. 약속으로 규정된 것이다! 



▶ 구조체 배열로 5명의 성적을 입력받아 총점, 평균 출력하기 

#include
using namespace std; 
struct score {
	char name[20]; 
	int kor, eng, mat, tot; 
	double avg; 
};

void main() {
	struct score stu[5]; 
	int i; 

	for (i = 0; i < 5; i++) {
		cout << "이름을 입력하시오->"; 
		cin >> stu[i].name; 
		cout << "국어점수를 입력하시오->";
		cin >> stu[i].kor;
		cout << "영어점수를 입력하시오->";
		cin >> stu[i].eng;
		cout << "수학점수를 입력하시오->";
		cin >> stu[i].mat;

		stu[i].tot = stu[i].kor + stu[i].eng + stu[i].mat; 
		stu[i].avg = stu[i].tot / 3.0; 
	}

	cout << "\t 이름  \t 국어    \t영어    \t수학  \t   총점    \t 평균";
	cout << "\n =========================================\n";

	for (i = 0; i < 5; i++) {
	cout << "\t" << stu[i].name << "\t" << stu[i].kor << "\t" << stu[i].eng << "\t" << stu[i].mat << "\t" 
		<< stu[i].tot << "\t" << stu[i].avg;
	}

}

이런 식으로 이름과 점수를 다섯 번 입력할 수 있게 되어있다. 

위와 같이 결과는 학생 당 이름, 국어, 영어, 수학, 총점, 평균 순으로 출력된다. 



성적관리를 위한 구조체를 사용할 때에는 위와 같이 score라는 이름의 구조체를 정의하고, stu[5]라는 이름의 성적을 입력받을 5칸을 만들어준다. 

또한, tot(총점), avg(평균)는 메인 함수에서 계산하여 구하게 된다. 

계산에 쓰이는 변수들은 score 구조체 내에서 name[20]과 같은 배열 크기 지정 없이 kor, eng, tot 등으로 입력해 주어야 프로그램이 작동된다는 것을 명심하자. 


대학생이 된 이후부터, 꾸준히 참가했던 WORLD IT SHOW 박람회가 5.24~ 5.27 에 열린다. 


이번 박람회도 지난 번과 마찬가지로 K-ICT 기술사업화 페스티벌이 공동 주최되고, 다른 여러 동시 행사가 개최 예정에 있다. 


◀  전시회 안내  ▶


관람 시간

 10:00 ~ 17:00 


관람 장소 

 코엑스 


동시 행사 

WIS 2017 비즈니스 상담회

2017 글로벌 ICT 전망 컨퍼런스  

한아세한 투자진흥 세미나

ICT 스타트업 딥 다이브

글로벌 ICT 유망시장 진출전략 세미나

K-ICT 기술사업화 페스티벌

K-ICT 미래인재포럼

2017 안전보안산업대전

2017 정보통신보안산업전 



사전등록 마감일 : 5.12 오후 6시까지 

이유는 알 수 없으나 전시회 무료초청장이 재중된 봉투가 나에게 전달되었다. 아마도 한국정보통신진흥협회에 가입되어 있거나 전시회를 지속적으로 관람해서... 겠지? 


27일날 졸업프로젝트를 위한 판교 기업 세미나와 한국사 자격능력 시험을 칠 예정이라 아마 이번 박람회는 못 갈 듯 싶다. 재밌는 게 많을 텐데... 아쉬워 







'others > 新 IT 이모저모' 카테고리의 다른 글

랜섬웨어, 너 뭐니?  (0) 2017.05.21

+ Recent posts