SQL Injection
·
모의해킹/웹해킹
SQL Injection이란?입력 란이나 URL 파라미터 등을 통해 SQL 명령어를 주입하여 데이터베이스의 정보를 조회, 수정, 삭제하는 공격 방식 SQL Injection 공격 기법Union-Based SQL Injection (유니온 기반 SQL 인젝션)UNION 연산자를 사용하여 여러 쿼리의 결과를 결합하는 기법.UNION이란?두 개 이상의 SELECT 쿼리의 결과를 결합하여 하나의 결과 집합으로 만드는 연산자.UNION으로 결합하는 각 SELECT 쿼리는 동일한 수의 열을 가져야 하며, 각 열의 데이터 타입도 호환되어야 함.장점다양한 테이블에서 정보를 동시에 조회가 가능.결과를 조합하여 다양한 정보를 얻을 수 있음.단점기존 SQL 구문과 조회하려고 하는 SQL 구문의 컬럼 수가 같아야함.테이블 구..
모의해킹 스터디 8주차 정리
·
모의해킹/모의해킹 스터디
SQLInjection: 우리가 원하는 질의문을 실행하는 것Union SQLi: SQL 질의 결과가 화면에 출력되는 경우Error Based SQLi: SQL 에러가 발생하는 경우Blind SQLi: 만능, SQLInjection이 가능한 모든 곳에서 가능SQL Injection Point 찾기SQL Injection이 일어나는 곳(DB에게 SQL 질의문을 사용하는 곳)입력란만 SQL Injection이 가능한 것 아님질의를 하고있다면 SQL Injection의심해보기SQL 쿼리 예상하고 쿼리 생성 후 실행결과가 참 / 거짓 부분을 찾으면 됨SQL Injection Point쿠키 정보,Http 요청 헤더Cookie: user=yytestcolumn 명select * from board where ‘tes..
모의해킹 스터디 CTF 문제 - SQL Injection 5
·
모의해킹/모의해킹 스터디
이번 문제는 Error Based SQLi에 관한 문제이다.  우선 알고있는 "normaltic" 계정으로 로그인 해주면정상적으로 출력되는 것을 볼 수 있다. 1. SQL Injection PointSQL Injection이 가능한지 알아보기 위해 "normaltic' and '1' = '1"을 실행해보면 정상적으로 로그인이 된다.이를 통해 SQL Injection이 가능함을 알 수 있다. 그 다음 SQL Injection중 어떤 방안을 접근할 지 알아보기 위해 " normaltic' "를 실행해 보면SQL에러가 직접적으로 출력되는 것을 볼 수 있다. 이를 통해 Error Based SQL Injection을 활용하면된다는 것을 알 수 있다. 2. 에러를 출력 함수 선택에러를 직접 추출하기 위해 'ext..
모의해킹 스터디 CTF 문제 - SQL Injection 4
·
모의해킹/모의해킹 스터디
이번 문제는 Error Based SQLi에 관한 문제이다.우선 알고있는 "normaltic" 계정으로 로그인 해주면정상적으로 출력되는 것을 볼 수 있다. 1. SQL Injection PointSQL Injection이 가능한지 알아보기 위해 "normaltic' and '1' = '1"을 실행해보면 정상적으로 로그인이 된다.이를 통해 SQL Injection이 가능함을 알 수 있다. 그 다음 SQL Injection중 어떤 방안을 접근할 지 알아보기 위해 " normaltic' "를 실행해 보면SQL에러가 직접적으로 출력되는 것을 볼 수 있다. 이를 통해 Error Based SQL Injection을 활용하면된다는 것을 알 수 있다. 2. 에러를 출력 함수 선택에러를 직접 추출하기 위해 'extra..
모의해킹 스터디 CTF 문제 - SQL Injection 3
·
모의해킹/모의해킹 스터디
이번 문제는 Error Based SQLi에 관한 문제이다.우선 알고있는 "normaltic" 계정으로 로그인 해주면정상적으로 출력되는 것을 볼 수 있다. 1. SQL Injection PointSQL Injection이 가능한지 알아보기 위해 "normaltic' and '1' = '1"을 실행해보면 정상적으로 로그인이 된다.이를 통해 SQL Injection이 가능함을 알 수 있다. 그 다음 SQL Injection중 어떤 방안을 접근할 지 알아보기 위해 " normaltic' "를 실행해 보면SQL에러가 직접적으로 출력되는 것을 볼 수 있다. 이를 통해 Error Based SQL Injection을 활용하면된다는 것을 알 수 있다. 2. 에러를 출력 함수 선택에러를 직접 추출하기 위해 'extra..
모의해킹 스터디 CTF 문제 - SQL Injection (Blind Practice)
·
모의해킹/모의해킹 스터디
이번 문제는 Blind SQL Injection에 대한 기본적인 문제이다.1. SQL Injection point 찾기우선 'normaltic'으로 검색해본다. 성공적으로 검색되는걸 확인할 수 있다. 그 다음 SQL Injection이 가능한지 알아보기 위해normaltic' and '1'='1을 작성해주고 출력하면해당 결과를 얻을 수 있다. 이를 통해 SQL Injection이 가능하다는 걸 알 수 있다. SQL Injection중 어떤 방안을 접근할 지 알아보기 위해 " normaltic' "를 실행해 보면아무것도 뜨지 않는걸 알 수 있는데 이는 Error Based SQLi를 사용할 수 없다는 것을 알 수 있다. normaltic' and '1'='2해당 구문을 실행해보면 해당 결과가 나온다. 참 ..
모의해킹 스터디 CTF 문제 - Error Based SQLi Basic
·
모의해킹/모의해킹 스터디
이번 문제는 Error Based SQL Injection에 대한 기초적인 문제이다.1. SQL Injection Point우선 'normaltic'으로 검색해본다.검색이 성공적으로 되는 것을 알 수 있다. 그 다음 SQL Injection이 가능한지 "normaltic' and '1' = '1" 를 실행해 보면정상적으로 출력되는것으로 보아 해당 사이트는 SQL Injection이 가능하다는걸 알 수 있다. SQL Injection중 어떤 방안을 접근할 지 알아보기 위해 "normaltic'"를 실행해 보면SQL 관련 에러가 직접적으로 출력이 된다. 이는 Error Based SQL Injection을 사용하면 될 것 같다. 2. 에러를 출력 함수 선택에러를 직접 추출하기 위해 'extractvalue'..
모의해킹 스터디 7주차 정리
·
모의해킹/모의해킹 스터디
SQL 질의문 결과가 화면에 출력되는 경우 : UNION SQL에러메시지가 화면에 출력되는 경우: Error Based SQLi에러 메시지를 활용해서 데이터를 출력 => 로직에러 / SQL 에러SQL 질의문 결과가 화면에 안나오는 경우: Blind SQL Injecction normaltic’ and extractValue(’아무데이터’, concat(0x3a, (select ‘궁금에 하는 데이터’))) and ‘1’ = ‘1concat(’1’,’2’) =>12 0x3a == :Error Based SQL Injection에러 메시지를 활용해서 sql 질의문을 삽입화면에 직접 출력하는 것이 아니라 에러 메시지안에 해당결과가 포함되서 출력되게 만드는 것활용할 수 있는 에러로직 에러SQL 에러=> 문법 에러..
모의해킹 스터디 CTF 문제 - SQL Injection 2
·
모의해킹/모의해킹 스터디
이번 문제는 진짜 데이터를 찾으면 되는 문제이다. 1. SQL 인젝션 확인 및 로직 파악하기우선 'normaltic'으로 검색해 본다.검색 시 데이터가 나오긴 하지만 무의미한 데이터인 것 같다. 그다음 지금 어떠한 정보도 없기 때문에 SQL인젝션을 해보겠다.normaltic' and '1' = '1 -> normaltic정보로 실행 성공SQL 인젝션이 가능하다.normaltic%' and '1' = '1' # -> 다른 정보로 실행 성공%normaltic ' and '1' = '1 -> 다른 정보로 실행 성공normaltic' or '1' = '1 -> normaltic정보로 실행 성공normaltic%' or '1' = '1' # -> normaltic정보로 실행 성공%normaltic' or '1' ..
모의해킹 스터디 CTF 문제 - SQL Injection 1
·
모의해킹/모의해킹 스터디
이번 문제는 숨겨진 데이터를 찾으면 되는 문제이다. 1. SQL 로직 확인우선 SQL 로직을 확인하기 위해 4개의 데이터 중 중복으로 들어있는 'o'를 검색해 보겠다.  'o'가 중간에 있던 뒤에 있던 'o'가 들어있는 3개의 데이터 전부가 검색되는 것으로 보아SELECT * FROM TABLE WHERE UserId LIKE '%검색어%'위에 구문으로 되어있을 것으로 예상된다. 2. SQL 인젝션 확인SQL 인젝션 확인을 위해o%' and '1' = '1' #해당 구문을 작성하고 출력한다. 결과가 나오는 것으로 보아 SQL 인젝션이 가능하다는 것을 알 수 있다.더보기select * from TABLE where ID like '%o%' and '1' = '1' # %' -> o 데이터만 나옴 selec..