웹 해킹/SQL Injection (5) 썸네일형 리스트형 LORD OF SQLINJECTION - ORGE 그냥... 갑자기 풀어봤다 query : {$query}"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if($result['id']) echo "Hello {$result[id]}"; $_GET[pw] = addslashes($_GET[pw]); $query = "select pw from prob_orge where id='admin' and pw='{$_GET[pw]}'"; $result = @mysqli_fetch_array(mysqli_query($db,$query)); if(($result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orge"); highligh.. [SQL Injection] Blind SQL Injection이란? (공격 절차, 실습) Blind SQL Injection: 데이터베이스 에러 메시지나 데이터가 직접적으로 노출되지 않을 때 사용하는 공격 기법으로 쿼리 결과 즉 서버의 참/거짓 반응을 통해 데이터를 얻어내는 공격이다. Blind SQLi는 어떠한 데이터나 에러도 뜨지 않는 경우 참 거짓 반응을 통해 원하는 정보를 추출한다. DB 이름의 첫번째 글자가 a 맞는지 b가 맞는지... 이런 식으로 한 글자씩 알아내야해서 공격에 오랜 시간이 소요되므로 자동화가 필수인 공격이다. 여기서는 간략한 절차만 담을 것이기 때문에 자동화 스크립트는 생략한다. [공격 절차] 1. SQL Injection 포인트 찾기먼저 서버에서 어떤 SQL 구문을 사용하는지 생각한다. 다음은 id 검색 페이지에서 플래그를 획득하는 과정이다. 서버에서는 selec.. [SQL Injection] Union Based SQL Injection란? (공격 절차, 실습) Union Based SQL Injection : Union 키워드를 사용해서 원래 서버에서 사용되는 쿼리에 추가 쿼리를 요청해서 추가적인 정보를 얻는 공격 현재 페이지에서 사용되는 테이블의 다른 컬럼에 저장된 데이터나 현재 사용되는 테이블 외의 테이블에 있는 데이터를 가져올 수 있다. Union Based SQLi를 사용하기 위해서는 두 쿼리에서 출력되는 컬럼 수가 같아야 한다. (https://sqltest.net/ 이 사이트에서 간단하게 확인할 수 있다.) [공격 절차] 1. SQLi 포인트 찾기 union sqli가 통하기 위해서는 데이터가 웹 페이지에 출력되어야 한다. 대표적으로 검색 페이지가 있다. 여기서는 id 검색 페이지를 활용할 것이다. (최종 목적은 flag를 획득하는 것이다.) id .. [SQL Injection] Error Based SQL Injection란? (공격 절차, 실습) Error Based Sql Injection : 데이터베이스 에러 메시지를 활용하여 데이터베이스에 대한 정보를 획득하는 공격 기법 보통 개발자는 개발을 할 때 어떤 코드에 오류가 있는지 확인하기 위해 일부러 에러 메시지가 출력되게 설정한다. 이것이 서버를 운영할 때 그대로 이어지는 경우가 많은데, 공격자는 이 에러 메시지를 악용한다. 에러를 유발하는 SQL 문을 삽입하여 도출되는 에러 메시지를 통해 공격자는 데이터베이스의 구조와 정보를 파악할 수 있다. DB 종류에 따라 다양한 문법과 함수를 활용할 수 있다. [공격 절차] 1. SQL Injection 취약점 찾기 > 조작된 sql문을 삽입했을 때도 데이터가 출력되는지 확인 > 싱글쿼터를 하나 더 넣었을 때 에러 메시지가 출력되는지 확인 2. 에러를 .. SQL Injection 공격이란? (종류, 방어기법, 공격 시나리오) 1. SQL Injection이란? : SQL Injection 공격은 클라이언트 입력값에 임의의 SQL 문을 주입해서 데이터베이스에 저장된 중요한 데이터를 가져오는 공격이다. 난이도가 비교적 쉬운 편이고 공격에 성공할 경우 큰 피해를 입힐 수 있다는 특징이 있다. 인젝션 공격은 OWASP Top10에 항상 상위권에 속해 있고, 주요정보통신기반시설 기술적 취약점 분석 가이드에서도 찾아볼 수 있다. (참고로 OWASP은 악용가능성, 탐지가능성 및 영향에 대해 빈도수가 높고 보안상 영향을 크게 줄 수 있는 10가지 웹 애플리케이션 보안 취약점 목록이다. 3~4년 주기로 발표된다.) 2. 공격 유형 (세세한 공격 방식을 설명하기에는 글이 너무 길어질 것 같아서 여기선 각 공격의 발생 환경 등 대략적인 설명만 .. 이전 1 다음