One_Blog

WebHacking Intro - 내가 생각하는 웹해킹의 공부 방향 본문

웹해킹

WebHacking Intro - 내가 생각하는 웹해킹의 공부 방향

0xOne 2023. 3. 11. 22:46
728x90

솔직히 말해서 지금 이 글을 쓰는 나도 웹 해킹을 잘하는 편이 아니다.

 

하지만 웹 해킹을 공부하기 위해 구글링을 하는 사람들에게,

 

웹 해킹을 공부하고 싶은데 어떻게 시작해야할지 모르는 사람들을 위해 이 글을 쓴다.

 

부디 내 글이 웹 해킹 공부를 시작하려는 사람들에게 도움이 되었으면 좋겠다.

 

 

 

 

 

 

 

1. 웹 개발

웹 해킹을 하려면 기본적으로 웹 개발을 해봐야 한다고 생각합니다.

 

이건 제 개인적인 생각이 아니라, 웹 해킹을 하는 거의 대부분의 사람들이 하는 말 입니다.

 

직접 웹 페이지를 개발해보면서 서버 내부 코드가 어떻게 작동하고, 어떤식으로 데이터를 주고 받는 지 

 

공부하는 게 웹 해킹에 큰 도움이 되기 때문입니다.

 

웹을 개발할 수 있는 언어는 종류가 정말 다양한데, 그 중에서도 저는 초심자에게 맞는 언어, php를 추천합니다.

 

php만큼 취약점이 잘 발생하는 언어가 없기도 하고, 무엇보다 php를 쓰면 직접 SQL 구문을 설계해보면서

 

SQL 문법에 대해 깊게 공부할 수 있기 때문입니다.

 

이렇게 php + Mysql + html + css + js를 조합해서 웹 개발을 먼저 해보는 것을

 

추천합니다. 웹 개발은 기본적으로 게시판 정도만 만들어보는데,

 

전 최대한 다양한 기능을 만들어 보는 것을 추천합니다.

 

저 같은 경우,

 

로그인

회원가입

회원 정보 수정

프로필 조회

주소 검색 (API 활용 X)

게시판 글 작성

게시판 글 수정

게시판 글 삭제

게시판 글 좋아요

게시판 글 조회수

게시판 좋아요 기능

게시판 글 검색 기능

게시판 글 날짜별 검색 기능

파일 업로드 / 다운로드 기능

게시판 글 날짜별 검색 기능

...

 

와 같은 기능들을 구현했었습니다. 

 

이처럼 최대한 많은 기능을 구현해보시는 것을 추천드립니다.

2. 웹 해킹 공부 및 WarGame 풀기 , 독서

웹 개발을 해보았다면, 이제 웹 취약점을 공부하고 워 게임을 풀어볼 차례입니다.

 

https://dreamhack.io/

 

해커들의 놀이터, Dreamhack

해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향

dreamhack.io

해당 사이트에 가면 웹 해킹 트랙에서 무료로 웹 취약점 및 공격 기법을 공부할 수 있습니다.

 

개인적으로 국내에서 보안에 대해 배울 수 있는 정말 최고의 사이트라고 생각합니다.

 

해당 사이트에서 제공하는 로드맵을 따라 웹 해킹 및 웹 공격 기법을 공부하고,

 

이를 본인이 만들었던 웹 사이트에서 연습하면서 실력을 쌓는 걸 추천합니다.

 

https://webhacking.kr/

 

Webhacking.kr

 

webhacking.kr

해당 사이트도 웹 해킹을 공부할 수 있는 워게임 사이트인데, 대부분 쉽지만 가끔가다 문제들이 난이도가 좀 있는 문제들이 있습니다.

 

https://los.rubiya.kr/

 

Lord of SQLInjection

 

los.rubiya.kr

해당 사이트는 SQL Injection을 매우 심층적으로 공부할 수 있는 워게임 사이트입니다.

 

저도 푸는 중인 사이트인데, 꼭 풀어보시길 추천드립니다.

 

https://www.root-me.org/

 

Bienvenue [Root Me : plateforme d'apprentissage dédiée au Hacking et à la Sécurité

Plusieurs centaines de challenges sont à votre disposition pour vous entrainer dans des environnements variés, non simulés et maitriser un grand nombre de techniques de hack !

www.root-me.org

해당 사이트의 경우 다양한 분야의 해킹 문야를 제공하는데,

 

Web - Server 및 Client 부문의 챌린지들을 풀어보시는 걸 추천드립니다.

 

해당 사이트는 난이도 보다는 최대한 다양한 해킹 공격기법을 접해볼 수 있게 설계되어있으니,

 

해당 사이트 문제도 꼭 풀어보시길 추천드립니다.

 

그리고 이건 웹 해커라면 꼭 읽어봐야 할 책입니다.

http://acornpub.co.kr/book/webhacker-2e

 

(개정판) 웹 해킹 & 보안 완벽 가이드

웹 해킹, 보안에 관심 있는 사람이라면 한 번쯤은 들어봤을 만한 버프 스위트(Burp Suite)를 개발한 데피드 스터타드가 집필한 『웹 해킹 & 보안 완벽 가이드』의 개정판이다. 이 책은 크게 세 부분

www.acornpub.co.kr

[웹 해킹 & 보안 완벽 가이드]

 

저도 해당 책을 최근에 구입하여 읽는 중인데, 정말 큰 도움이 됩니다.

 

1100p로 꽤나 많은 분량을 가지고 있긴 하지만,

 

시간내셔서 읽어보시는 걸 추천드립니다.

 

3. CTF 참가

마지막은 CTF 참가입니다.

 

지금까지 공부한 배경을 바탕으로, 유명 CTF들에 참가하면서

 

웹 해킹 문제를 풀어보면 됩니다.

 

단 유명하면 유명할수록 좀 어려운 문제들이 나오는 경향이 있으니,

 

처음엔 좀 쉬운 CTF를 위주로 나가시는 걸 추천 드립니다.

 

CTF에 관한 정보의 경우,

 

국내 CTF의 경우는 

https://dreamhack.io/

 

 

해커들의 놀이터, Dreamhack

해킹과 보안에 대한 공부를 하고 싶은 학생, 안전한 코드를 작성하고 싶은 개발자, 보안 지식과 실력을 업그레이드 시키고 싶은 보안 전문가까지 함께 공부하고 연습하며 지식을 나누고 실력 향

dreamhack.io

 

해외 CTF의 경우는

https://ctftime.org/

 

해당 사이트들에서 확인하실 수 있습니다.

 

기타 공부

위에 서술한 단계만 차례대로 밟아도, 기본은 하는 해커가 될 수 있습니다.

 

하지만 더 깊게, 더 다양한 공부를 하고 싶으신 분들을 위해 더 공부하면 좋을 것들을 서술하고 글을 마치도록 하겠습니다.

 

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