MySQL, MSSQL, ORACLE 별 테이블명/컬럼명 조회 (스키마 객체)
·
보안/인프라
해당 글은 유현수님의 SQL Injection 공격 자동화 기법 책을 공부하며 정리한 글입니다. DB 내 데이터를 조회하기 위해선? ▶ SELECT 구문 사용 ▶ SELECT 구문에 사용할 TABLE과 COLUMN 정보 필요 ▶ 어떻게 획득해야 하는가? DB에 직접 연결이 가능하면, SHOW 또는 DESC로 확인 가능. 그게 아니라면? ▶ 해당 정보들은 데이터베이스 별 스키마 객체로서 조회 가능한 형태로 제공됨. 스키마(Schema) 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조. DBMS가 주어진 설정에 따라 데이터베이스 스키마를 생성. 데이터베이스 사용자가 자료를 저장/조회/삭제/변경할 때 DBMS는 자신이 생성한 데이터베이스 스키마를 참조하여 명령을 수..
SQL Query - 서브쿼리 사용법
·
보안/인프라
서브쿼리 - 하나의 SELECT 문장 안에 존재하는 또 하나의 SELECT문장이 있는 SQL 쿼리문. - 쿼리문 전체를 메인쿼리, 안에 있는 또다른 SELECT문은 서브쿼리라고 함. - 비교 연산자와 사용 시.. 오른쪽에 존재해야 함. 괄호 안에 넣어야 함. - 메인 쿼리 실행되기 전에 한 번만 실행. 서브쿼리의 예시 1) 조건문 등의 표현식에 사용되는 서브쿼리 SELECT * FROM table_name WHERE column_name=(SELECT column_name FROM table_name); 2) FROM절에 사용되는 서브쿼리 SELECT ALIAS.column_name FROM (SUBQUERY) [AS] ALIAS ... EX) SELECT exam.userid FROM (SELECT *..
APMSETUP - php와 mssql 연동 오류 해결 (undefined function)
·
보안/인프라
[ Fatal error: Call to undefined function mssql_connect() in C:\APM_Setup\htdocs\mssql_connect.php on line 3 mssql_connect.php ] 해결 [내 상황] - APMSETUP 7 사용 중 - SQL Server 2019 - mssql php example 통해서 connect 테스트 중 " Undefined function 'mssql_connect' " - php.ini에서 extension=php_mssql.dll 주석 해제했음에도 불구하고 안됐다. - netstat -antp | find "1433" 해도 아무것도 안뜸 [해결] 1) C:\APM_Setup\Server\PHP5 안에서 ntwdblib.dll..
UTM Oversubscription
·
보안/인프라
UTM Oversubscription IPS/DDoS에서 처리할 수 있는 성능 이상의 트래픽이 발생했을 때, 관련 모듈을 처리하지 않고 바로 포워딩하는 기능이다. - 가용성 vs 보안성 - 가용성이 중시되는 경우 해당 기능 사용 - 보안성이 중시되는 경우 해당 기능 사용 안함
네트워크 보안 제품 구성 모드 (In-line, Mirroring, Proxy)
·
보안/인프라
인라인(In-line) 모드 - 네트워크 보안장비와 보안장비 사이에 정보보호 제품을 위치시킨다. - 모든 트래픽이 보안 장비를 거침으로서 갈 수 있도록 하는 모드. - 모든 패킷이 보안장비를 거쳐가므로 보안성을 높일 수 있다. - 그러나 모든 패킷을 받아야하기 때문에 부하로 인한 하드웨어 장애 발생 시 가용성이 침해될 수 있다. ▶ 그렇기에 물리적인 Bypass 또는 이중화를 통해 Fail-over 기능이 필요하다. ex) Firewall, UTM, IPS 미러링(Mirroring) 모드 - 패킷을 복사하는 방식으로, 스위치에서 미러링 구성 또는 미러링 장비를 활용한다. - 네트워크 장비의 미러링 포트 기능을 설정하여 네트워크 트래픽의 복사본을 모니터링 하는 모드이다. - 필터링보다는 탐지, 모니터링에 ..
TCP 통신 기반 DoS 공격 실습
·
보안/인프라
뭔소리냐면 A(10.200.181.5) 와 B(10.200.181.6, nc서버)이 서로 nc으로 통신하고 있음. 그 사이 kali가 껴서 A를 끊어버릴 것이다. 어떻게 해야 할까? 1. ARP 스푸핑 이전 게시글에서 했었다. 자세한 설명은 생략한다. 2. 칼리에서 tcpdump를 켠다 tcpdump -S -n port 4000 3. B에서 nc 통해 포트를 오픈한다. 그리고 A가 연결해서 몇마디 나눠보셈 4. tcpdump 확인. 5. 나는 10.200.181.5의 연결을 끊을 것이다. hping3 -s 4000 -a 10.200.181.6 -p 60378 -M 2680635114 -L 0 -R -c 1 10.200.181.5 [-s]: 출발지 port [-p]: 목적지 포트 [-a]: 스푸핑할 ip ..
Slow-Rate: Slowloris 공격 실습
·
보안/인프라
Slowloris 공격 - 한대의 컴퓨터에서 Slow-Rate 공격 기법을 이용하여 웹서버를 다운시키는 공격 도구 -HTTP Flood의 유형 - Apache 1.x, 2.x에서 효과적 - 여러 세션을 길게 유지하여 연결 가능한 세션 수를 초과시켜 정산 연결을 할 수 없도록 하는 공격 - HTTP Request 헤더를 불완전 전송하여 완전한 패킷이 올 때까지 세션 연결을 유지함. - GET 방식을 이용한 공격 HTTP 메세지의 헤더와 바디는 개행문자 2번으로 구분됨. => /0d/0a/0d/0a 그런데 개행을 2번 쓰는게 아니라 의도적으로 1번만 쓰고 전달하면.. 웹 서버는 "어라 아직 헤더 올게 남았나보다" 하고 세션 연결을 유지한다. 이렇게 최대 동시 연결 풀을 채우는 것. 평화로워야 할 CentOS..
Slow-Rate: TorsHammer 공격 실습
·
보안/인프라
python2 torshammer.py -t 10.200.181.6 -p 80 -r 256 -r 옵션은 작업 스레드의 수를 지정하는 옵션이다. 죽어가고 있는 centOS (희생자) 80번 웹 서버의 세션 연결 상태가 너무 많음. DoS 공격 진행중인겨 와이어샤크를 확인하면, 출발지 포트는 모두 다르며.. 작은 크기의 패킷을 지속적으로 전송하여 세션을 유지하는 것을 확인 가능함. 같은 출발지 포트, Seq 개수가 찔끔찔끔 증가하는 것을 확인할 수 있다. 패킷 데이터를 1Byte 크기만큼 보내고 처리하는 것. 정상 연결 세션이 들어올 경우 처리하기가 어렵다. 하나만 집어서 보자면, Content Length가 10000으로 설정되어 있는 것 확인할 수 있다. 이래놓고 1byte씩 보내는 것임. 그럼 요청을 ..