일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 백준알고리즘
- 자료구조
- JSP
- Juice Shop
- gotify
- SUA
- 운영체제
- virtualbox
- Python
- 데이터통신
- MySQL
- github action
- gosec
- goKart
- Database
- CodeQL
- DVWA
- 알고리즘
- JDBC
- github
- OWASP
- firewall
- LGTM
- Network
- C언어
- sqli
- ubuntu
- OpenSource
- juice-shop
- Codeup
- Today
- Total
목록정보보안/웹보안 (13)
비트(bit)주세요

XSS(Cross Side Scripting) :웹 애플리케이션에서 일어나는 취약점으로 관리자가 아닌 권한이 없는 사용자가 웹 사이트에 스크립트를 삽입하는 공격 기법 간단한 소스코드로 설명하자면 클라이언트 측 소스코드 XSS Test 서버 측 소스코드 가 있다고 가정합시다. 이 코드는 ① 클라이언트에서 문자열을 입력하고 ② 서버에 전송하면 ③ 서버가 그 문자열을 받아서 ④ 그대로 출력하는 코드입니다. 클라이언트에서 hello~를 입력하고 서버에 전송했더니 서버가 문자열을 받아서 브라우저에 hello~라고 출력했습니다. 일반 문자열이 아니라 스크립트를 전송한다면? 서버가 클라이언트로부터 스크립트를 입력받으니 스크립트로 출력했습니다. 서버의 입장으로 가보면 출력을 해야하는데 그 출력문이 자바스크립트입니다. ..

Blind SQL Injection? : SQL Injection인데, 참/거짓 반응으로만 수행하는 공격 참/거짓 반응으로만 공격을 하기 때문에 많은 노력과 시간을 투자해야 합니다. 그래서 자동화 툴을 이용하고, 대표적으로는 sqlmap이 있습니다. 여기서 Blind SQL Injection을 진행하기 위해 SQL 사전지식이 몇가지 필요합니다. LIMIT [어디부터], [몇개] : 출력할 때, 행을 제한하여 몇개만큼 출력합니다 -> 처음 시작은 0번째 입니다. substr([출력 대상], [어디부터], [몇개]) 또는 substring([출력 대상], [어디부터], [어디까지]) : 출력 대상의 해당 지점부터 값을 몇개만큼 추출합니다. -> 처음 시작은 1번째 입니다. ex) SELECT substr('..

만약에 SQL의 기초가 되어 있지 않았다면 이 글을 먼저 보고 오시는 것을 추천드립니다. https://standardh.tistory.com/50 SQL Injection을 위한 SQL SQL Injection? : 악의적인 SQL문을 실행시켜 데이터베이스를 비정상적으로 조작하는 공격 방법 ※ SQL Injection을 실습하기 전, 알면 좋은 몇가지 DML(Data Manipulation Language) : 데이터 조작어 -> SELECT.. standardh.tistory.com SQL Injection? : 악의적인 SQL문을 실행시켜 데이터베이스를 비정상적으로 조작하는 공격 방법 어떻게? SQL 쿼리 하나를 예로 들자면 SELECT * FROM member WHERE id='{입력받는 값}' ..

SQL Injection? : 악의적인 SQL문을 실행시켜 데이터베이스를 비정상적으로 조작하는 공격 방법 ※ SQL Injection을 실습하기 전, 알면 좋은 몇가지 DML(Data Manipulation Language) : 데이터 조작어 -> SELECT, INSERT, UPDATE, DELETE DDL(Data Definition Language) : 데이터 정의어 -> CREATE, ALTER, DROP, RENAME, TRUNCATE DCL(Data Control Language) : 데이터 제어어 -> COMMIT, ROLLBACK, SAVEPOINT SQL Injection을 할때는 DML을 사용할 예정입니다. DML의 명령어 SELECT, INSERT, UPDATE, DELETE의 사용법..

먼저 보고 오시면 도움이 되는 게시물입니다. https://standardh.tistory.com/41?category=959650 netcat과 포트포워딩 먼저 보고 오시면 조금이나마 도움이 되는 게시물입니다. https://standardh.tistory.com/40 방화벽 방화벽(firewall) : 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하 standardh.tistory.com Web Shell : 웹사이트를 통해 쉘을 여는 공격 Shell : 운영체제의 커널과 사용자 사이를 이어주는 것 Web shell을 실습해보기 위해 만들어진 소스인 b374k를 다운받겠습니다. 아래 사이트에 접속하여 다운해줍니다. https://code.google.com/archive..

먼저 보고 오시면 조금이나마 도움이 되는 게시물입니다. https://standardh.tistory.com/40 방화벽 방화벽(firewall) : 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템 즉, 방화벽은 IP/Port 를 기반으로 패킷을 차단/허용하는 standardh.tistory.com netcat : 네트워크 연결을 읽고 쓰는 데 사용되는 컴퓨터 네트워킹 유틸리티 접속할 서버의 ip 확인 서버의 방화벽 상태 확인 서버 측 명령어 : nc -l -p 2222 -> 2222번 포트의 접속을 기다리고 있겠다. 클라이언트측 명령어 : nc 192.168.35.191 2222 -> 서버측 ip[192.168.35.191]를 2222번 포..

방화벽(firewall) : 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템 즉, 방화벽은 IP/Port 를 기반으로 패킷을 차단/허용하는 침입차단시스템 입니다. 웹서버는 보통 80번, 8080번, 443번 포트를 많이 사용합니다. 이번엔 방화벽을 활성/비활성 시켜보고 활성상태에서 특정 포트를 허용하여 그 포트로 서버에 접속해보겠습니다. 알면 좋은 몇가지 - netstat 명령어 : 네트워크 접속, 라우팅 테이블, 네트워크 인터페이스의 통계 정보를 보여주는 도구 - 인바운드(inbound) : 내부로 향한다 ex) Client -> Server - 아웃바운드(outbound) : 외부로 향한다 ex) Server -> Client - 네트워크..

