본문 바로가기

보안

[웹해킹] DB해킹을 위한 명령어 들

실습에서 사용된 환경은

phpMyAdmin 을 사용하였다.

먼저 DB 명령어를 연습하기 위해서 DB하나를 만들어보자.

위의 화면에서 New 를 클릭하면 왼쪽화면이 나오는데

DB의 이름은 mt_test1 로 하였다.

그리고 Create 를 누르면 테이블을 만들수있는 화면으로 바뀌는데

테이블이름은 member 컬럼은

위와 같이 구성하였다.

DB에 값을 추가하는 명령어는 insert 로

위와같은 명령어 구성으로

이렇게 무작위 하게 추가하였다.

이제 값을 서치할수있는 명령어인 select 를 사용하여 값을 출력시켜보자.

select * from member

 

*은 모든 요소를 출력하는데 그 테이블명은 member이다 .

위와같은 명령어를 입력하면 테이블에 내가입력해둔 모든 요소가 화면에 보일것이다.

이 명령어를 조금 변형하여 내가원하는 임의의 값을 같이 출력시킬수있다.

member테이블에서 id와 pwd를 출력하는 명령어에서 "aaa" 라는 문자열을 추가하는것으로

이렇게 출력시킬수있다.

화면에 보면 aaa컬럼에 aaa들이나오고있는데 저 이름만 바꿔보자.

as 를 이용하여 pwer 로 바꿔보았다.

이걸 어디다가 사용할것인지는 조금 뒤에서 응용시켜 사용해볼것이다.

member 테이블 말고 log 라는 테이블을 새로 생성하였다.

log 테이블에는

id 와 ip 그리고 타임스탬프를 구성으로 만들었다

그리고 member테이블처럼 무작위한 값을 넣어두었다.

두개의 테이블을 같이 서치하는 명령어를 알아보자.

union

union 을 이용하여 member에서는 id 와 pwd 를 log테이블에서는 id 와 ip를 보여달라는 명령어를 실행하였다.

이렇게 서치가 된 화면.

member의 값들과 log의 값들이 나온것이다.

이렇게 union을 사용할때 주의해야하는 점이있는데

두 테이블에서 서치하는 요소의 갯수를 똑같이 해줘야한다는점이다

지금은 member에서 두개 log에서 두개를 출력해달라고해서 되었지만

만약 서로 다르게한다면 에러가 난다.

그래서 갯수를 맞추기위해서 사용하는 방법으로 null 과 공백 방법이있다.

위과 같이 공백을 이용해서

공백을 넣어주는것으로 에러가 안나고 화면에 나오게 할수있다.

이제 검색을 할때 조건을 넣어보자.

조건은 where 로 가능하다.

where

조건과 and 연산자를 이용해서

id 가 3 이면서 age가 30 보다 큰 사람의 정보를 검색한다.

위와같이 조건에 맞는 정보가 나온것을 볼수있다.

물론 where와 union은 같이사용할수있다.

이제 정보를 볼때 정렬을해서 볼수있는 방법이있다.

ORDER BY

age 기준으로 내림차순으로 정렬한다(DESC)

age 기준으로 오름순으로 정렬한다(ASC)

 

'보안' 카테고리의 다른 글

DVWA를 이용한 웹해킹 - 1(바인드쉘)  (0) 2019.05.20
[웹해킹] SQL인젝션  (0) 2019.05.20
웹해킹 기초 공격 과 대응 방법  (0) 2019.05.20
웹 프로토콜 분석 과 웹 기본 용어들  (0) 2019.05.20
IDA 사용법  (0) 2019.05.20