웹해킹실습4 [SQL Injection] - SQL injection attack, querying the database type and version on Oracle ( OracleDB 버전 조회하기)// PortSwigger 예제 sql injection 문제 5번이다 이번 문제는 OracleDB의 Version과 타입을 조회하라는 문제인듯 한데 동일하게 union을 사용해야한다 노트를 살펴보면 DUAL 이라는 기본 테이블이 존재하는데 DUAL 테이블의 쿼리를 조회해야 한다는 힌트인거같아 DB버전을 알려주는 메시지가 같이 있는듯 한데 흠 사실 그렇게 의미가 없는 메시지인것같아 좀더 아는게 많다면 저기서도 뭔가 정보가 나올수도 있겠지만 .. 아무튼 동일하게 카테고리 항목으로 들어와서 쿼리 삽입을 진행하겠다 'union select null,null from DUAL-- DUAL 테이블에 NUll 쿼리를 조회 했다 결국 컬럼 개수를 알기위해 삽입한 코드인데 컬럼의 개수는 두개가 확실한 상황으로 판명났다 'union select 'AS.. 2020. 8. 11. [SQL Injection] - UNION attack, retrieving multiple values in a single column (단일 열에서 여러 값 검색)// PortSwigger 예제 여러 값을 단일열에서 검색하라는 문제이다 username,password 라는 컬럼이 users 테이블에 있다고 알려줬다 계정 정보를 조회한 후 administrator(관리자) 계정으로 접속해야한다. 사실 Burp Suite를 사용해야 하는데 아직도 사용법이 익숙칠 않아서 이 문제는 URL을 이용해 풀었다 힌트를 보고,, 아무튼 풀어보자 동일하게 접속하게 되면 카테고리가 존재한다 현 URL 상에서 값 입력이 불가능하기 때문에 카테고리를 선택한 후 시도해야한다 그런 다음 먼저 컬럼의 개수를 알아내기 위해 Union으로 짜인 sql 코드를 삽입한다 'union select null,null-- 컬럼의 개수가 두개임이 판명났다 사실 username과 password 두개가 있다고 알려줬지만 확실한 검증이 필.. 2020. 8. 10. [SQL Injection] - 테이블에서 검색을 통해 관리자 계정 탈취 // PortSwigger 예제 이번 문제도 Union Sql Injection을 이용해 공격한다 다만 조금 다른점은 이전 문제들과 다르게 관리자 계정을 찾아내야 한다 위 본문을 읽어보면 'username'과 'password'라는 컬럼이 존재하며 두 컬럼은 'users'라는 테이블에 존재한다고 한다 그럼 우리는 users라는 테이블에서 username과 password 컬럼을 union을 이용해 검색해주기만 하면 된다 문제풀이 화면으로 들어왔다 별 다를게 없어보이니 Union Sql injection을 수행한다 username과 password 두 컬럼을 users 테이블에서 검색하려면 아래의 코드를 사용한다 'union select username,password from users-- 코드 삽입이 성공적으로 진행되면 에러가 발생하.. 2020. 8. 7. SQL Injection을 위한 SQL기초 구문 모음 ▶SQL Injection Injection ▶ 주입, 삽입하다 SQL ▶ 데이터베이스 관리용 언어 SQL Injection ▶ OWASP 10대 웹 취약점 2020년 기준으로 1순위(Injection)에 기재될 정도로 단순하고 강력한 공격법 SQL의 단위 : 테이블(정보가 속해있는), 열(정보) 1. DB생성 & 주석 문 CREATE DB CREATE DATEBASE testDB; --주석 testDB라는 DB를 생성(Create) 하는 구문입니다. 2. DB 사용 USE USE testDB; 생성된 testDB를 사용(Use)선언을 합니다. 3. 테이블 생성 후 값 넣기 CREATE TABLE CREATE TABLE testTable( data1 INT, PRIMARY KEY, data2 DATETI.. 2020. 8. 6. 이전 1 다음