일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ctf
- CCE
- web
- Writeup
- WebHacking
- SQLInjection
- SQL
- ubuntu
- sqli
- Python
- hacking
- 상호배제
- 알고리즘
- webhacking.kr
- CODEGATE
- 시스템
- crosssitescripting
- SQL Injection
- rubiya
- Los
- XSS
- 웹해킹
- 해킹
- 프로세스
- Linux
- MySQL
- lordofsqlinjection
- webhackingkr
- 시스템프로그래밍
- 운영체제
- Today
- Total
One_Blog
WebHacking Intro - 내가 생각하는 웹해킹의 공부 방향 본문
솔직히 말해서 지금 이 글을 쓰는 나도 웹 해킹을 잘하는 편이 아니다.
하지만 웹 해킹을 공부하기 위해 구글링을 하는 사람들에게,
웹 해킹을 공부하고 싶은데 어떻게 시작해야할지 모르는 사람들을 위해 이 글을 쓴다.
부디 내 글이 웹 해킹 공부를 시작하려는 사람들에게 도움이 되었으면 좋겠다.
1. 웹 개발
웹 해킹을 하려면 기본적으로 웹 개발을 해봐야 한다고 생각합니다.
이건 제 개인적인 생각이 아니라, 웹 해킹을 하는 거의 대부분의 사람들이 하는 말 입니다.
직접 웹 페이지를 개발해보면서 서버 내부 코드가 어떻게 작동하고, 어떤식으로 데이터를 주고 받는 지
공부하는 게 웹 해킹에 큰 도움이 되기 때문입니다.
웹을 개발할 수 있는 언어는 종류가 정말 다양한데, 그 중에서도 저는 초심자에게 맞는 언어, php를 추천합니다.
php만큼 취약점이 잘 발생하는 언어가 없기도 하고, 무엇보다 php를 쓰면 직접 SQL 구문을 설계해보면서
SQL 문법에 대해 깊게 공부할 수 있기 때문입니다.
이렇게 php + Mysql + html + css + js를 조합해서 웹 개발을 먼저 해보는 것을
추천합니다. 웹 개발은 기본적으로 게시판 정도만 만들어보는데,
전 최대한 다양한 기능을 만들어 보는 것을 추천합니다.
저 같은 경우,
로그인
회원가입
회원 정보 수정
프로필 조회
주소 검색 (API 활용 X)
게시판 글 작성
게시판 글 수정
게시판 글 삭제
게시판 글 좋아요
게시판 글 조회수
게시판 좋아요 기능
게시판 글 검색 기능
게시판 글 날짜별 검색 기능
파일 업로드 / 다운로드 기능
게시판 글 날짜별 검색 기능
...
와 같은 기능들을 구현했었습니다.
이처럼 최대한 많은 기능을 구현해보시는 것을 추천드립니다.
2. 웹 해킹 공부 및 WarGame 풀기 , 독서
웹 개발을 해보았다면, 이제 웹 취약점을 공부하고 워 게임을 풀어볼 차례입니다.
해당 사이트에 가면 웹 해킹 트랙에서 무료로 웹 취약점 및 공격 기법을 공부할 수 있습니다.
개인적으로 국내에서 보안에 대해 배울 수 있는 정말 최고의 사이트라고 생각합니다.
해당 사이트에서 제공하는 로드맵을 따라 웹 해킹 및 웹 공격 기법을 공부하고,
이를 본인이 만들었던 웹 사이트에서 연습하면서 실력을 쌓는 걸 추천합니다.
해당 사이트도 웹 해킹을 공부할 수 있는 워게임 사이트인데, 대부분 쉽지만 가끔가다 문제들이 난이도가 좀 있는 문제들이 있습니다.
해당 사이트는 SQL Injection을 매우 심층적으로 공부할 수 있는 워게임 사이트입니다.
저도 푸는 중인 사이트인데, 꼭 풀어보시길 추천드립니다.
해당 사이트의 경우 다양한 분야의 해킹 문야를 제공하는데,
Web - Server 및 Client 부문의 챌린지들을 풀어보시는 걸 추천드립니다.
해당 사이트는 난이도 보다는 최대한 다양한 해킹 공격기법을 접해볼 수 있게 설계되어있으니,
해당 사이트 문제도 꼭 풀어보시길 추천드립니다.
그리고 이건 웹 해커라면 꼭 읽어봐야 할 책입니다.
http://acornpub.co.kr/book/webhacker-2e
[웹 해킹 & 보안 완벽 가이드]
저도 해당 책을 최근에 구입하여 읽는 중인데, 정말 큰 도움이 됩니다.
1100p로 꽤나 많은 분량을 가지고 있긴 하지만,
시간내셔서 읽어보시는 걸 추천드립니다.
3. CTF 참가
마지막은 CTF 참가입니다.
지금까지 공부한 배경을 바탕으로, 유명 CTF들에 참가하면서
웹 해킹 문제를 풀어보면 됩니다.
단 유명하면 유명할수록 좀 어려운 문제들이 나오는 경향이 있으니,
처음엔 좀 쉬운 CTF를 위주로 나가시는 걸 추천 드립니다.
CTF에 관한 정보의 경우,
국내 CTF의 경우는
해외 CTF의 경우는
해당 사이트들에서 확인하실 수 있습니다.
기타 공부
위에 서술한 단계만 차례대로 밟아도, 기본은 하는 해커가 될 수 있습니다.
하지만 더 깊게, 더 다양한 공부를 하고 싶으신 분들을 위해 더 공부하면 좋을 것들을 서술하고 글을 마치도록 하겠습니다.
Django, Spring, Node ... (웹 프레임워크)
Docker
AWS (Cloud)
암호학 (기초)
시큐어 코딩
네트워크
다른 백엔드 언어 또는 프레임워크를 공부하면서 개발하는 걸 추천드리는 것이니, Django가 아니더라도 공부해보시길 바랍니다.
추가적인 팁
CTF에 나갈 때, 못풀더라도 문제는 끝까지 삽질해보고, CTF 종료 이후 라이트업을 받아서라도 꼭 풀이 방법을 알고
넘어가야 합니다. CTF 문제는 삽질 과정에서 얻을 수 있는 지식이 다양하고,
CTF 문제 라이트업은 출제자가 유도한 공격기법 / 취약점의 활용법을 알 수 있게 해줍니다.
이외에도 CTF 출전이 어렵다면, 인터넷에 널려있는 CTF 라이트업을 읽고, 이해하는 것만 해도 굉장히 큰 도움이 되니
CTF 라이트업을 검색해서 여러가지 글을 읽어보시기 바랍니다.
이제 그만 글을 마치도록 하겠습니다.
읽어주셔서 감사합니다.
관련해서 질문이 있으신분은 Discord one3147로 연락주시면 답변 드리도록 하겠습니다
'웹해킹' 카테고리의 다른 글
CodeGate 2023 Web myboard WriteUp (0) | 2023.06.23 |
---|---|
Bcrypt _ 맞추기 (1) | 2023.05.18 |
los - succubus 풀이 (0) | 2023.02.27 |
Lord of SQL Injection - giant 풀이 (0) | 2023.02.23 |
Lord of SQL Injection - golem 풀이 (0) | 2023.02.17 |