목록전체 글 (44)
HW_chick hacker
CSRF를 공부하면 많은 레퍼런스와 취약점들을 연계해 창의적으로 접근할 수 있는거 같습니다. 이번 취약점은 웹 메서드를 속여 요청을 보내는 방법입니다. 웹 메서드는 PUT, DELETE, TRACE가 허용 되는지 정도만 보긴하는데 WAF에서 메서드 변조 정책을 우회하여 CSRF로 발전시키는 시나리오인데, 꽤 흥미로웠습니다. HTTP 메서드 스푸핑(HTTP Method Spoofing) 이란?HTTP 요청의 메서드(GET, POST, PUT, DELETE 등) 를속여서(server를 속여) 원래 의도하지 않은 방식으로 요청을 처리하게 만드는 공격 또는 행위입니다. 2021년 Ikiesow가 GHSA에 등록해 CVE-2021-43807 을 등록했습니다.이 취약점을 악용하여 공격자는 서버 상태를 변경할 수 ..
CSRF 취약점은 실제로도 너무 생소한 취약점이라 제대로 공부해본적 없는 취약점입니다.그전에는 시스템의 취약한 기능 로직을 script 태그가 삽입된 곳에 사용자가 접속하도록 유도하도록 시나리오를 짜봤지만 PostSwigger Academy에서 CSRF를 제대로 공부하니 XSS와 CSRF는 완전 다른 취약점이라는것을 다시 한번 느끼게 됩니다. CASE 들을 공부해보면서 csrf 토큰이 구현된 기능들이 각각 나타나는 결함들을 확인하고 익스플로잇 코드를 만드는 공부를 했습니다. CSRF 취약점이란?공격자가 피해자(인증된 사용자)의 브라우저를 이용해, 사용자가 의도하지 않은 상태 변경(예: 비밀번호/이메일 변경, 송금, 설정 변경 등)을 대상 웹사이트에 수행하게 만드는 공격입니다. [CSRF 취약점을 위한..
OWASP Top 10의 A03번 항목인 Injection에 해당하는 취약점을 Graphql Injection을 공부했습니다.SQL 인젝션으로 데이터베이스를 추출하는 취약점이 대부분이나 많은 웹들은 다양하게 데이터베이스를 호출하는 방식을 사용하는데 graphql api로 호출해 웹사이트에 로그인, 게시판, 그 외 데이터들을 불러오는 방식도 존재했습니다. Graphql Injection 이란?GraphQL을 사용하는 API에서 발생하는 보안 취약점 공격 기법입니다. 이는 공격자가 악의적으로 조작된 GraphQL 쿼리를 전송하여, 의도치 않은 데이터를 탈취하거나 서버에 과부하를 일으키거나, 백엔드 시스템의 민감한 정보에 접근하는 것을 목표로 합니다. 해당 쿼리문은 사용자에 대한 데이터만 반환해야 하며..
OLD-03 문제를 풀어보면 X축과 Y축의 숫자가 블록을 채워 1,0 값으로 정답을 제출하면 다음 페이지로 넘어가는 형태이다. “test” 값 을 입력 시 “name”에는 붙게 되며 제출한 “answer” 에 정답이 들어감. 해당 페이지의 정보를 확인해보기 위해 소스코드를 확인해 보면 input의 type이 hidden으로 설정된 answer가 위에서 확인한 2진수 처럼 생긴 자동으로 들어가 있던 값을 가지고 있는 것을 확인할 수 있다. 그리고 우리가 입력하는 값은 text type으로 id라는 곳에 전달된다.그럼 여기서 answer의 value값을 변경한 뒤 전송하게 되면 어떤 결과가 발생하는지 확인해 보았다. "answer" 값에 SQL 쿼리를 삽입하여 무조건 참이 되도록 만들었다. 입력값에 아무 ..
old-02 문제이다. 딱히 소스코드를 주는게 없어서 html 코드를 분석해본다. Step 1) html 코드 분석해당 주석에는 admin.php가 존재한다고 힌트를 주고 있다. admin.php 페이지에 접근하면 패스워드를 입력하는 페이지가 존재한다.패스워드를 입력해야 풀릴 거 같다. Step 2) 취약점 포인트 확인취약점 포인트를 확인하기 위해 특이한 부분을 먼저 인지를 해야한다. 특히 쿠키값에서 "time" 값이 존재한데 해당 값은 날짜를 정수형으로 보여주는 거 같다.특히 주의 깊게 볼점은 "time" 값을 html 코드 내 주석 부분에 반영해서 보여준다는 점이다. 찾는데 오래 걸리기는 했지만 주석에 정보를 보여주는 것은 DB와의 연관이 있을 수도 있다는 판단으로 sql 쿼리를 삽입하 1 이라는 ..
webhacking.kr 문제 old-01 문제이다.해당 소스코드를 분석해서 푸는 문제인거 같다. 쿠키값에 대한 백엔드 코드를 보여주는 거 같아 소스코드 해석만으로도 풀 수 있는 문제이다. Step 1) 소스코드 분석"); }?>- user_lv 쿠키가 없으면 → "1"로 설정됨 =4) $_COOKIE['user_lv']=1; # user_lv > 3일 때 동작. if($_COOKIE['user_lv']>3) solve(1); echo "level : {$_COOKIE['user_lv']}";?>- user_lv 값이 3 초과, 4 미만 값이어야 해결이 된다. (3 Step 2) 쿠키값 변조현재 페이지의 user_lv 값은 "1"로 설정이 되어 있고 PHP 코드에서 user_lv 값이 "3 ..
✅ FridaFrida는 Ole에서 개발한 Dynamic Binary Instrumentation(DBI) 프레임워크로, 애플리케이션을 동적으로 분석할 수 있게 도와주는 도구이다. ✅ 아나콘다 설치아나콘다 설치https://www.anaconda.com/download/success Download Success | AnacondaDownload Now Download Anaconda Distribution or Miniconda by choosing the proper installer for your machine. Learn the difference from our Documentation. Distribution Installers Download Download for Mac Download ..
✅ Android Debug Bridge (ADB) 명령어Android Debug Bridge (ADB)는 안드로이드 기기에 패키지를 설치하거나 셸에 접근하는 등 디버그와 관련된 기능을 수행할 수 있는 툴이다. 명령어설명adb devices [-l]연결된 기기 목록을 출력-l 옵션을 함께 사용할 시 기기의 상세 정보 출력adb shell연결된 기기의 셸에 접속adb push [local] [remote]로컬에 존재하는 파일을 기기 내 경로에 업로드adb pull [remote] [local]기기 내에 존재하는 파일을 로컬로 다운로드adb logcat기기의 logcat 내용을 확인adb install [file]패키지 이름에 해당하는 앱을 설치 ✅ Android Debug Bridge (ADB) 환경 구..