본문 바로가기

WEB_Security19

19. Blind Injection Blind InjectionSQL 취약점중 가장 많이 쓰이는 취약점 분석중 하나이다. 이분석 방법은 쿼리가 실행되고 있는 것이 확인이 된다면 사용되는 방식인대 보통 참과 거짓을 이용하는 방식으로 한글자씩 쿼리안의 내용을 알아내는 방법이다. 즉 이 방식에서 사용하는 몇가지 쿼리문을 설명하자면 ( 취약점 ) substr() : 쿼리문의 row 를 한글자씩 가져오는 함수이다. limit : row 가 많은 갯수를 가지고 있다면 , 줄수를 하나로 가져올수 있게 해준다 ( limit 1,3 -> 2줄 부터 3줄 가져옴 ( 0 베이스 )ascii() : 아스키 코드로 반환 해주는 함수 이 세가지 함수를 주로 이용해서 Blind Injection 을 진행한다. 예제를 통해서 알아보자. 일단 이전에 만들어 놓았던 테이.. 2017. 6. 8.
18. SQL Injection 취약점 SQL Injection 취약점보통 사이트에서 쿼리문을 인식하여 데이터를 찾아 낼때 크게 두가지 방식을 이용해서 쿼리문을 돌린다.SELECT * FROM 'table name' WHERE no=글로벌 변수 ㅁㄴㅇㄴ 위와 같은 방식으로 쿼리문을 돌리는 것을 numeric injection 이라고 칭한다 . 보통 no 뒤에 GET 방식의 변수를 넘겨쿼리문을 찾아서 정보를 보여준다 하지만 이런방식은 큰 취약점을 가질 수도 있다 .가장 큰 취약점은 추가적인 쿼리문을 작성하여 임의로 공격자가 넘기면 쿼리문이 실행 된다는 점이다. 이를 보완하는 방식이 string injection 이다. SELECT * FROM anews WHERE no='글로벌 변수 ㅁㄴㅇㄴ'그럼 각각의 차이점을 한번 살펴보자. 1. numer.. 2017. 6. 5.
17. 파일 다운로드 취약점 ( PHP ) SQL Injection파일업로드 취약점에서는 php 파일을 업로드하여 내가 원하는 코드를 실행 시키든지, 아니면 서버 자체의 쉘을 탈취하여서버측의 정보를 알아낼 수 있는 방법을 알아 보았다. 이번에는 DB의 취약점을 공략하여 SQL 문을 내가 원하는 방식으로 넣어보는 방법을 알아보자.이 취약점으로 공격을하면 필요한 정보, 또는 정보의 수정 등으로 공격이 가능하다. 이번 예제에서는 다운로드를 했을때 그 파일이 서버측에 저장되어있고 서버측에서도 DB에 저장되어 있을 것이라는 판단을 이용해서 DB의 자료를 가져오려면 어떤식으로 가져오는지 분석, 그리고 직접 DB에 SQL 문을 넣어 자료를 변경 시키거나 볼수 없을까?라는 예제이다. 저번에 업로드한 그림파일을 이용해보도록 하자 소스 보기를 이용해서 소스를 분석.. 2017. 6. 2.
16. 파일 업로드 취약점 ( 원격 쉘 ) 예제원격 쉘( Remote Shell )이란 흔히 사용하는 putty 역시 원격 쉘이라고 볼수있다. 쉽게 명령어를 사용하기 위해서 사용하는 툴 이라고 생각하면 된다. 이런 방식을 이용하여 파일 업로드의 취약점으로서버측의 root 계정을 강탈 할수있다. 1) 바인드 쉘 ( bind shell ) - 흔히 정방향 쉘 이라고 한다. - 서버측에 접속을 하는방식이다. 2) 리버스 쉘 ( reverse shell ) - 역방향 쉘 - 서버측에 보안 ( 방화벽 ) 이 있을 경우에 사용하는 방식이다. - 말 그대로 서버측에서 클라이언트에 쉘 접속을 하는 방법 일단 원격 쉘을 이용하려면 서버측과 클라이언트 측을 연결시켜주는 유틸리티가 필요하다.여러가지 유틸중에 리눅스에서 사용을 많이하는 netcat을 이용해보도록 해보.. 2017. 5. 31.
15. PHP 파일 업로드 취약점 예제이번엔 파일업로드의 취약점을 공부해보도록 하자. 파일업로드의 취약점은 파일을 서버에 저장했을때 서버측의 취약점을 공격 하는 방법이다. 즉 브라우저를 통해서 서버의 php 파일을 실행하여 공격하는 방식! 예제를 통해서 자세히 알아보자. 일단 시작하기 앞서 앞으로 mysql 실행은 이런식으로 한다( 이유 : 이런식으로 실행하면 내가 실행했던 쿼리 로그를 볼수 있다!!! )로그 데이터는 /var/lib/mysql 디렉토리에 저장 일단 설정을 하나 바꾸어주도록 하자. 위와같은 경로로 들어가서 오버라이드를 모두 허용하도록 설정을 바꾸어 주도록하자 ( 실습환경을 만들기위해 // 만약 설정하지 않으면 로컬 설정이 먹히지 않음 ) 자 이제 그럼 실습을 해보자. 일단은 아무 그림파일을 업로드시켜 그림파일의경로가 어디.. 2017. 5. 31.
14. CSRF 예제CSRF 는 XSS 의 변종 기법이라고 보면된다. 방식은 서버 입장에서는 어떤 용청이든 동일한 요청으로 판단시켜 관리자가 요청한 것처럼 보이게 하는 방식이다.주로 이용하는 방법은 이미지 파일 업로드 소스 사용 방식이다!예제를 통해서 알아보도록 하자. 현재 레벨이 9인 아이디를 하나 만들어서 1로 만드는 방법을 알아보자 일단 글을 이미지 소스 로 요청하여 관리자가 글을 보게하면 형식상 그림을 서버에 요청하지만관리자 페이지의 정보를 요청하는 것으로 바꾸어 요청하여 정보를 변경시키는 방법이다. 그럼 위와같이 글이 올라가게된다. ( img src 에서 width, height 를 1로주면 위와같이 픽셀이 작게나와 티가안난다 ) 이런식으로 올린 글을 관리자로 로그인하여 읽어보게되면......관리자 세션으로 요.. 2017. 5. 30.
13. GET,POST 취약점 예제GET,POST 의 취약점을 알아내서 현재 가입된 회원의 등급을 1등급으로 만들어 보도록 해보자. 현재 가능한건 관리자 권한에서 소스를 분석하여 어떤 변수를 넘겨서 변경되는지 알아야한다.그럼 위와같은 페이지( 관리자 권한이 있는 ) 로 들어가서 소스를 분석해보자. 분석 결과 위와같이 post 형식으로 각각의 변수에 값을 넘기는것을 확인할수 있었다. page =1 // 현재 회원 가입 페이지 group_no =1 // 현재 그룹 exec =view_member page_num =10 exec2 =moveall // 변경시 변경완료 변수 cart[] =2 movelevel=1 // level 변수 현재 분석할수 있는 내용을 분석한 결과이다.이방식으로 일단 GET방식으로 정보를 넘겨 등급을 1등급으로 만들.. 2017. 5. 30.
12. XSS 공격 XSS ( Cross Site Scripting ) 1995년에 자바 스크립트가 도입된후 2000년도에 최초의 공격이 발견되었다. 그후 발전하여 2005년에 악성코드의 형태로 발견되었다. 스크립트가 실행가능한 모든 곳이 취약하다. OWASP( 비영리 단체 ) : 취약점 분석 순위를 알려주는 사이트에서 최근 2017년 TOP 10 에도 오른 공격방법이다. 뿐만아니라, 2005년부터 꾸준히 이어지는 공격 방법이다. a). stored XSS- 악의적인 스크립트를 웹 사이트에 저장하는 방법이다.- 저장된 스크립트를 다운로드 받은 사용자의 웹 브라우저에서 실행시켜 공격하는 방법이다. 저번에 만든 제로보드에서 그룹을 하나 만들어준다. 그룹이 추가되면 webboard 에서 게시판을 하나 추가시켜준다. 그럼 위와같은.. 2017. 5. 29.