전체 글(57)
-
react에서의 Typescript 사용 - props 관련
props를 type정의시 참고할 점 props를 타입정의 할 때 interface / type으로 정의를 해서 넘기곤 합니다. 타입정의는 정확하게 해야합니다. 그리고 선택적인 prop은 type 정의 시 ?: 를 사용 합니다. props를 직접 전달하는 경우도 있고, 따로 props 객체를 만들어서 전달하는 경우도 있습니다. 개인적인 의견으로는 함수 인자에 직접 넣는 것도 일반적이지만 따로 빼서 객체로 정의하는 것이 가독성이 더 좋게 느껴졌습니다. 기본값을 정의할 때는 component 정의 뒤에 defaultProps를 이용해서 props의 기본값을 설정해줍니다. MyComponent.defaultProps = { title: 'Default Title', text: 'Defau..
2023.04.28 -
Path Manipulation
Path manipulation 위험도 high 요약 file 시스템 경로를 입력값이나 변수로 제어가능할 때, 공격자가 의도할 경우 보호해야할 파일이 접근, 수정될 수 있습니다. 설명 path manipulation은 공격자가 파일 시스템 작업에 사용되는 경로를 지정할 수 있고, 리소스를 지정해서 다른식으로는 허용될수 없는 권한을 얻을 수 있을 때, 이 두 조건을 만족할 때 성립한다. 공격자는 특정 파일을 덮어쓰거나, 제어하는 식으로 실행권한을 획득할 수 있다. 예시 file 접근 시 file 경로에 request.getParameter(NAME) 같이 parameter 값이 포함 되는 경우가 있는데, 해당 parameter 값을 제어해서 ../../tomcat/conf/server.xml 같이 상위 디..
2023.01.17 -
Division by Zero(0으로 나누기)
Divison By Zero 0으로 나누기 업무상 접하는 오류이다. 어플리케이션 평균 시간을 측정할 때 쓰일 수 있다. 이전 언어를 배울 때 약식으로 계산기 프로그램을 만드는데, 그 때 접했었을 수도 있다. 하지만, 기본적인 문제를 간과하는 바보같은 실수는 누구든지 어디든지 발생할 수 있다. 취약점 0으로 나누기는 수학적으로 정의되어 있지 않다. 0을 제수로 나누기를 시도시 CPU 레벨에서 예외가 발생하고, 프로그램의 비정상 적인 종료 혹은 DoS(Denial of Service)를 유발 할 수 있다. 해결법 나누기 연산에 대해 나누는 수가 0인지 체크하는 코드를 작성해서 입력값의 유효성을 검증한다. 예외처리를 통해 해당 케이스를 공통적으로 처리할 수 있다. if( numberOfSomething == ..
2023.01.17 -
scrollLockPusher - mouseJiggler 대용 화면보호방지기(POWERSHELL)
scrollLockPusher - mouseJiggler 대용 화면보호방지기(POWERSHELL) 검색 동기 이전 근무지에는 mouseJiggler같은 화면보호기를 방지하는 프로그램이 있었다. 원리는 마우스를 살짝살짝 움직여줘서 화면보호기 뜨기까지의 시간을 계속 초기화해주는 것이다. mouseJiggler는 인터넷에서 쉽게 구할 수 있었으나, 안타깝게도 지금의 업무환경은 인터넷 접속이 제한되고, 파일이동이 어렵기 때문에 프로그램을 대신할수 있는 스크립트를 찾게 되었다. 검색 과정 나와같은 생각을 하는 사람이 많았고, 스크립트는 널려있었기에 제작과정이 아닌 검색 과정이다. powershell은 window10 이면 기본적으로 구비되어있기에 powershell script를 찾게 되었다. 처음에는 비슷하게 ..
2022.10.18 -
gstatic 오탐 관련 이슈
gstatic 문제 발생 타 부서에서 해외 IP로의 트래픽이 탐지되었다고 연락이 옴 메시지 : Nvd,L1AAkb,KUM7Z,Mlhmy,LDgzZ,s39S4,lwddkf,gychg,w9hDv,EEDORb,RMhBfe, 바이러스 혹은 공격이 탐지되었다고 연락함 관련 IP : 142.250.76.131 구글 검색 기록 오후 1:38 부대찌개 - 나무위키 namu.wiki 오후 1:38 퓨전 요리 - 나무위키 namu.wiki 오후 1:38 소시지 - 나무위키 namu.wiki 오후 1:38 쟌슨빌 나무위키 - Google 검색 www.google.com 오후 1:38 쟌슨빌 소시지 - Google 검색 www.google.com 원인 탐색 탐지 시점에 내가 하고 있었던 일은 구글링, 나무위키, 웹 스크래핑 ..
2022.10.12 -
gradle build sync failed
GRADLE SSL 오류 오류 : idea 설치 폴더 -> log -> idea.log 에서 확인 org.gradle.tooling.GradleConnectionException: Could not install Gradle distribution from 'https://services.gradle.org/distributions/gradle-7.5-bin.zip'. Caused by: javax.net.ssl.SSLException Caused by: java.lang.NullPointerException gradle sync failed 해결책 1 : gradle의 경로를 https -> http 로 변경 : 2022.08 - 실패 https://mydevromance.tistory.com/47 해..
2022.08.08