Web Hacking/SQL 3

Automated SQLMap Attack(sqlmap 자동화 공격)

Automated SQLMap Attack SQLMap은 SQL 인젝션 취약점을 자동으로 탐지하고 이를 이용하여 데이터베이스 서버를 장악할 수 있는 오픈 소스 침투 테스트 도구이다. -실습 목표-sqlmap 프로그램을 사용하여 데이터베이스의 정보를 얻어내자. 칼리리눅스에서 sqlmap을 찾아서 실행하거나 터미널로도 실행할 수 있다.이번 실습에서는 터미널을 이용해서 해보겠다. 우선 sqlmap -h를 입력해서 sqlmap의 사용법과 옵션을 확인하자.이 처럼 여러가지 옵션을 확인할 수 있는데 간단하게 두 가지로 나눠보자.SQL injection 취약 여부를 파악하기 위한 옵션-u : 공격을 시도할 URL을 지정(필수 옵션)--cookie : 로그인이 필요한 경우에 로그인한 뒤에 발급된 세션 쿠키값을 지정--..

Web Hacking/SQL 2024.06.25

Blind SQL Injection Attack

Bline SQL Injection결과를 직접적으로 알 수는 없어도, 참과 거짓일 때의 결과 차이를 분석해서 정보를 알아내는 해킹 기법 이번에는 일반 SQL injection과 Blind SQl injection의 차이를 알아보자.  실습 페이지로 가보자.앞에서 실습했던 SQL injection 페이지와 동일한 화면이 나온다.  앞에서 했던것 처럼 1을 입력해 보자.기존의 SQL injection에서는 ID 1에 대한 정보가 나왔었는데 이제는 유저 ID가 존재한다는 내용만 출력이 된다. 이번에는 ' 를 입력해보자.앞에서 했던 실습에서는 ' 를 입력했을 때 SQL syntax error가 발생했었지만 이번에는 유저 ID가 존재하지 않는다는 메시지가 뜬다.(여기서 에러가 발생하지 않도록 처리하는 루틴이 구현..

Web Hacking/SQL 2024.06.25

SQL Injection Attack

SQL Injection웹의 보안 취약점을 이용하여 악의적인 SQL코드를 데이터베이스에 삽입하고 실행하는 공격 기법 SQL injection 취약점은 웹 서버 영역의 데이터베이스로 전송되는 SQL 쿼리문을 사용자가 임의로 조작할 수 있는 경우에 발생할 수 있다. SQL injection attack의 두 가지 사례를 살펴보자.WHERE 구문 우회UNION 공격 WHERE 구문 사용자는 ID가 1인 사용자의 정보를 요청했다면 이러한 요청을 받은 웹은 내부의 데이터베이스로 아래와 같은 SQL쿼리문을 전송한다.SELECT name, email FROM users WHERE ID='1'이 쿼리문은 users라는 사용자가 ID가 1인 사용자의 이름과 이메일을 가져오는 쿼리문이다. 그리고 SQL 쿼리문을 구성하는 ..

Web Hacking/SQL 2024.06.21