본문 바로가기

전체 글

(119)
[주통기반] 공격 시나리오 정리(XPath 인젝션) 안녕하세요 이번에는 주통기반 7번인 XPath 인젝션에 대해 공부해보겠습니다. XPath 인젝션은 SQLi 와 매우 유사 합니다. 예를 들어 로그인을 할 때 ' and '1'='1 을 입력해서 비밀번호가 틀려도 들어가지는 경우가 SQLi라 하지만 XPath 공격 기법 중 하나입니다. -XPath(XML Path Language) ? 우선적으로 저희는 XML에 대해 알 필요가 있습니다. XML은 사용자가 자신만의 태그를 정의해서 데이터를 구조화할 수 있고 뎅터를 계층적으로 표현할 수 있는 형식입니다. 주로 데이터의 구조와 의미를 설명하는 데 사용되며, 웹에서 데이터를 교환하는 데에도 자주 사용된다고 합니다. 예시를 들어 볼게요 Introduction to XML John Doe 29.99 Web Devel..
[주통기반] 공격 시나리오 정리(SQL, SSI 인젝션) 안녕하세요 이번에는 주통기반에 있는 5번째 6번째 있는 취약점을 연구해보겠습니다. 일단 SQLi은 제가 이미 연구한 게 있습니다. https://mynameisarke.tistory.com/category/%EB%B3%B4%EC%95%88%EC%A7%80%EC%8B%9D/SQL '보안지식/SQL' 카테고리의 글 목록 mynameisarke.tistory.com 간단히 말하자면 SQL문을 삽입하는 공격이죠! 정보 변조도 가능하고 정보 탈취도 가능한 매우 위험한 취약점입니다. 이제 SSI 인젝션을 보겠습니다. -SSI(Server Side Includes) 이란? 서버 측에서 HTML 문서를 생성할 때 다른 파일의 내용을 포함하여 웹 페이지를 구성하는 기술이라고 합니다. 이 기술을 이용해 웹 페이지의 일부를..
[주통기반] 공격 시나리오 정리(운영체제 명령 실행) 안녕하세요! 이번엔 주통기반에 있는 웹 해킹 취약점 중 운영체제 명령 실행에 대해 공격 시나리오를 연구해보겠습니다. 운영체제 명령어라면 다들 아시겠지만 | 이나 cd 명령어가 실행 되는 경우입니다. 그것도 웹사이트 에서요. (요즘 누가 웹사이트에 운영체제 명령을 실행되게 만들까요..!) 만약 저희가 프록시 툴로 데이터를 보내는데 운영체제 명령어 형태로 데이터 보내는 경우면 이 취약점이 통하겠죠! 혹은 RCE 취약점 이용해 운영체제 명령 실행이 가능합니다. -RCE란 원격 코드 실행 할 수 있는 취약점을 말합니다 CVE(취약점) 코드 중 하나입니다. 그래서 저희가 서버 버젼을 알고 난 뒤에 CVE 코드을 찾아서 그 안에 RCE가 있으면 운영체제 명령 실행이 가능해집니다! 만약 서버 버젼을 이용해 RCE 코..
[주통기반] 공격 시나리오 정리(LDAP 인젝션) 안녕하세요! 이번에는 주통기반에 있는 LDAP 인젝션을 설명해 드리겠습니다. 우선 LDAP 인젝션이 뭔지 알아야 되겠죠? -LDAP? Lightweight Directory Access Protocol의 약자입니다. 그대로 해석을 하면 경량 디렉터리 접근 프로토콜을 뜻한다고 합니다. 가벼운 디렉터리이여서 데이터를 적은 양으로 전송이 가능하고 빠른 응답이 가능하다고 합니다! 이 말은 사용자들이 디렉터리 정보를 빠르게 조회할 수 있게 도와주는 겁니다. .. 간단히 말씀드리자면 보통 서버보단 빠른 서버 시스템이라고 보시면 됩니다! 그래서 많은 사용자가 있는 곳은 종종 이용한다고 하네요. 클라이언트가 LDAP 어플 통해 요청을 하면 LDAP API에서 요청을 만들어 서버로 보냅니다. 근데 OSI 7 계층을 전부..
[주통기반] 공격 시나리오 정리(버퍼 오버플로우, 포맷 스트링) 안녕하세요 이번에는 실무에서 모의해킹을 할 때 종종 쓰이고 있는 주통기반, 금취분평 중 주통기반에 있는 취약점들을 살펴보려고 합니다! 실무에 나가면 저희가 대뜸 해킹을 해서 "어디어디 취약점이 있어요." 라고 하기보단 취약점의 기준점을 정리해 준 게 주통기반과 금취분평입니다. 실제로 실무에 나가면 저희가 배운 웹 해킹 기술을 이용해 저 보고서 안에 있는 취약점들을 위주로 해킹을 합니다. 막상 보면 웹에 있는 모든 취약점이 정리되어 있어요! 그래서 오히려 도움이 될 겁니다. 정확힌 보안 라이센스을 따는데 필요한 절차들이 정리되어 있는 보고서입니다. 그 안에 웹 취약점 종류별로 있는 거고요. . . . . . . . . 우선 주통기반 먼저 보겠습니다. 저는 공격 시나리오 즉 이 취약점이 얼마나 심각한지 알아..
로그인, 회원가입 만들기(2) - 회원가입 요청 안녕하세요 저번에 이어서 만들겠습니다. 일단 저희가 로그인을 하면 요청을 보내주는 페이지를 따로 만들 겁니다. 로그인 페이지 > 요청 페이지 > 서버 응답 > 로그인 성공 > 메인 페이지 대충 이런 형식으로 만들겠습니다. 실제로 보이는 페이지일 필요는 없으니 자바 코드만 작성하기만 하면 되잖아요? 그러니 new > java class 생성합니다. 먼저 회원가입 요청부터 만드는 게 좋겠죠. 일단 작성을 합니다. 하면 빨간 줄이 그어져 있을 거예요. 이때 오류 난 곳에 alt+enter을 누르면 무슨 문제이고 해결 방법을 알려줍니다. import... 나오는 거 하시면 됩니다. 그러고 나서도 빨간 줄 그어져 있을 거예요. 그거는 생성자가 없어서 그렇습니다. 그 문제는 차차 해결하고 일단 서버 URL 변수 선..
로그인, 회원가입 만들기(2) - DB연동, 서버 셋팅 이제 본격적으로 소스코드 작성해 보겠습니다. 우선 volley을 이용하려면 권한을 줘야만 사용이 가능합니다. 한 줄을 추가합니다. 그리고 아래에 intent-filter 부분이 있습니다. 그걸 loginactivity로 옮겨 줄게요 andrioid:exported는 외부 앱에서 직접 액세스가 가능한지 안 하는지 정해주는 보안 옵션입니다. intent-filter 쓸려면 true을 써야만 됩니다. 그리고 이렇게 하면 이 앱을 켜면 제일 먼저 보이는 화면이 loginactivity가됩니다. 이제 DB 연동을 하면 되겠죠! 윈도우에서 DB 연동을 하려면 먼저 서버가 필요하고 그다음으로 그 서버에 있는 php문으로 통신을 하면 DB에 접속이 가능하겠죠! 저는 칼리리눅스에 APM을 설치했습니다. 그러니 저는 따로..
로그인, 회원가입 만들기(1) - 디자인 안녕하세요 이번에 먼저 로그인 기능을 만들어 보겠습니다. 그리고 로그인이 있으면 당연히 회원가입이 있어야만 되겠죠? https://www.youtube.com/watch?v=ktjJ8xtt2Hg 참고는 여기서 했습니다. 일단 DB부터 세팅을 합니다. 저는 칼리 리눅스에 DB을 설치했습니다. 그리고 기본적인 APM 설치까지 했습니다. 아무래도 안드로이드가 서버와 연동을 하려면 http 요청으로 데이터을 보내야만 하거든요. 그래서 우선 DB와 서버 설치 했습니다. https://mynameisarke.tistory.com/2 [노말틱 모의 해킹 취업반 1주차 개발과제 (1)] APM 세팅 APM세팅하기 우선적으로 APM이 무엇인지 알아봅시다. APM이란 Apache, Php, MySql의 맨 앞 알파벳을 따..