본문 바로가기

Hack128

Cross Site Request Forgery(CSRF) payload XSS가 발생하는 환경에서 CSRF 보호 기법(csrf token)이 적용되어 있지 않으면 당연히 CSRF를 확인해야 합니다. CSRF Payload by multipart/form-data CSRF Paylod by json 요새는 많은 서버에서 Content-type을 applicaiton/json으로 보내는데, 이런 경우 가장 기본중의 기본인 form tag를 이용하여 CSRF를 확인하기는 어렵습니다. 이런 경우 XMLHttpRequest()를 이용하여 CSRF를 확인하면 쉽게 확인할 수 있습니다. var xhr = new XMLHttpRequest(); var url = "/admin/pwd_chg.do"; xhr.open("POST", url, true); xhr.setRequestHeader(.. 2022. 5. 6.
[Chrome] 시크릿 모드에서 확장 플러그인 사용 방법 크롬에서 시크릿 모드를 실행할 경우 아래 사진과 같이 확장 플러그인이 빠진 채로 켜지게 됩니다. 시크릿 모드 실행 시 확장 플러그인을 포함시키기 위해 먼저 "설정 > 도구 더보기 > 확장 프로그램"을 클릭합니다. 시크릿 모드 실행 시 포함시킬 확장 프로그램의 "세부정보" 버튼을 클릭합니다. 설정 화면에서 "시크릿 모드에서 허용"을 활성화 합니다. 기능 활성화 후 시크릿 모드를 키게 되면 확장 프로그램이 포함되어 있는 것을 확인할 수 있습니다. 2022. 4. 26.
[iOS] Frida에서 Fat Binary File Offset 잡기 먼저 Fat Binary란 하나의 실행 파일이 여러 아키텍처에서 적용될 수 있도록 구성된 파일이며, 아래의 그림과 같이 Fat Binary는 Fat Header와 Fat Architecture로 구성되어 있습니다. 각각의 Architecture는 각각의 실행 코드를 가르키고 있으며, OS에서 로드 시 해당 Architecture에 맞는 Mach-O Format이 로딩됩니다. IDA에서 Fat Binary인 IPA를 실행할 경우 아래 그림과 같이 어떤 Architecture를 이용할 것인지 묻는 알림 창이 뜹니다. 현재 실행되고 있는 Architecture를 클릭한 뒤, 분석이 마무리될 때까지 기다립니다. (여기선 ARM64) 아이폰에서 Frida를 이용하여 Hooking을 하기 위해서는 Offset을 구.. 2022. 4. 24.
Server Side Template Injection (SSTI) Web Template Engine이란? Web Template Engine이란 웹 템플릿과 웹 컨텐츠 정보를 처리하기 위해 설계된 소프트웨어로 웹 문서가 출력되는 템플릿 엔진을 의미합니다. 또한, Web Template Engine은 View Code(HTML)와 Data Logic Code(DB Connection)를 분리해주는 기능을 합니다. Server Side Template Injection(SSTI) Server Side Template Injection(이하 SSTI)은 공격자가 서버에서 사용 중인 Template 구문으로 페이로드를 구성하여 입력함으로써 Template 구문이 서버에서 해석되어 실행되도록 하는 공격입니다. Template 구문은 Teplate Engine마다 다른 형태를 .. 2022. 4. 12.
Log4Shell (Log4j 0day RCE, CVE-2021-44228) Spring4Shell 관련 내용을 정리하다보니 Log4Shell 취약점에 대해서 정리한 내용이 없다는 걸 깨닫고 작성을 하게 되었습니다. 이제는 별로 관심을 받지 못하던 취약점이지만, 또 분석을 안할 수 없지 않겠습니까! Log4j는 Apahce 재단의 무료 오픈소스 프로그램으로 자바 기반의 모든 애플리케이션에서 사용 가능하며 윈도우 환경에서도 활용되는 등 전 세계적으로 매우 폭 넓게 사용되고 있습니다. 특히 Log4j는 Apache Struts, Spring 등 각종 웹 프레임워크에서 로그 기록을 위해 사용하는 경우가 많았으며, Adobe 및 VMWARE 등 글로벌 기업에서 개발한 다수의 소프트웨어도 영향을 받는다고 알려졌습니다. 해당 취약점의 경우 알리바바社에서 11월 24일 최초로 발견 후 Apa.. 2022. 4. 1.
Spring4Shell (Spring Core Java 0day RCE) Spring은 Java 애플리케이션을 빠르고 쉽게 개발할 수 있는 인기있는 애플리케이션 프레임워크로 Apache Tomcat과 같은 서버에서 독립 실행형 패키지(모든 종속성 포함)로 배포할 수 있습니다. 해당 취약점의 경우 QQ 채팅 서비스와 중국 사이버 보안 사이트에서 유포되었으며, 해당 제로데이에 대한 익스플로잇은 잠시후 제거되었지만 이미 많은 사람들이 다운로드를 받은 후 였습니다. 그 이후로 수많은 사이버 보안 전문가들이 해당 취약점이 유효하고 심각한 문제임을 확인했습니다. 현재 Spring4Shell이라고 불리는 이 취약점은 전달된 인수의 안전하지 않은 역직렬화로 인해 발생한다고 합니다. 처음에는 Java9 이상에서 실행되는 모든 Spring 앱에 영향을 미치는 것으로 판단되었지만, 충족되어야 하.. 2022. 4. 1.
[iOS] frida-ios-dump for Windows dump.py code for Windows 1. Use 7z (must include 7z.exe and 7z.dll in directory) # zip_args = ('zip', '-qr', os.path.join(os.getcwd(), ipa_filename), target_dir) zip_args = (os.getcwd() + '\\7z.exe', 'a', '-r', os.path.join(os.getcwd(), ipa_filename), target_dir) 2. Change chmod command import stat chmod_dir = os.path.join(PAYLOAD_PATH, os.path.basename(dump_path)) # chmod_args = ('chmod', '655'.. 2022. 3. 17.
Android Snapshot 위치 그동안 백그라운드 화면 보호 항목은 iOS에서만 점검 가능하다고 생각했는데 Android에서도 Snapshot 폴더가 존재했다. 내다버린 시간 Android SnapShot 위치 data/system_ce/0/snapshots 조치 방안 조치 방안은 화면 캡처 방지와 동일하게 setFlags 메소드를 이용하여 FLAG_SECURE를 설정해주면 된다. (고로 화면 캡처 보호 항목만 확인하면 될 듯) getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE); 2022. 3. 8.
Android 7 이상 Burp 인증서 설치 방법 Burp의 경우 기본적으로 20년 이상의 만료 기간을 가지고 있지만, Android 7부터는 최장 만료 기간이 39개월로 설정되면서 39개월보다 짧은 인증서를 임의로 생성해야 합니다. 임의의 사용자 인증서 생성 1. 360일 만료기간 및 RSA 암호화 알고리즘을 이용하여 server.key 개인키를 생성합니다. openssl req -x509 -days 360 -nodes -newkey rsa:2048 -outform der -keyout server.key -out ca.der 2. 개인키를 DER 파일로 변환합니다. openssl rsa -in server.key -inform pem -out server.key.der -outform der 3. server.ky.der 파일을 pkcs8 포맷으로 .. 2022. 2. 7.