개발

15

[windows/python/ssh연결] paramiko 설치 및 Fail 에러 해결 방법

| paramiko 모듈이란? : Python SSH module / SFTP 연결시 사용하는 모듈 '파라미코'는 에스페란토어로 '파라노이드'를 뜻하는 단어와 '파라미코'를 합친 말이다. 원격 컴퓨터에 대한 보안(암호화 및 인증) 연결을 위한 것입니다. * 자세한 설명은 아래 개발자의 gitup의 readme를 참고바람 paramiko/paramiko The leading native Python SSHv2 protocol library. Contribute to paramiko/paramiko development by creating an account on GitHub. github.com | paramiko 설치 방법 pip install paramiko 해당 명령어를 사용하여 paramiko 설..

개발/Python3 2021.01.05 임통끼

[windows/numpy] numpy 설치 방법 및 RuntimeError 해결 방법

안녕하세요 이번에는 numpy 모듈 설치방법 및 RuntimeError 해결 방법에 대해서 알아보려고 합니다. 저는 기존에 파이썬 3.5를 사용하고 있었는데, 갑자기 apschedule 모듈이 작동을 안하더라구요 ~ 확인해보니깐 python 3.5는 2021년 1월부로 지원을 중지했다고 합니다 ! | python 3.5 지원 중단으로 인한 에러 자세히 보기 ↓ 아래 펼치기 더보기 No module named 'pkg_resources' 처음에는 해당 에러가 발생했고, 구글링을 해보니 해당 에러는 setuptools 업그레이드를 하면 해결이 된다고 하였습니다. 그래서 바로 setuptools 업데이트를 진행했지만 또 설치가 되지 않았습니다. ImportError: DLL load failed: %1은(는)..

개발/Python3 2021.01.04 10 임통끼

[Windows/pymysql] Python(파이썬)으로 Mysql/Maria DB 연동하는 방법

안녕하세요 ! Windosws 환경에서 Python3에 Mysql 및 Maria DB를 연동하는 방법을 알려드리겠습니다. Mysql을 연동할 수 있는 모듈은 여러가지가 있는데요 그중에서 저는 pymysql 모듈을 사용해서 연동을 해보려고 합니다! 1. pymysql 모듈 설치 : 모듈을 설치하는 방법은 크게 세가지로 나뉩니다. - easy_install 사용하기 - pip 사용하여 설치하기 - 직접 모듈을 다운받아 설치하기 이 3가지 방법 중에서 pip를 사용하여 설치하는 방법을 알려드리겠습니다! - pip 설치하기 pip install pymysql 콘솔창에서 해당 명령어를 실행해주면 간단하게 해당 모듈의 가장 최신버전이 설치가 됩니다. 이미 해당 모듈이 설치..

개발/Python3 2020.12.17 2 임통끼

Part 10 : OWASP 2017 TOP 10 RC2 A10 - 불충분한 로깅 및 모니터링

A10 : 불충분한 로깅 및 모니터링 * 정의 말그대로 충분하지 못한 로깅과 모니터링을 했을 경우 발생하는 문제점을 말하는 것이다. 로깅과 모니터링이 충분하지 않으면 발생한 에러에 대해 제때 대응을 하지 못할 뿐더러, 공격자에 의해서 해당 부분이 시스템 공격으로 이어지거나 데이터 변조와 추출, 심지어는 삭제 및 파괴가 될 수 있는 취약점을 일컫는다. * 대응방법 : 대응방법이라고 하기에는 그냥 모니터링을 상시 시행하고, 로그 파일이 많이 차지않다고 로그를 쌓지 않는 행위는 금지해야한다. 실제로 회사에서 근무를 하다보니, 로그를 쌓지않았을때 발생되는 문제점은 상당했다. 주로 고객사에서 모니터링에 대한 피드백을 요청하는 경우들이 많았고, 로그가 없는 경우에는 접속시간 조차 확인할 수 없는 등의 말도 안되는 ..

개발/OWASP 2017 2020.12.17 임통끼

Part 9 : OWASP 2017 TOP 10 RC2 A9 - 알려진 취약점이 있는 컴포넌트 사용[Using Components with Known Vulnerabilities]

