본문 바로가기

전체 글317

[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.
Linux Error 해결 방법 Error 해결 방법 1. apt, apt-get를 이용한 설치 관련 에러 E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? 해결 방법 # killall apt apt-get # rm /var/lib/apt/lists/lock # rm /var/cache/apt/archives/lock # rm /var/lib/dpkg/lock* # dpkg --configure -a 2. vmware tools cl.. 2020. 9. 22.
[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.
MobileSecurity App Challenge 정답 개요 이 전 포스팅에서, 공개했던 Frida Hooking 용 Android App인 'MobileSecurity' 문제 정답 입니다. 해당 앱에 대한 자세한 내용이 궁금하신 분들은 아래의 링크에서 확인하시길 바랍니다. MobileSecurity App으로 Frida 관련 문제 풀어보기 개요 Android 앱에서 Frida를 통하여 우회할 수 있는 기본적인 내용들을 정리해보고, Frida를 처음 접한 사람들을 위해 발판을 마련하고자 MobileSecurirty App을 만들게 되었습니다. 해당 앱은 총 5개의 문 hacksms.tistory.com 정답 각 문제들을 우회 가능한 Frida Code가 포함되어 있습니다. 문제를 푸시기 전에 정답을 보지 않는 것을 권해드립니다. 물론, setOutput 함수.. 2020. 9. 22.