Hack/Web46 Click Jacking이란? Click Jacking이란 무엇인가? Click Jacking은 사용자가 의도하지 않은 클릭 행위를 유도하는 공격 기법입니다. Click Jacking 공격은 웹사이트 상의 버튼, 링크 등을 통해 사용자를 다른 웹 페이지로 유도하여, 사용자가 악성 페이지에서 의도하지 않은 동작을 수행하게 만듭니다. Click Jacking은 "UI Redress Attack" 또는 "User Interface Redress Attack"으로도 알려져 있습니다. Click Jacking 공격 원리 Click Jacking 공격은 웹 페이지 내에 들어 있는 iframe 요소를 이용하여 수행됩니다. iframe 요소는 다른 웹 페이지를 포함하고 있는 HTML 태그로, 다른 웹 페이지를 포함하면서도 현재 웹 페이지의 내용을 .. 2023. 2. 12. npm 취약점 점검 도구 - npm audit 먼저 npm이란 javascript 또는 typescript 언어를 위한 Package 관리 도구입니다. npm에는 개발자 편의를 위한 여러가지 Command가 존재하는데, 그 중 취약점 점검 기능인 audit에 대하여 설명하도록 하겠습니다. 사용 방법은 매우 간단합니다. # Default Usage $ npm audit # output json format $ npm audit --json 발견된 취약점에 대한 조치도 단순한 명령어를 통하여 손쉽게 진행할 수 있습니다. $ npm audit fix 다만, deprecated 되었거나 변경된 기능으로 인하여 프로그램이 정상적으로 작동하지 않을 수 있어 사전 백업 후 반드시 작업을 진행해야 할 것 같습니다. Reference About audit repor.. 2022. 11. 16. [CVE-2022-42889] Apache Commons Text RCE (text4shell) 개요 Apache Commons Text에서 발견된 취약점의 Exploit 난이도와 영향도만을 놓고본다면, Log4shell에 버금가는 취약점이라고 볼 수 있습니다. 해당 취약점은 Apache Commons Text Module에서 발생하며 RCE(Remote Controll Executuion)가 가능한 취약점입니다. 또한, CVE-2022-42889를 부여받았으며, text4shell 이라는 이름으로 명명되었습니다. 취약점 상세 취약 버전 1.10 버전 이하 (1.5 ~ 1.9) text4shell 취약점은 Apache Commons Text의 StringSubstitutor를 사용할 때 발생합니다. StringSubstitutor Class는 문자열로 표현된 변수를 값으로 변환하는 역할을 합니다. .. 2022. 10. 20. Django 1-Day Directory Traversal 취약점, CVE-2021-3281 취약 환경 Djagno 2.2 ~ 2.2.18 Django 3.0 ~ 3.0.12 Dajngo 3.1 ~ 3.1.6 취약점 분석 해당 취약점은 django.utils의 archive 모듈을 이용하여 tar 파일을 압축 해제할 때 경로를 조작할 수 있는 취약점입니다. django.utils.archive.py 파일의 TarArchvie Class 내 Code에서 os.path.join 함수를 사용하여 filname을 정의하고 있기 때문에 해당 취약점이 발생하고 있습니다. class TarArchive(BaseArchive): def __init__(self, file): self._archive = tarfile.open(file) def list(self, *args, **kwargs): self._ar.. 2022. 10. 3. SQL에서 "문자열"="문자열 "이 True인 현상 예전에 들어서 알고 있던 내용인데, 업무를 하다가 오랜만에 보게된 "test"="test " is True 현상... padding 과 관련된 내용이라는 것은 알았지만 정확한 개념이 기억나지 않아 정리를 한 번 해야될 필요성을 느꼈습니다. 먼저 아래와 같은 결과가 참이 나오는 이유는 두 문자열의 길이가 다른 경우 문자열의 길이를 같게 만든 뒤 공백을 추가하는 표준이 존재하기 때문입니다. CREATE TABLE minseok123(title varchar(10)); INSERT INTO minseok123(title) VALUES('test'); SELECT * FROM minseok123 WHERE title='test '; # Result -> title : test 이와 같은 내용은 SQL 표준을 명.. 2022. 9. 27. Spring에서 Matrix Parameter를 지원함에 따라 발생 가능한 취약점 Matrix Parameter 대부분의 웹 서버에서는 아래와 같은 Query String을 이용하여 Parameter를 처리합니다. Scheme:host:port/path?key=value&key=value https://hacksms.tistory.com:443/write?title=Hello&content=World 이러한 Query String을 대체할 수 있는 새로운 Parameter 방식이 추가되었는데, 이러한 방식을 Matrix Parameter라고 합니다. Matrix Parameter는 반드시 경로의 마지막이 아닌 원하는 위치에 Parameter를 작성할 수 있다는 특징을 갖고 있습니다. Scheme:host:port/path;key=value/path2;key=value https://h.. 2022. 9. 9. Debugging 시 Jquery.js에서 무한으로 멈추는 문제 해결 방법 (Infinity Debgguer Paused) Chrome에서 취약점 진단을 위해 Debugging 기능을 사용하였을 때 jquery*.js 파일에서 무한으로 디버깅이 멈추는 현상이 발생했습니다. 이 전에도 해당 서버에서 디버깅을 잘하고 있었기 때문에 갑자기 이런 현상이 발생해서 매우 당황스러웠고... 사실 아직도 명확한 이유에 대해서는 알 수 없지만, 일단 임시방편으로 해결했던 방법은 다음과 같습니다. 계속 디버깅이 잡히는 Line에서 오른쪽 클릭을 한 뒤, "Add script ot ignore list" 버튼을 클릭하면 해당 페이지에서는 더이상 Debgguer Paused 현상이 발생하지 않았습니다. 물론 이 방법은 아예 페이지 자체를 Debugging List에서 제거하는 방법이기 때문에, 해당 페이지 안에 Debugging 하고자 하는 Br.. 2022. 8. 31. CORS(Cross-Origin Resource Sharing) 클라이언트(브라우저)에서는 어떤 방식으로 요청을 하느냐에 따라 각 출처(Same Origin, Cross Origin)에 대해 다른 방식을 가지고 처리하고 있습니다. 그렇다면 여기서 말하는 출처(Origin)란 무엇일까요? 아래와 같은 URL이 있을 때 출처(Origin)에 해당하는 부분은 Protocol+Host+Port 까지 입니다. https://hacksms.tistory.com:443/hello 만약 Protocol, Host, Port까지 동일한 출처(Origin)일 경우 이를 Same Origin이라고 부르며, Protocol, Host, Port 중 하나라도 다른 것이 있다면 이를 Cross Origin이라고 부릅니다. HTML Tag - CORS(Cross-origin resource s.. 2022. 6. 22. CSP(Content-Security-Policy) Bypass CSP(Contnet-Security-Policy)란 CSP(Contnet-Security-Policy)는 웹에서 사용되는 콘텐츠(이미지 태그, 스크립트 등)에 대한 정책으로 XSS와 같은 특정 유형의 공격을 감지하고 완화하는데 도움이 되는 보안 정책 입니다. XSS 공격은 서버에서 받은 콘텐츠를 무조건적으로 신뢰하는 브라우저의 특성을 악용하여 악성 스크립트가 피해자의 브라우저에서 실행되도록 하는 공격입니다. 그런데 CSP를 사용하게 되면 브라우저가 신뢰할 수 있는 출처를 설정할 수 있어 신뢰되는 출처에서 수신받은 스크립트만을 실행하도록 하여 일부 XSS 공격을 방지할 수 있습니다. 또한, 모든 콘텐츠가 HTTPS를 이용하여 로드하도록 지정할 수도 있습니다. 과거에는 CSP로 사용되는 헤더들이 여러 개 .. 2022. 6. 15. 이전 1 2 3 4 5 6 다음