전체 글
-
SQL Injection 종류와 발생 원리 - 2Web - Security/Injection 2023. 5. 8. 23:40
Error Based SQL Injection Error Based SQL Injection이란 특정한 입력값을 제공하여 데이터베이스 시스템에 비정상적인 SQL 쿼리를 실행시키는 것 비정상적인 SQL 쿼리는 데이터베이스 시스템에서 오류를 발생시키므로, 악의적인 사용자는 이 오류 메시지를 활용하여 데이터베이스 시스템에 대한 정보를 추출할 수 있다 위 질의문에 '(작은따옴표) 만 입력 후 전송 버튼을 눌러보았다 질의문의 결과는 위와같이 에러메시지가 고객의 화면에 나타나게 된다 이 에러메시지가 보임으로써 악의적인 이용자는 이곳에서는 MariaDB라는 서버를 사용하고 있음을 알 수 있고 아이디 부분을 작은따옴표가 아닌 큰따옴표를 이용하여 질의문이 작성되어 있다는 정보를 알 수 있게 된다 그리고 에러 메시지의 마..
-
공격 방법 정리모의해킹/모의해킹 취업반 - 해킹 2023. 5. 8. 22:55
SQL Injection SQL Injection 종류와 발생 원리 - 1 https://ruang0124.tistory.com/151 SQL Injection 종류와 발생 원리 - 2 https://ruang0124.tistory.com/153 XSS XSS (Cross Site Scripting) 기초 및 대응방안 - 1 https://ruang0124.tistory.com/154 CSRF CSRF (Cross Site Request Forgery) 기초 https://ruang0124.tistory.com/191 File Upload
-
SQL Injection 종류와 발생 원리 - 1Web - Security/Injection 2023. 5. 8. 22:44
SQL이란? SQL은 Structured Query Language의 약자로, 데이터베이스를 관리하고 검색하는 데 사용되는 표준 프로그래밍 언어이다 SQL은 관계형 데이터베이스 관리 시스템(RDBMS)에서 많이 사용되며, 데이터를 삽입, 업데이트, 삭제, 검색하는 데 사용된다 위 식은 가장 간단한 SQL 질의문이다 위 식의 의미는 test 라는 테이블에서 모든 열의 정보를 가져오라는 질의문이다 위 식은 member라는 테이블에서 user_id, password 를 가져오라는 질의문이다 실행 결과로 member 테이블에 있는 모든 아이디와 비밀번호를 가져온다 위 식에서 홍길동이라는 사람의 정보만 가지고 오고 싶어서 뒤에 WHERE 라는 조건절을 추가해 줬다 질의 결과는 홍길동이라는 사람의 id와 비밀번호만..
-
운영모드 - 2Cryptography - Security/Dreamhack - Basic 2023. 5. 8. 17:49
ECB 모드 블록 암호로 평문을 암호화할 때 평문은 패딩을 거친 뒤 여러 블록으로 나뉘며 각각 운영모드에 맞추어 암호화된다 ECB모드에서 블록들은 모두 같은 키로 암호화된다 각 블록이 독립적으로 암호화되므로 여러 블록을 병렬적으로 암호화할 수 있다는 장점이 있지만 안전성이 부족한 단점이 있다 ECB 모드의 취약점 같은 블록은 같은 암호문으로 암호화되는 특징을 이용하여 암호문에서 평문의 정보를 습득하거나 리플레이 공격이 가능해지고 약한 혼돈 성질을 가지게 된다 재전송 공격 데이터를 재전송하여 시스템이 의도치 않은 행동을 하게 하는 것 1. Chamero 가 Nelly 에게 10,000만 원을 보내려고 은행에 암호문을 전달하였다 2. 은행은 이 암호문을 해석하여 10,000만원을 송금하였다 3. Nelly가..
-
운영모드 - 1Cryptography - Security/Dreamhack - Basic 2023. 5. 8. 17:14
운영 모드 블록 암호로 이러한 다양한 크기의 데이터를 처리할 수 있도록 고안된 블록 암호의 사용 방법 운영 모드에는 여러 종류가 있으며, 블록 암호를 사용하는 서비스는 각각의 장단점을 고려하여 운영 모드를 선택한다 패딩 블록 암호는 블록 단위로 암호화를 하므로 입력의 길이가 정확하게 블록 크기의 배수가 되어야 합니다. 그러나 일반적으로 평문의 크기는 블록 크기의 배수가 되지 않는다 이런 문제를 해결하기 위해 평문에 데이터를 붙여서 평문의 크기가 블록 크기의 배수가 되도록 만드는 과정을 패딩이라고 한다 패딩된 암호문을 복호화할 때는 복호화된 평문에서 패딩을 제거해야 원래의 평문을 얻을 수 있다 따라서 패딩 된 암호문의 수신자는 어떤 패딩이 적용됐는지 알아야 암호문을 제대로 복호화할 수 있다 비트 패딩 마지..
-
DES - 3Cryptography - Security/Dreamhack - Basic 2023. 5. 8. 16:49
다중 DES 서로 다른 키를 사용하는 DES모듈을 여러 개 이어 붙여서 DES의 약점을 보완한 암호 시스템이다 이중 DES는 112비트, 삼중 DES는 168비트의 키를 사용한다 p를 평문, c를 암호문이라고 했을 때, 이중 DES의 암호화를 식으로 표현하면 Ek2(Ek1(p))=c 이다 마찬가지로 삼중 DES는 Ek3(Dk2(Ek1(p)))=c가 된다 중간 일치 공격 중간 일치 공격은 공격자가 어떤 평문 p와, p를 암호화한 암호문 c를 알 수 있을 때, 수행할 수 있는 공격이다 때문에 이중 DES는 단일 DES와 비슷한 안전성을 가지며 삼중 DES는 키 길이를 2배로 늘리는 효과만이 있다 이중 DES의 안전성은 DES의 두 배 정도 이지만 삼중 DES는 112비트 키를 사용하는 DE..
-
DES - 2Cryptography - Security/Dreamhack - Basic 2023. 5. 8. 10:26
DES의 과정 DES는 시작할 때 초기순열을, 마지막에는 최종순열을 수행한다 초기순열과 최종순열은 정해진 테이브를 이용하여 64비트 입력을 비트 단위로 전치한다 테이블의 n번째 값이 m일 때, 출력의 n번째 비트는 입력의 m번째 비트가 된다 오른쪽 최종순열에서는 아래에서 위로 1씩 증가하는 규칙이 보인다 초기순열과 최종순열은 서로 역관계여서 임의의 64비트 데이터에 초기순열을 적용하고 최종순열을 적용하면 입력값이 그대로 나오게 된다 라운드 함수 라운드 함수에 오른쪽 블록만 입력되므로 입력값의 길이는 32비트가 된다 라운드 함수는 확장순열, 라운드 키 결합, 치환테이블, 고정순열로 이루어져 있다 확장순열과 라운드 키 결합 확장순열은 입력을 비트단위로 전치하는 동시에 전체 길이를 48비트로 확장하는 순열이다..
-
DES - 1Cryptography - Security/Dreamhack - Basic 2023. 5. 8. 09:24
DES란? 미국의 국가안보국 (NSA)에서 IBM의 루시퍼 알고리즘을 개량하여 만든 대칭키 암호이다 DES는 키 길이를 56비트로 한다 DES는 8바이트(64비트)를 한 블록으로 하는 블록암호이며, 초기순열, 최종순열, 페이스텔 구조의 16라운드, 키생성함수로 구성되어 있다 순열, 치환, 곱암호 치환과 순열을 여러 번 교차하여 적용하면 혼돈과 확산의 성질을 모두 만족하게 된다 왼쪽의 그림과 같이 치환, 순열로 1개의 라운드를 구성하고 각 라운드를 여러번 반복하는 것을 곱암호라고 한다 페이스텔 구조 DES의 라운드 함수는 아래와 같이 페이스텔 구조를 이루고 있다 1. 입력으로 들어온 블록을 동일한 길이의 왼쪽블록 L과 오른쪽 블록 R로 나눈다 L0=P[:len(P)/2] R0=P[len(P)/2:] 2..