반응형
HTML
- HTML 파일은 악성코드 URL 등이 삽입되어서 호출 될 때 취약점 발생가능
- 공백 하나라도 바뀔 시, 다른 악성코드 URL로 수정될 시 MD5가 계속 바뀌므로 패턴 DB 수정이 계속 일어남
- 따라서 MD5 해시 값으로 악성코드 검사 불가능
- 정규 표현식 사용
- r'\w+@\w.\w+'
- r은 파이썬에서 문자열을 임의로 해석하지 말라는 의미
- 없으면 \n을 엔터키로 해석
- w는 영문자(소문자/대문자), 숫자, _(언더바) 표현
- +는 1번 이상 등장
- r은 파이썬에서 문자열을 임의로 해석하지 말라는 의미
- python에서 re 모듈로 정규식 적용 간편
- re.findall(정규식, 문자열)
- 문자열에서 정규식 적용된 부분만 찾아서 반환
- re.findall(정규식, 문자열)
- r'\w+@\w.\w+'
- 텍스트 파일인지 확인
- 파일은 텍스트 파일 or 바이너리 파일
- p_text = re.compile(r'[\w\s!"#$%^\'()*+,\-,/:'<=>?@\[\\\]\^_'{\|}~]')
- n_text = len(p_text.findall(buf))
- if n_text / float(len(buf)) > 0.8?
- 텍스트에서 나올 수 있는 글자 수가 buf의 전체 길이에서 80% 이상 차지 시 텍스트 파일로 간주
- 한글은 위 정규표현식 패턴으로 검출이 안되므로 20%는 남김.
- 텍스트 파일이라면 HTML에서 자주 사용되는 키워드로 검출
- pat = \r'<\s*html\b|\bdoctype\b|<\s*head\b|<\s*title\b|<\s*meta\b|\bhref\b|\blink\b|<\s*body\b|<\s*script\b|<\s*iframe\b|<\?(php\b)?'
- re.compile(pat, re.IGNORECASE)
- 대소문자 구분없이 매칭
- https://regex101.com/
- HTML 파일 내부의 스크립트 파일 추출
반응형
'Security' 카테고리의 다른 글
압축 파일과 임베딩 파일 (0) | 2022.01.01 |
---|---|
보안 탐지 알고리즘 (0) | 2021.12.31 |
Machine Learning & Security (0) | 2021.12.30 |
Python plugin engine architecture (키콤) (0) | 2021.12.27 |
백신 배포본 만들기 (pyinstaller) (0) | 2021.12.22 |