• docs

    Redis SSRF

    redis는 인메모리 캐시 서버로 데이터를 메모리에 보관하기에 상당한 성능을 보입니다. 기본 설정에서 6379번 포트를 사용하고, 수신된 명령어를 라인 단위로 수행합니다. redis는 http 프로토콜을 지원하고 있지 않으므로 gopher 등을 이용하여 ssrf를 유발해야 합니다. 예외적으로 request method 를 자유롭게 수정 가능하거나 첫 라인에 CRLF Injection이 가능한 경우 http 요청을 통해서도 발생할 수도 있습니다. redis 버전에 따라 http request 의 첫 라인과 같이…

  • docs

    XSS CheatSheet

    본 문서는 지속적으로 업데이트됩니다. Basic Advanced Uncommon Tags Sandbox XSS Delimiters Obfuscation Operator Unicode / UTF-8 No Quote No Parentheses No Quote and Parentheses Bypass Uppercase / Lowercase Bypass Replace Bypass Chrome Auditor Script in XML Whitelist Iframe Make Redirection Cookie Hijacking Data Wrapper Variable Make DOM XSS DOM Object Finding Set-Cookie Obfuscate IP Address Escalate XSS Bypass History A…

  • docs

    Quine SQL Injection

    Quine SQL 이란 Quine 은 소스코드를 그대로 출력으로 반환하는 프로그램을 의미하는데위의 파이썬 소스코드를 참고하면 어떤 의미인지 쉽게 이해할 수 있을 것이다.이는 대부분의 언어로 작성되어 위키백과에 등재되어 있다. Quine SQL Query 마찬가지로 SQL 언어를 사용해 작성한 Quine 쿼리도 존재하는데, 위가 그 예이다. 여기서 필요없는 부분을 잘라내면 위와 같다. 이런 특성을 이용하여 SQL 인젝션에 응용할 수 있는데사용자 입력과 쿼리 결과값이 같은지 확인하는…

  • docs

    Jsonp Injection Attack

    CORS(Cross Origin Resource) HTTP 통신시에, 처음 전송되는 리소스와 다른 도메인으로부터 리소스가 요청될 경우 해당 요청을 Cross-origin HTTP Request 라고 부른다.보안 상의 이유로 대부분의 브라우저들은 이러한 통신을 제한하고 있는데자바스크립트의 XMLHttpRequest 객체로 통신할 때에 사이트 외의 도메인에 요청을 보낼 수 없는 것 또한 이런 이유에서다.CORS는 Jsonp, document.cookie 값 설정, 브라우저 특수 옵션(크롬의 –disable-web-security 옵션 등) 와 같은 방법으로일부 극복이 가능하지만 보안 취약점을…

  • docs

    JWT None Type Injection Attack

    JSON Web Token(RFC 7519)은 JSON 문서에 클레임을 인코딩한 후 서명하는 방법이다. JWT란 JWT 는 웹사이트 사용자 인증에서 종종 쓰이는데, 쿠키에 주로 포함되어 쓰인다.base64로 인코딩되어 온점 2개로 구분되는 header.payload.signature 의 구조를 띈다. https://jwt.io/ 에서 JWT를 간편하게 복호화해 볼 수 있다. Header는 Type와 Algorithm 두 요소를 가지며, alg는 JWT의 세번째 부분인 Signature의 해싱 알고리즘을 지정할 수 있다. Payload는 토큰의 실제 정보가 들어있다.인증에…