본문 바로가기

SQL17

6주차 XSS 모의해킹 보고서 쓸 때 TIP 1. 폰트 통일 (스타일, 크기, 색깔) 글씨 컬러는 X 부각이 될 때만 굵은 글씨 2. 표지, 이름, 목차, 표지 번호, 사진과 표의 넓이는 통일하고 캡션 넣기 3. 풀이 과정을 디테일하게 4. 코드는 표에 넣어서 ※ 블라인드 SQLi 같은 경우는 1. 참 조건 / 거짓 조건 2. and ((select database())='normaltic') and 3. 블라인드 SQLi 파이썬 script를 실행했다. 지금은 코드를 넣고 실무에서는 길어지니 넣지 말아야 합니다. SQL Injection 정리 Q1. SQL Injection이 뭐에요? A1. 임의의 SQL 질의문을 삽입해서 실행하는 공격입니다. Q2. 시나리오 A2. 인증 우회, 데이터 추출 및 변조 등 web sh.. 2023. 5. 11.
5주차 Blind SQli, OOB Blind SQLi, SQLi 대응 방안 강조 사항 웹 개발을 안 해도 웹 해킹을 할 수 있고 배울 수 있지만 웹 개발을 안해보면 웹에 대한 이해도 등의 한계가 있어 웹 해킹에 한계가 빨리 찾아옵니다. 리뷰 간단하게 지난 시간에 UNION SQLi, Error Based SQLi 했습니다. Error Based SQLi에서 논리 에러를 찾는 함수가 몇개 있습니다. 그 중에 updatexml이 있습니다. (나머지는.... 찾아서 정리 해야겠네요.) Blind SQL Injection 쿼리의 참과 거짓 조건으로 데이터를 추출하는 기법입니다. 일어나는 곳 : 참과 거짓 조건에 따라 응답이 다른 곳에서 가능합니다. (어떻게든 다르면 됩니다.) UNION은 DB 결과가 화면에 나오는 곳에서 가능하다는 조건이 있고, Error Based는 에러가 출력되는.. 2023. 4. 28.
(SQL Injection CTF 풀이2) Login Bypass 2 - 인증과 식별 2 SQL Injection CTF 2 - Login Bypass2 ※ 로그인 바이패스의 경우 SQL Injection CTF - DB 데이터 추출 이전의 문제입니다. 참고해주세요. 사전 정보 : normaltic2 계정으로 로그인해보자! 우리의 아이디/비밀번호 : mario / mariosuper 사이트 들어가 봅시다. 전에 했던 로그인 바이패스 1 CTF처럼 로그인해서 인증과 식별이 동시에 이루어 지는지 아니면 분리하는지 먼저 알아보도록 하겠습니다. 인증/식별 동시 or 분리에 대한 자세한 설명은 3주차 SQL 게시글, 로그인 바이패스 1 게시글에서 확인해보시기 바랍니다. 전에 했던 로그인 바이패스 1 방식인 인증/식별 분리 방식에서 사용하는 전략을 아래 화면과 같이 normaltic2' OR '1'='.. 2023. 4. 26.
(SQL Injection CTF 풀이1) Login Bypass 1 - 인증과 식별 1 SQL Injection CTF 1 - Login Bypass 1 ※ 로그인 바이패스의 경우 SQL Injection CTF - DB 데이터 추출 이전의 문제입니다. 참고해 주세요. 사전 정보 : normaltic1 계정으로 로그인해 보자! 우리의 아이디/비밀번호 : mario / mariosuper 사이트 들어가 봅시다. 로그인해서 인증과 식별이 동시에 이루어지는지 아니면 분리하는지 먼저 알아보도록 하겠습니다. SELECT [컬럼] FROM [테이블] WHERE id='???' AND pw='???'으로 이루어져 있다면 인증과 식별이 동시에 하는 방식일 것이고, SELECT [컬럼] FROM [테이블] WHERE id='???' 으로 이루어져 있다면 인증과 식별을 분리하는 방식일 것입니다. 제가 만약 .. 2023. 4. 26.
(SQL Injection CTF 풀이4) DB 데이터 추출 2 - Error Based SQL Injection SQL Injection CTF 4 - DB 데이터 추출 2 사전 정보 : 로그인 페이지를 만났다! 이 서버에 연결된 DB를 털어라! DB안에 있는 flag를 찾으세요! :) 일단 사이트를 들어가 봅시다. 전에 했던 CTF - DB 데이터 추출 1처럼 배운 순서대로 해보겠습니다. 1. 추리 로그인 같은 경우 DB 데이터를 안 띄워주는 방식입니다. 그 이유는 아래의 사진과 같이 로그인을 하면 서버에 ID와 Password을 쿠키에 담아서 요청을 보냅니다. 그럼 서버에 있는 WAS에서 DB의 데이터를 불러와서 비교하고, ID와 Password가 일치한지 확인합니다. 일치하면 로그인 성공을 응답하고, 일치하지 않으면 로그인 실패를 응답합니다. 클라이언트는 DB의 데이터를 전혀 받지 않습니다. DB 데이터를 안.. 2023. 4. 23.
(SQL Injection CTF 풀이3) DB 데이터 추출 1 - UNION SQL Injection SQL Injection CTF 3 - DB 데이터 추출 1 사전 정보 : DB 내에 숨겨진 Flag를 찾으세요! 일단 사이트를 들어가 봅시다. 유저 아이디 검색하는 페이지인가 봅니다. 어제 배운 방식대로 순서대로 가봅시다!! 1. 추리 일단 화면에 DB 데이터를 띄워주는 것을 보아 UNION SQLi 전략으로 가야겠습니다. 아이디 검색하는 페이지이니 SELECT ??? FROM '???' WHERE id='???' 이러한 방식으로 쿼리가 코딩되어 있지 않을까 예상해봅니다. 2. 취약점 일단 입력창에 쿼리를 작성해서 입력했을 때 쿼리가 실행이 잘 되는지 판단해봅니다. 아래와 같이 입력했을 때 bello의 정보가 떴습니다. bello' AND 1=1 # 하지만 bello' AND 1=0 #을 입력했을 땐 .. 2023. 4. 22.
4주차 UNION SQLi 및 Error Based SQLi 강조 사항 CTF 문제는 어떠한 도움 없이 스스로의 머리로만 해결합시다!! (이건 저도 공감합니다.) 로그인 인증 "식별 / 인증" 이 두 가지는 구별 가능해야 됩니다!!! SQL Injection SQL Injection의 꽃은 관리자 권한을 획득하는 것이 아닌 데이터 추출입니다. 크게 두 가지 카테고리에 따라 전략이 달라집니다. (DB의 데이터가 눈에 보이는지 안 보이는지로 나뉩니다.) SQL 쿼리가 화면에 보이는 곳 EX) 게시판 페이지, 회원정보(마이 페이지), 검색 페이지 등 UNION SQL Injection SQL 쿼리가 화면에 안 나오는 곳 EX) 로그인, 아이디 중복체크 등 Error Based SQL Injection Union SQL Injection UNION SQL Injectio.. 2023. 4. 21.
3주차 SQL - SELECT 및 SQL Injection 복습 강조!! 쿠키, 세션, 세션ID (면접에서 많이 물어본다고 합니다.) 쿠키 : 클라이언트 정보입니다. 세션 : 세션 측 정보입니다. (서버에 저장) 세션ID : 쿠키 안에 있고, 클라이언트를 구분해서 클라이언트의 요구에 맞는 서비스를 제공합니다. 해킹 챌린지 풀이 로그인 우회 취약점 : 스크립트에서 Location이 있어 클라이언트에서 조작 가능합니다. 불충분한 인증으로 인한 취약점입니다. 미스터 브루트 취약점 : 비밀번호 횟수제한을 안해서 생기는 취약점입니다. SQL SQL언어는 WAS와 DB가 서로 자료를 처리하기 위한 언어입니다. database는 엑셀 파일이라 생각하면 됩니다. table은 엑셀 파일에 있는 시트라고 생각하면 됩니다. column : 열 (세로) row : 행 (가로) SEL.. 2023. 4. 14.

// code block - line num // code block - copy // code block - lan