웹해킹
-
[Fiddler] Fiddler Extension(plugin) 만들기# 웹해킹 공부중 2021. 4. 28. 16:19
기존에 Fiddler를 사용하면서 CustomRules 만을 사용해왔는데 매번 수정해서 쓰기 불편한점도 있고 하나 베이직하게 만들어두면 유용할 것 같아 Fiddler Extension을 만들어보게 되었다. 만드는게 그렇게 어렵지는 않으나 C#을 전혀 모르고 관련 자료들이 산재돼있어서 처음 할 때 삽질을 좀 많이 했다. (ㅠㅠ) 이 포스트에서는 간단하게 Fiddler Extension을 만드는 방법에 대해 알아보고 예시로 특정 도메인에 해당하는 URL에 대해서 전달되는 파라미터들을 가져와서 출력해주는 프로그램을 만들어 볼 것이다. ※ C#을 전혀 모르는 사람이 작성한 글로 부정확한 내용이 있을 수 있습니다...! 0. 환경 구성 - Visual Studio 2005 이상(혹은 .Net Framework 컴..
-
[WEBHACKING] SSRF(Server-side Request Forgery) 에 대해서# 웹해킹 공부중 2020. 12. 11. 02:27
1. SSRF란? CSRF가 클라이언트 측에서 위조된 요청을 보내는 거라면 SSRF는 서버 측에서 위조된 요청을 보내도록 하는 취약점이다. SSRF 취약점을 이용해서 공격자는 웹앱과 같은 서버측 프로그램이 임의의 주소로 HTTP 요청을 보내게 된다. 그러면 일반적으로 사용자들이 접근할 수 없었던 서버 내부 자원에 접근해서 API key와 같은 중요 데이터가 유출되거나 내부 네트워크 스캔 그리고 경우에 따라 임의 코드 실행이나 임의 파일 쓰기 등의 허가받지 않은 행위가 가능할 수 있다. 예를 들어 아래 이미지처럼 사용자가 입력한 이미지 URL을 통해 이미지를 가져와 출력하는 서비스를 하는 게시판이 있다고 가정한다. $url = $_POST['url']; $ext = pathinfo($url, PATHINF..
-
[WEBHACKING] CSRF에 대해서# 웹해킹 공부중 2020. 12. 3. 15:35
1. CSRF란? CSRF는 Cross-Site Request Forgery의 약자로 다른 사이트에서의 변조된 요청을 의미한다. 해당 공격은 공격자가 피해자의 권한으로 특정 행위를 하도록 인자값들을 구성해서 피해자가 본인도 모르게 본인의 권한으로 해당 사이트에 요청을 보내 하도록 하는 공격이다. 예를들어 패스워드를 변경한다던지 포인트를 다른 사람에게 선물하는 등 해당 사용자의 권한으로 할 수 있는 것들을 사용자 몰래 하게된다. 위와같은 코드를 피해자가 읽을만한 그리고 HTML 코드가 동작하는 곳에 입력해두고 사용자들이 해당 글을 읽으면 "target.com"으로 사용자 모르게 요청이 전송된다. 이런 공격이 가능한 이유는 해당 도메인으로 요청을 보낼 때 브라우저는 그 도메인에 대한 세션을 request에 ..
-
[WEBHACKING] XSS(Cross-Site Scripting)에 대해서# 웹해킹 공부중 2020. 11. 30. 04:03
1. XSS란? XSS는 Cross-Site Scripting의 약자로 교차 사이트 스크립팅이라고도 한다. 이미 CSS는 Cascading Style Sheets로 사용중이어서 Cross인 'X'를 약어로 사용한듯 하다. 사용자가 요청한 페이지에 강제로 악성 스크립트를 삽입해서 브라우저에서 악의적인 동작이 실행되도록 하는 공격기법이다. 1995년에 Javascript가 발표된 이후 2000년경 'MySpace'라는 플랫폼에서 XSS 취약점이 처음으로 보고된듯하다. 20년여가 지난 지금도 XSS는 취약점이 발생하고 관련 공격이 발생하면서 꾸준히 웹 취약점 빈도수 상위 10위권에 들고있다. 공격기법이 오래된 만큼 보안기법들도 계속 연구되어 발표되고 있으나 그만큼 우회기법들도 생겨나고있고 자바스크립트가 계속 ..
-
[파이썬] Beautifulsoup 를 이용한 웹페이지 스크래핑#파이썬 2020. 3. 25. 19:54
수정일 : 2020-11-23 각종 웹에 일반적으로 크롤러라고 소개되어있으나 PyPi의 Beautifulsoup 프로젝트를 보면 분명 " Beautiful Soup is a library that makes it easy to scrape information from web pages." 로 소개되어 있습니다. 물론 bs 도구를 활용해서 크롤러를 만들어볼 순 있을 것 같습니다. 하지만 이 글에서는 크롤링과 관련된 내용은 없으며 스크래핑하는 것에 대해서만 다룹니다. 더불어 크롤링(Crawling)는 일반적으로 검색엔진에서 사용되는 웹에 있는 문서들을 추적하는 기술입니다. URL이 주어지면 이 URL에 포함된 혹은 관련된 하이퍼링크들을 재귀적으로 탐색해서 많은 웹문서들을 (효율적으로) 탐색하고 필요한 데이..