전체 글
WACON 2023 Final WEB(funnyjs, Cha's eval) Writeup
[WEB] funnyjs do you like js? Challange analyze ∧,,,∧ ( ̳• · • ̳) / づづ plz xss 챌린지 파일의 index.html을 확인해보면 위와 같은 코드가 존재하는 것을 확인할 수 있습니다. 문제에서 "plz xss"와 script 태그에서 특정 조건을 통과해 XSS를 발생시켜야하는 문제라고 추측이 가능합니다. 먼저 paload 변수에 값을 할당하는 부분을 확인해보겠습니다. decodeURIComponent(document.location.hash.slice(1)).replaceAll(//g,''); 현재 URL의 fragment 값을 받아와서 "" 태그문자가 존재하면 이를 제거한 후 URL Decoding을 진행합니다, 그 후 payload라는 변수에 ..
[WebHacking Study] Log4Shell (Log4j) 취약점 분석
Log4Shell 취약점 소개 Log4Shell은 java의 log4j 모듈에서 발생한 RCE 취약점입니다, 해당 취약점은 2022년에 발생된 취약점입니다. 해당 취약점이 발견되었을때, 많은 국내/해외 기업들이 java 기반 서버를 구축하고 log4j 라이브러리로 에플리케이션 에러, 접속 로그 등을 기록하였기 때문에 굉장히 심각하고 유명했었던 취약점으로 분류되어있습니다. 굉장히 많은 기업들에게 동시다발적으로 발생하게된 취약점이고 라이브러리의 사용도가 굉장히 높았기 때문에, 해당 취약점의 크리티컬 분류 스코어는 가장 높은 단계인 10.0으로 분류되어있습니다. 이중에서 가장 유명한 log4j에서 발생한 RCE(Remote Code Excute(원격 코드 실행)) 1day 취약점에 대해 자세히 정리해보겠습니다..
[이것이 MYSQL이다] 파티션 정리
본 포스트는 2021년에 업로드된 포스트입니다. 개념이 아직 정리안된 나이에 업로드한 포스트이기에 수정사항이 있으면 연락주세요. 파티션 파티션이란? 데이터베이스 파티션이란 테이블을 물리적으로 분할하는 작업을 뜻한다. 만약에 행이 1억개가 넘어가는 대용량 테이블이 있다고 가정한다면 인덱스를 올바른 곳에 사용한다 하더라도 crud 작업은 mysql에게 많은 부하를 줄 확률이 높다. 따라서 파티션을 사용하여 테이블을 물리적으로 어떠한 조건에 맞게 분할하는 작업을 뜻하며 물리적으로 분할한다는 뜻은 실제로 테이블이 분할되는 것이 아니라 mysql 내부에서 테이블을 분할시키는 과정을 뜻한다. 참고로 mysql에서는 총 1024개의 파티션을 지원하는데, 파티션을 나누면 물리적으로는 파일이 분리되기 때문에 파티션 테이..