Hack/Web44 Padding Oracle Attack 개요 Padding Oracle은 복호화 시스템에 암호문을 넣었을 때 복호화 된 문자열에 대한 Padding의 올바름 유무를 검사하는 암호 시스템이라고 볼 수 있습니다. Padding Oracle Attack은 Padding의 올바름 유무를 검사하는 과정을 악용하여 Intermediate Value(IV^Plain Text or Cipher Text[n]^Plain Text)를 획득하고 Cipher Text^termediate을 통해 평문을 알아내는 공격을 의미합니다. Block 암호 방식에서 사용되는 Padding이란? 먼저 해당 공격은 DES, 3DES, AES_CBC 모드와 같은 블록 암호화 기법에서 발견되며(확실치 않음), 각 블록은 일정한 크기를 가지고 있습니다. 즉, 블록의 크기가 8Byte의.. 2021. 9. 3. [KVE-2021-0172,0329,0330] YoungCart 1Day 취약점 분석 (SQL Injection) KVE에 해당하는 취약점은 SQL Injection을 포함하여 여러 취약점으로 구성되어있지만, SQL Injeciotn에 대해서 먼저 분석을 진행하였습니다. 취약점 관련 정보 정보 내용 취약 버전 Young Cart 2021. 4. 19. strtoupper를 이용한 XSS 공격 개요 rubiya님의 해당 게시글에 자세한 개념이 잘 정리되어 있습니다. 여기서는 실제 진단에 어떻게 활용할 수 있을지에 대한 부분만 중점적으로 다루겠습니다. strtoupper() – blog.rubiya.kr 해당 문서는 위의 트윗을 보고 추가적인 연구를 진행해 Theori 내부 세미나에서 발표한 결과물이다.(사장님 허락받고 올린다) (%C4%B1) 는 LATIN SMALL LETTER DOTLESS I를, (%E2%84%AA) KELVIN SIGN을, (%C5%BF) 는 LATI blog.rubiya.kr 실제 취약점 진단에 활용하는 방법 strtolower()와 같이 소문자로 치환해주는 함수의 경우 로 입력해주는 것만으로도 XSS 취약점이 발생하였습니다. 그런데 strtoupper()와 같은 함수.. 2021. 1. 6. [KVE-2020-0164] YoungCart 1Day 취약점 분석 (SQL Injection) 개요 먼저 해당 취약점은 PG(전자지급 결제대행)사에서 데이터를 보냈는지 하드코딩된 IP로 확인하는 과정이 존재하기 때문에 실제 익스플로잇 가능성은 거의 없다고 생각이 됩니다. 취약점 관련 정보 정보 내용 취약 버전 Young Cart 2020. 9. 22. [KVE-2020-0200,0202] YoungCart 1Day 취약점 분석 (Command Injection) 개요 해당 취약점은 unlink 인자로 사용되는 변수를 조작하여 data/dbconfig.php 파일을 삭제한 뒤, 재설치하는 과정에서 Command Injection으로 임의의 명령어를 실행시키는 취약점 인 것 같습니다. (제보자가 어떤식으로 익스플로잇 했을지는 알 수 없기 때문에 ㅎㅎ...) 취약점 관련 정보 정보 내용 취약 버전 Young Cart 2020. 9. 22. [KVE-2020-0656] YoungCart 1Day 취약점 분석 (Command Injection) 개요 KISA 버그 바운티를 진행하면서 항상 찾는 취약점들만 찾게 되는 것 같고, 시야가 좁아지는 느낌이라 취약점 패치 내역을 보고 1Day 취약점 분석을 진행해보려고 합니다. 취약점 관련 정보 정보 내용 취약 버전 Young Cart mf_exec() -> exec() 와 같은 흐름을 따라 exec() 함수의 인자로 사용되었습니다. 위에서 설명한 흐름에 따라 중요한 코드들을 간략히 나열하면 아래와 같습니다. shop/kcp/pp_ax_hub.php $tran_cd = $_POST[ "tran_cd" ]; // 43Line, 처리 종류 if ( $tran_cd != "" ){ // 247Line $c_PayPlus->mf_do_tx( $trace_no, $g_conf_home_dir, $g_conf_si.. 2020. 9. 22. Node js Prototype Pollution 개요 Node JS Prototype Pollution은 Prototype의 특성을 이용하여 다른 객체들의 값을 오염시키는 공격 기법입니다. 객체의 프로토타입은 객체.__proto__를 통하여 참조할 수 있으며, 객체의 프로타입이 변경되면 해당 객체와 같은 프로토타입을 가진 모든 객체들에 변경사항이 적용되게 됩니다. 또한, 객체의 프로토타입은 Object.prototype과 동일하기 때문에 프로토타입의 변조를 통하여 일반적인 객체들의 속성을 제어할 수 있게됩니다. 아래의 예제를 통해 obj 객체의 프로토타입에 polluted 속성을 1로 지정한 결과, obj와 같은 프로토타입을 갖고 있는 obj2에도 polluted 속성이 1로 설정된 것을 확인할 수 있습니다. const obj = {}; console.. 2020. 9. 22. Relative Path Overwrite(RPO) 개요 Relative Path Overwrite는 Browser와 Server가 상대경로를 해석하는 과정의 차이점을 이용한 공격 기법입니다. 해당 취약점에서 가장 중요한 부분은 Browser에서 상대 경로를 해석하여 처리하는 방식입니다. 아래 코드는 styles.css와 script.js를 상대경로를 통하여 불러옵니다. 현재 URL 주소가 https://ethsms.co.kr/rpo/index.php 일 경우 Browser가 styles.css와 script.js의 경로를 다음과 같이 해석합니다. https://ethsms.co.kr/rpo/styles.css https://ethsms.co.kr/rpo/script.js 만약 URL 주소가 https://ethsms.co.kr/rpo/fake/..%2F.. 2020. 9. 22. XS Search Attack (Cross Site Search) 개요 XS Search 공격은 공격자가 포함시킨 스크립트가 클라이언트에서 실행되어 메일 내용, 연락처, 검색 기록과 같은 정보들을 획득할 수 있으며, 스크립트 실행 과정 중 발생하는 동일한 출처 정책(SOP)을 우회 가능한 공격입니다. XS Search 공격에 사용되는 방법들은 Frame Count, Histroy Length 등 여럿 존재하지만, 이번 포스팅에서는 서로 다른 결과가 존재하는 응답간의 시간 차이를 통한 공격과 Frame Count를 통한 SOP 우회 공격을 진행할 것입니다. 분석 아래 그림의 Target Server는 메일 서버이며 검색 결과가 존재하는 경우와 존재하지 않는 경우의 시간 차이가 1초 이상 난다고 가정해본다면, 공격자는 XS Search 공격을 통하여 메일 서버에 존재하는 .. 2020. 9. 22. 이전 1 2 3 4 5 다음