A9 : 알려진 취약점이 있는 컴포넌트 사용[Using Components with Known Vulnerabilities] * 정의 간단히 말하자면 취약점이 발견된 이전 버전을 계속 사용하고 있는 것으로 "최신 버전 업데이트 미흡" 이라고 말할 수 있습니다. 일부 프로그램의 경우 자체적으로 업데이트를 권고하고 또한 업데이트를 하는 것이 쉽지만, 현재 운영중인 대형 서버와 같이 실시간으로 업데이트를 하기 어려운 경우에 자주 발생하기 쉬운 취약점입니다. - 영향 취약점이 있는 컴포넌트를 사용하면 인젝션, 접근통제 우회, XSS 등을 포함한 모든 종류의 취약점들이 가능해집니다. 공격자가 시스템을 완전하게 장악하고 정보를 탈취할 수 있을 정도까지도 가능합니다. * 대응방법 1. 본인이 만들지 않는 컴포넌트를 ..

개발/OWASP 2017 2020.12.17 임통끼

Part 8 : OWASP 2017 TOP 10 RC2 A8 - 크로스사이트 요청변조[CSRF]

A8 : 크로스사이트 요청변조[CSRF] * 정의 CSRF 공격은 로그인 된 공격 대상자의 브라우저가 공격 대상자의 세션 쿠키와 자동으로 포함된 인증 정보를 포함하여 위조된 HTTP 요청을 취약한 웹 애플리케이션에 보내도록 하는 것이다. 예를 들어, 공격자는 공격 대상자의 브라우저가 취약한 애플리케이션이 합법적이라고 생각하는 요청을 생성하도록 한다. Ex) html로 form을 작성하고 직접 실행하게 만들거나 onload속성을 통해 자동실행되게 하여 접속자로 하여금 원격으로 페이지 요청을 시키는 방법 그밖에도 방법도 있음. 즉, 페이지를 요청한다는 개념만 빼면 XSS와 기본적으로 유사한 공격이라고 할 수 있다. 즉, httpOnly옵션으로 인해 쿠키복사가 불가능 하다면 피해대상에게 원격으로 요청을 시켜 ..

개발/OWASP 2017 2020.12.17 임통끼

Part 7 : OWASP 2017 TOP 10 RC2 A7 - 크로스사이트 스크립팅[Cross-Site Scripting, XSS]

A7 : 크로스사이트 스크립팅[Cross-Site Scripting, XSS] * 정의 웹 페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되게 유도할 수 있습니다. 예를 들어, 검증되지 않은 외부 입력이 동적 웹 페이지 생성에 사용될 경우, 전송된 동적 웹 페이지를 열람하는 접속 자의 권한으로 부적절한 스크립트가 수행되어 정보유출 등의 공격을 유발할 수 있습니다. * 대응방법 1. 외부입력 값에 스크립트가 삽입되지 못하도록 문자 변환 함수 또는 메서드를 사용하여 & “ 등을 & " 로 치환해야 합니다. HTML태그를 허용하는 게시판에서는 허용되는 HTML 태그들을 화이트리스트로 만들어 해당 태그만 지원하도록 해야합니다. - 코드 예제 1 alert(document.cookie); ..

개발/OWASP 2017 2020.12.17 임통끼

[Crawling] 브라우저의 USER AGENT 확인하는 방법

파이썬으로 웹 크롤링을 할 때면 User Agent가 필요한 때가 있습니다. 굳이 header에 언급을 하지않아도 크롤링이 가능하지만, 내가 로봇이 아니라는 것을 인지시키려면? 저는 여러 크롤링 프로그램을 동시에 돌리기 위해서 Header를 정의합니다. 가끔 User-Agent가 명시되지 않을 상태로 크롤링을 할경우, request 에러가 발생하는 경우가 있기 때문입니다. 그럼, User Agent의 값을 확인하는 법에 대하여 알아보겠습니다. 크롬 브라우저 같은 경우에는 크롬 브라우저 내에서 확인이 가능합니다. 기타 다른 브라우저들도 확인이 가능하겠지만, 간단하게 사이트를 이용하여 확인하도록 하겠습니다. 1. WhoIsHostingThis 사이트 https://www.whoishostingthis.com..

개발/Python3 2019.09.26 임통끼

Part 6 : OWASP 2017 TOP 10 RC2 A6 - 잘못된 보안 설정[Security Misconfiguration]

