본문 바로가기

sql5

8.SQL Injection>사용하는 DB이름,테이블 2 안녕하세요 베비온입니다. 저번에 했던거를 조금 짧게 나타내보겠습니다. 저번엔 테이블명도 많고 많아서 뭘 봐야할지 모르겠었지만 이번엔 다르게 접근해보겠습니다. DB 알아내기 select '1','2','3','4','5',schema_name,'7','8','9','10','11' from information_schema.schemata -- 결과화면입니다.보통은 php안에서 sql을 사용하기위해 미리 db를 지정합니다. 테이블과 컬럼을 가져오기위해 사용해봤습니다. ㅎ;; 이 db를 가지고 table명을 알아볼까요 테이블명 알아내기 a' union select '1','2','3',table_schema,'5',table_name,'7','8','9','10','11' from information_sc.. 2017. 5. 3.
6.SQL Injection>테이블 명, 컬럼 명 알아내기 안녕하세요 베비온입니다.오늘은 저번에 했던 union을 사용해서 테이블 명과 컬럼 명을 알아내보겠습니다. 저번에 게시판 페이지에서 사용하는 컬럼 갯수는 11개라는것을 알아내었습니다.검색 부분에 a' union select '1','2','3','4','5','6','7','8','9','10','11' 을 입력해줍니다. 제일 아래부분이 결과창입니다. 1~11을 출력하는 select를 사용함 으로써 어느 부분에 어느 컬럼이 사용되었는지 볼 수 있습니다. 글번호엔 1번 컬럼, 글 제목엔 6번컬럼, 댓글 갯수는 10번컬럼 이런식으로요저희가 얻고싶은건 테이블명, 컬러명입니다.즉 데이터 형태가 문자형입니다.숫자형태가 들어가는 num이나 see는 안되죠 그럼 저희는 글제목인 6번에 한 번 출력해보겠습니다.db에 많.. 2017. 4. 30.
5.SQL Injection를 위한 UNION 안녕하세요 베비온입니다. 저번에 컬럼 갯수를 세는 sql injection을 수행했었죠? 이번엔 그것을 이용해서 테이블명, 컬럼 명을 뽑아내겠습니다. 그 전에 먼저 UNION이라는 sql문을 짚고 넘어가겠습니다. 저번에 list.php가 11개의 컬럼을 사용한다고 했었습니다. 이 컬럼에 제가 원하는 것들을 출력하고자 합니다. UNION 이라는 sql문을 사용해서 말이죠 union은 2 종류에서 한번 다룬적이 있었지요? 간단하게 알아보고 가겠습니다. union 은 두 개의 결과를 한 개의 결과로 합쳐주는 역할을 합니다. 즉 select한 두 개의 결과를 한개의 테이블로 만듭니다. 이것을 하기 위해선 조건이 있는데요1.두 개의 select에 사용되는 필드의 갯수가 동일해야 한다. 2. 두 개의 select에.. 2017. 4. 27.
2.SQL Injection의 종류 안녕하세요 베비온입니다. 이번엔 SQL Injection의 종류가 어떤 것들이 있는지 살펴보겠습니다. 사용된 서버는 CentOS 7DB는 mysqlhttp는 apache언어는 PHP입니다. 1. 논리적 에러를 이용하는 SQL Injection SQL query 안에 들어가는 내용을 묶는 ' (작은따옴표)를 사용하여 의도적으로 에러를 일으키고 or 1=1 등의 논리적 에러를 통해 시스템 권한 체크를 우회하는 기법 *제가 만든 서버를 기준으로 테이블 명과 필드명을 사용했습니다.예시 ) select * from member where logid='logid' or '1'='1' ; 2.쿼리 가능 여부를 이용하는 Blind SQL Injection 쿼리의 결과가 참, 거짓에 따라 정보를 취득하는 기법 예시 ) .. 2017. 4. 24.
1. SQL Injection이란? 안녕하세요 베비온입니다. 오늘은 국정원 8대 취약점 및 OWASP TOP 10 상위권에 자주 등장하는 Injection중에서도 SQL을 이용한 Injection을 살펴보겠습니다. SQL Injection이란?웹 클라이언트의 반환 메시지를 이용하여 불법 인증 및 정보를 유출하는 공격. 웹 응용 프로그램에 강제로 구조화 조회 언어(SQL) 구문을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고 관리자 인증을 우회할 수도 있다. 이 공격은 MS SQL 서버뿐만 아니라 모든 관계형 데이터베이스 관리 시스템(RDBMS)에서 가능하다.[네이버 지식백과] SQL 주입 공격 [SQL injection, -注入攻擊] (IT용어사전, 한국정보통신기술협회) 사전적 의미 입니다. 즉 SQL Query를 사.. 2017. 4. 24.