Lab: Exploiting LLM APIs with excessive agency Writeup
·
Writeup
이전 포스팅에서 LLM 취약점과 공격 예시 이론을 다루었다오늘은 LLM API의 취약점을 공격해서 carlos 계정을 삭제하는 실습을 해보겠음  상품 판매하는 쇼핑 웹사이트인데 오른쪽 상단에 있는 Live Chat을 들어간다 챗봇이나 심심이처럼 정해진 답을 하는게 아닌, 실제 AI와 유사하게 답변을 해준다사용자와 인터렉티브한 소통이 가능하니 프롬프트로 공격하면 되겠다 이 랩의 이름에서 LLM API라고 알려주니까 API정보를 먼저 얻어야겠다어떤 API에 액세스가 되어있는지 물어보니까 password_reset, debug_sql, product_info 이렇게 3개의 API를 알려줌  비밀번호 초기화가 아니라 carlos 계정 자체를 삭제해야 하니까 첫 번째 api는 아니고,debug_sql을 더 살펴봐..
Web LLM Attacks 대규모 언어 모델 AI 보안 취약점
·
웹해킹
AI의 급성장과 더불어 LLM 역시 빠지지 않는 주제이다. gpt처럼 전용 소프트웨어로 사용되는 경우도 있지만 다른 서비스 소프트웨어에 임베드되어 사용되는 경우도 많다(Notion, Canva 등). 오늘은 LLM의 API의 작동방식과 취약점에 대해 다뤄보려고 한다. LLM 대규모 언어 모델이란요즘 정말 많은 기업에서 웹 서비스에 LLM을 도입하고 있는데, 나 역시 GPT, Bard, Gemini 등을 사용하기 때문에 이제는 없어서는 안 되는 존재임이 틀림없다. LLM은 머신러닝 기반의 인공지능으로, 방대한 양의 텍스트를 학습해서 언어 구성 요소를 이해한다. 일반적으로 사용자의 인풋, 프롬프트를 통해 인터렉티브한 서비스를 제공하고, 인풋값은 입력 유효성 규칙을 따라 검증을 거치는 게 일반적이다.  LLM..
Lab: JWT authentication bypass via unverified signature Writeup
·
Writeup
JWT는 헤더, 페이로드, 시그니처 이렇게 3가지로 이루어져 있다.이번 랩은 세션을  JWT 기반으로 관리하고, JWT의 시그니처를 검증하지 않는 취약한 서버다세션 토큰을 수정해서 admin 패널을 탈취한 후 carlos 계정을 삭제하는 시나리오다  랩 설명에서 주어진 계정정보 wiener:peter로 로그인을 한다어드민이 아니라 일반 유저 권한이기 때문에 Burpsuite에 들어가서 로그인 파켓을 찾아보자repeater에서 변조하면 될 듯 시작하기 전에 JWT 토큰을 변경하기 위해서는 burpsuite의 확장자인 JWT Editor을 설치하자Extensions 탭에 들어가서 BAPP Store에서 찾을 수 있음  로그인에 해당하는 GET 메서드, /my-account?id=wiener 파켓을 살펴보면쿠..
웹해킹 취약점 실습 환경 Wizmall 도커Docker에서 구축하기
·
웹해킹
최근에 계속 보안 패치가 되는 웹 사이트는 방어대응이 많이 되어있어 공격하기가 쉽지 않음. 그래서 10년 전에 사용됐던 쇼핑몰 CMS를 예시로 취약점 분석을 해보겠음. PHP 언어로 작성되어 있는데 PHP 만의 특이한 취약점이 있어서 실제 블랙박스 모의해킹에도 도움이 된다고 한다. 10년 전에 사용된 웹사이트라서 지금 관점에서 보면 엄청 취약점이 많고 소스코드와 리소스가 다 노출되어 있어서 실습하기 매우 좋은 환경이다   확인되는 취약점이 100개도 넘고 File Download Vulnerability, SQLi, XSS, Open Redirection 등의 흔한 취약점도 많을 뿐만 아니라 PHP에서 발생하는 Type Confusion 취약점도 존재한다  도커 설치 자체는 어려운 점이 없으므로 설명 생..
웹 취약점 체이닝의 개념과 실제 버그 사례
·
웹해킹
XSS 취약점을 발견했다고 치면 단순히 스크립트 실행을 넘어서, 이 취약점으로 어떤 피해를 입힐 수 있는지를 보여주는 것이 좋다. (ex XSS공격의 영향으로 개발용 세션 정보가 실제 운영환경에서도 노출되는 경우)세션 탈취가 어렵다면 open redirect, zero-day 취약점 등으로 시스템에 직접 접근하는 방법도 쓸 수 있겠다 XSS의 주된 목적은 사용자의 세션 탈취이고, HTTP Only 등의 옵션으로 방지 조치 가능 하나의 취약점이 아니라 여러 취약점을 연계해서 파급력을 키우는 것→ 취약점 체이닝  2016년 Uber 우버에서 발견된 실제 취약점 셀프 XSS 공격은 일반적으로 공격자가 사용자를 속여 악성 코드를 브라우저의 DevTools 콘솔에 복사하여 붙여 넣도록 유도하는 것. 피해자 스스로..
[웹해킹] Authentication, Authorization, Input Validation 보안 매커니즘
·
웹해킹
인증 Authentication사용자가 본인이 주장하는 사람이 맞는지 확인하는 신원 증명과정사용자 이름과 패스워드의 조합이나 생체정보 등으로 신원확인 방식이 사용해서 권한을 가진 사용자만 시스템에 접근하도록 함.    세션관리에서 중요한 개념이 쿠키와 세션이 있는데 웹사이트에서 신원확인, 사용자 행동 추적에 사용(쿠키: 웹서버와 브라우저를 통해 사용자의 컴퓨터에 저장되는 텍스트파일로 사용자 식별 기능세션: 서버 측에 저장되는 사용자 정보로 브라우저에 저장되어 서버가 사용자의 세션 데이터 조회)사용자의 중요 정보는 서버에, 세션 아이디만 클라이언트 측에 저장된다면 면에서 쿠키보다 안전하고 우수  인가 Authorization 해당 사용자가 어떤 리소스나 서비스에 접근 권한이 있는지 확인, 작업 범위를 확인..