전체 글(80)
-
스노트 정규표현식 탐지실습(xss)
1. 탐지패턴 2. 공격자 3. 결과화면
2021.04.28 -
스노트 정규표현식 탐지실습(OS COMMAND INJECTION)
Remote os commnad injection 변수 값의 검증 미흡으로 원격에서 운영체제 명령어를 삽입할 수 있는 취약점. 1. 탐지패턴 os 커맨드 문자열인 cat,type,head 등등을 패턴에 입력시킨후 공백or + 문자열 후 ../../ 등의 문자열이 올수있기 때문에 정규표현식 .* 을 넣고, 리눅스 경로 표현 문자열 /, 윈도우 \를 탐지하는 표현식 작성(url인코딩, 헥사코드) 2. 공격자 owasp-zap -> attack -> active scan 에서 아래와 같이 os command injection 설정후 스캔을 수행한다. 3. 탐지결과 zap툴을 활용하여 시스템에 공격을 수행한 결과 해당 탐지패턴으로 정상적으로 잘 탐지되었다.
2021.04.28 -
SNORT 정규표현식의 이해
스노트에서는 PCRE(펄 호환 정규표현식)을 사용한다. 스노트의 탐지패턴(content, nocase, http옵션)으로 탐지하지 못한 패턴을 탐지하거나 content옵션의 정확도를 올리기 위해 사용됨. 메타문자 - 정규표현식에서 의미를 가지는 문자를 뜻함. 수량자 - 설정한 패턴, 클래스의 반복횟수를 결정 { } 안에 값을 설정. 클래스 - 탐지할 패턴을 결정 [ ] 안에 값을 설정. 정규표현식 옵션
2021.04.28 -
SQL 인젝션 문제풀이4(webgoat-8.0.0)
1. 다음은 계정인증에 id와 login_count값(숫자)을 사용한다. 입력 필드가 2개이고 두개의 필드 중 하나만 sql인젝션 취약점이 있다. 유저테이블의 모든 데이터를 출력하시오. 2. ' or 1=1 구문을 삽입하여 본다. 공격실패이고 내부쿼리문을 보여주는데 조건절을 보면 123 and userid=' or 1=1 과 같은 쿼리문의 구조가 나온다. 조건절이 참이아니므로 쿼리문이 동작하지않음. 3. where 절에 1 or 1=1 구문을 삽입하면, where Login_count = 1 and 1 or 1=1 항상 조건절이 참이되므로 테이블의 모든 값이 출력된다.
2021.04.27 -
SQL 인젝션 문제풀이3(webgoat-8.0.0)
1. 하얀색 박스안의 폼에서 알맞은 문자를 선택하여 users 테이블의 모든 결과값을 출력하라. 2. select * from user_data where first_name = 'john' and last_name = ' 라는 쿼리문이 주어져 있다. 쿼리문 뒤에 ' or '1'='1 구문을 쿼리문의 가장 뒤에 삽입하면, select * from user_data where first_name = 'john' and last_name = ' ' or '1'='1'이되고 where 절의 조건식이 first_name = 'john' and last_name = ' ' or '1'='1' 항상 참이되므로 user_data테이블의 모든 데이터가 출력된다. '1' = '1 로 마지막에 닫히는 싱글쿼터 까지 생각할것
2021.04.27 -
SQL 인젝션 문제풀이2(webgoat-8.0.0)
1. Tobi의 부서를 판매부서로 바꾸시오. 2. employees 테이블 확인. 3. 쿼리의 값을 수정하기위한 질의문은 다음과 같다. UPDATE [테이블] SET [열] = '변경할값' WHERE [조건] 다음을 대입하여 employees 테이블에서 department 필드의 값중 Developement의 값을 Sales로 변경할 수 있다.
2021.04.27