A6 : 잘못된 보안 설정[Security Misconfiguration] * 정의 바람직한 보안은 어플리케이션, 프레임워크, WAS, 웹 서버, DB서버 플랫폼에 대해 정의되고 적용되어 있습니다. 보안 기본 설정은 대부분 안전하지 않기 때문에 정의, 구현 및 유지 되어야 합니다. 또한 소프트웨어는 최신 버전으로 관리해야 합니다. -> 접근권한을 지정하지 않아 인증되지 않은 사용자도 게시물을 수정하거나 삭제할 수가 있는 상태입니다. * 대응방법 1. 불필요한 파일을 관리해야 합니다. 2. 디렉토리 권한을 설정해야 합니다. 3. 최소한의 사용자 계정을 사용해야 합니다. 4. 운영체제, 웹/앱 서버, DBMS, 코드 라이브러리들의 소프트웨어 보안을 업데이트해야 합니다. 그렇지 않다면, 보안 위협이 생기지 않..

개발/OWASP 2017 2019.08.05 2 임통끼

Part 5 : OWASP 2017 TOP 10 RC2 A5 - 취약한 접근 제어[Broken Access Control]

A5 : 취약한 접근 제어[Broken Access Control] * 정의 취약한 접근 제어는 인증된 사용자가 수행할 수 있는 것에 대한 제한이 제대로 적용되지 않는 것을 의미합니다. 공격자는 이러한 취약점을 악용하여 사용자의 계정 액세스, 중요한 파일 보기, 사용자의 데이터 수정, 액세스 권한 변경 등과 같은 권한 없는 기능, 또는 데이터에 액세스할 수 있습니다. - 관리자 페이지 노출 - SSI 삽입 - 부적절한 인가 * 대응방법 1. 관리자 페이지에 임의의 사용자가 접근할 수 없도록 관리자 페이지에 접근할 수 있는 권한을 가진 단말기만 접근 가능하도록 접근권한을 설정합니다. 2. 웹 관리자 메뉴의 접근을 특정 네트워크 대역으로 제한하여, IP 주소까지도 인증 요소로 체크하도록 웹 관리자 사용자 인..

개발/OWASP 2017 2018.01.22 6 임통끼

Part 4 : OWASP 2017 TOP 10 RC2 A4 - XML 외부 개체[External Entity, XXE]

A4 : XML 외부 개체[External Entity, XXE] * 정의 XXE란 XML external entities(XML 외부개체의 준말) : XML문서에서 동적으로 외부 url의 리소스를 포함시킬 수 있는 외부 엔티티(Entity, 이하 엔티티)를 사용할 때 발생합니다. 외부 엔티티는 파일 URL 처리기, 패치되지 않은 Windows 서버의 내부 SMB파일 공유, 내부 포트 검색, 원격 코드 실행 및 Billion Laughs 공격과 같은 서비스 거부 공격과 내부 파일 공개에 악용될 수 있습니다. * 안드로이드 스튜디오, 인텔리제이(IntelliJ),이클립스, APK툴이며, 대부분의 안드로이드 통합 개발 환경(IDE)에서도 취약점이 발견됩니다. 이 취약점을 통틀어 파스드로이드(ParseDrio..

개발/OWASP 2017 2018.01.22 임통끼

Part 3 : OWASP 2017 TOP 10 RC2 A3 - 민감한 데이터 노출[Sensitive Data Exposure]

A3 : 민감한 데이터 노출[Sensitive Data Exposure] * 정의 : 대부분의 웹 어플리케이션과 API는 금융정보, 건강정보, 개인식별정보와 같은 민감 정보를 제대로 보호하지 않습니다. 공격자는 신용카드 사기, 신분 도용 또는 다른 범죄를 수행하는 취약한 데이터를 훔치거나 변경할 수 있습니다. 브라우저에서 중요 데이터를 저장 또는 전송할 때, 특별히 주의하여야 하며, 암호화와 같은 보호조치를 취해야 합니다. 프로그램이 보안과 관련된 민감한 데이터를 평문으로 송·수신할 경우, 통신채널 스니핑을 통해 인가 되지 않은 사용자에게 민감한 데이터가 노출될 수 있습니다. * 대응방법 1. 인증 정보와 같은 민감한 정보 전송시 안전하게 암호화해서 전송해야 한다. : 분석단계에서 정의된 중요정보를 네트..

개발/OWASP 2017 2018.01.22 임통끼