Command Injection 은 웹 애플리케이션에서 시스템 명령을 사용할 때, 세미콜론 혹은 &, && 를 사용하여 하나의 Command를 Injection 하여 두 개의 명령어가 실행되게 하는 공격 입니다. 어떤 웹 어플리케이션 공격이 내부에서 실행된다고 했을 때 사용자가 입력한 값이 적절한 검증 절차가 존재하지 않으면 입력했던 시스템 명령어가 그대로 전달되어 공격자는 이 값을 조작해 시스템 명령어 삽입 시도 공격을 할 수 있게 됩니다. DVWA Low 단계에서 실습을 진행해 보겠습니다. 먼저 소스코드부터 보겠습니다. 특수문자 같은 것도 필터링을 하지 않고, 받은 값 그대로 출력하는 코드입니다. 여기서 shell_exec()함수는 시스템 명령을 내리는 역할을 합니다. 받은 값 앞에 ping -c 4..

Brute Force Attack은 말 그대로 모든 경우의 수를 대입해보는 공격입니다. 공격 특성 상 시간이 오래 걸리는 공격입니다. 노력도 어마무시하게 들어가고요. 그래서 저는 수고를 덜기 위해 프록시 툴인 Burp suite를 사용하여 전수공격을 진행해 볼 것입니다. Low레벨에서 진행하겠습니다 일단 소스코드를 봅시다 로그인에 성공을 한다면 Welcome to the password ~~~ 하고 메시지가 나온다고 합니다. 클라이언트가 서버로 요청을 할 때 어떻게 요청하는지 봐야합니다. 프록시 mymy를 키고 입력창에 아무거나 누른 다음에 전송버튼을 누릅니다 GET방식으로 파라미터를 전달하네요. 본격적으로 공격을 해 볼 차례입니다. 마우스 우클릭을 하고 Send to Intruder를 클릭합니다. In..
인증의 유형, 종류 인증 유형 종류 알고 있는 것 패스워드, 주민등록번호, i-PIN 가지고 있는 것 신분증, 여권, 신용카드, 인증서, OTP, Key, 스마트 카드 그 자체 홍채, 지문, 각막, 행동, 서명 위치하는곳 지역, IP, 주소 인증의 취약점을 공격하는 대표적인 사례 : 취약한 패스워크 설정 접근 통제 - 수직적 접근 통제 : 특정 정보에 대한 접근 권한을 수준별로 상이하게 설정한 통제 ex) 일반사용자와 관리자 - 수평적 접근 통제 : 웹 어플리케이션 내에 여러 사용자가 존재할 때 상대방의 정보를 볼 수 없도록 통제 ex) 이메일, 인터넷 뱅킹 - 비즈니스 로직 접근 통제 : 사용자 권한에 종속되지 않고 민감하거나 중요한 자원에 대한 접근 통제 ex) 일반사용자 권한 != 관리자 권한, 하..