전체 글 26

[PostgreSQL] 패스워드 정책 설정 by. credcheck

1. 패스워드 정책 설정  지난 시간에 이어서, Credcheck 환경 셋팅이 완료되었으면 이제 패스워드 복잡도 정책을 설정해 보겠다. 주로 데이터베이스 계정 패스워드 관련으로 확인하는 부분은 복잡성, 재사용 방지, 비밀번호 변경 주기 등이 있다. check 설정 설명 password_min_length8 패스워드 최소 길이 password_min_special 1패스워드 최소 포함 특수문자 password_min_digit 1패스워드 최소 포함 숫자 password_contain_username on패스워드에 사용자 이름 미 포함 password_valid_max 90일패스워드 만료일password_reuse_history 3개(이전 3개의 비밀번호는 사용 불가) 패스워드 재사용 불가능한 비밀번호 개수..

Infra/Postgresql 2024.01.29

[PostgreSQL] Credcheck 라이브러리 설치

데이터베이스 취약점 점검 시 계정관리 항목 쪽에서 Postgresql의 경우 일부 패스워드 정책에 대한 설정 기능을 제공하지 않는 것을 알 수 있는데, 이는 별도의 확장 프로그램을 사용하면 해결할 수 있다. passwordpolicy 프로그램도 있지만, 그보다는 credcheck를 사용하면 계정 패스워드에 대한 복잡도 뿐만 아니라 reuse(재사용), max_days(만료일) 등을 설정할 수 있어서 해당 플러그인을 사용할 수 있다면 효율적으로 사용이 가능할 것 같다. 실습 환경 : (OS) oracle linux 8 / (DB) postgresql 15.5 ※ redhat linux 8 부터는 패치지 관리도구로 dnf를 기본 패키지로 제공하고 있다. 기존 패키지 관리자인 yum의 단점인 느린 속도, 과한..

Infra/Postgresql 2023.11.26

Response 풀이

문제의 제목은 'Response'이다. 그리고 문제의 부제로는 response를 아냐고 묻고 있다. 문제의 링크로 이동하면 a태그를 이용하여 get_flag라는 이름의 하이퍼링크가 걸려있다. 링크의 주소는 /flag로 get_flag를 클릭하면 아래의 /flag 페이지로 이동하게 된다. /flag 페이지로 이동하게 되면 Here you are이 보이는데 아마도, 문제 페이지에서 get_flag를 누르면 /flag 페이지를 요청하게 되고, 요청에 대한 응답으로 flag를 주는 것 같다. 따라서 우리는 문제에서 요구한 대로 응답값을 확인해야 한다. burp 로 확인해도 되고, wireshark로도 확인할 수 있다. (추가로, 개발자 도구로 확인 할 수 있다.) 본인이 편한 방법을 이용하자. 1. Wiresh..

Write-up/SECGAME 2023.05.19

fridalab-challenge 04

chall04 문제는 chall04() 메소드에 frida를 보내면 된다. 2. 소스코드 분석 chall04는 chall04() 메소드에 str 문자를 받는데 그 문자열이 "frida"와 동일(equals)하면 되는 문제이다. 3. 문제풀이 setImmediate (function() { Java.perform (function() { console.log("[*] shart chll04"); var result; Java.choose("uk.rossmarks.fridalab.MainActivity", { onMatch : function(instance) { result = instance; result.chall04("frida"); }, onComplete : function() { } }); co..

Write-up/FridaLab 2023.04.02

fridalab-challenge 03

chall03 문제는 chall03() 메소드가 true를 반환하도록 만들면 된다. 2. 소스코드 분석 chall03() 메소드는 false를 반환하고 있으므로, 문제를 풀기 위해서는 true로 반환하도록 수정해야한다. static 함수가 아니기 때문에 java.choose를 사용해야 하는데, 반환 값만 변경하면 되기도 하고, chall03() 메서드를 MainActivity에서 호출하므로 java.use 사용이 가능하다. 3-1. 문제풀이(1) - java.choose setImmediate(function() { Java.perform(function() { console.log("[*] chall03 start"); var result; Java.choose("uk.rossmarks.fridalab..

Write-up/FridaLab 2023.04.02

fridalab-challenge 02

chall02 문제는 chall02() 메소드를 실행시키면 된다. 2. 소스코드 분석 먼저, MainActivity를 살펴보면 AppCompactActivity의 필드를 MainActivity class가 상속 받고, Int형태의 CompleteArr 배열을 생성하고 있다. chall02() 메소드를 실행시켜야하며, static으로 정의 되어 있지 않기 때문에 instance 변수라는 것을 확인해야 한다. 더불어 접근지정자가 public이었던 chall01과는 다르게 private로 지정되어있다. private의 경우 외부에서 접근이 불가능 하고 클래스 내부에서만 접근할 수 있다. chall01에서 함수와 변수값을 바꿀 수 있었던 것도 그 함수와 변수에 접근 즉, java.use를 이용해 그 getCha..

Write-up/FridaLab 2023.04.02

fridalab-challenge 01

해당 문제의 경우, 클래스 challenge_01의 변수’chall01’을 ‘1’로 변경해야한다. 1. 소스 코드 분석 소스 코드를 한 줄 단위로 살펴보면 다음과 같다. public class Challenge_01 { //'Challenge_01' 이라는 클래스 생성 static int chall01; //int(정수형)의 static(정적)변수 'chall01' 선언 // call01은 클래스 변수이다. public static int getChall01Int() { //static(정적) getChall01Int 메소드 생성 return chall01; //chall01를 반환 } } .value 를 통해 chall01() 메소드를 직접 변경을 하거나 .implementation으로 함수를 재작성하..

Write-up/FridaLab 2023.02.17

[2021 INCOGNITO CTF Write-up] question

2021년 INCOGNITO CTF Forensic부분의 question 문제이다. 우선, 문제를 살펴보면 question.jpg라는 그림파일 하나를 다운 받을 수 있다. 다운받은 그림을 보면 파일 형식을 지원하지 않는다고 한다. 그러면 HxD에 이 파일을 넣어 보았다. 파일 시그니처가 PK 압축파일로 되어있었다. jpg파일이 아니기 때문에 파일 형식을 지원하지 않는 것이었다. 그러면 제대로 이 파일을 .zip으로 압축파일 확장자 명으로 바꿔서 다시 저장하고 압축을 풀어 보았다. 풀어진 압축 파일을 보면 XML문서도 있고, 다양한 폴더들이 있는데 이 폴더들을 하나 씩 살펴보면 word라는 파일의 media 부분에서 image1이라는 그림 파일을 하나 찾을 수 있다. Is this really a jpg ..

Write-up/INCOGNITO 2021.08.30

[2021 INCOGNITO CTF Write-up] TwinCle

2021년 인코그니토 CTF Forensic의 TwinCle 문제이다. 문제를 보면 .jpg로 되어 있는 그림 파일을 다운로드 받을 수 있다. 파일을 다운 받아서 열어보면 정말 반짝반짝이는 그림을 볼 수 있다. 먼저, HxD를 켜서 사진을 넣어 보았다. 그냥, 뭔가 이런 그림을 보면 자동적으로 HxD에 넣어서 확인부터 한다. 천천히 살펴보니 마지막 부분에 PK라는 압축 파일 시그니처를 확인할 수 있다. 그리고 Hidden_cloud.jpg라는 그림 파일이 있는 것으로 봐서는 숨겨진 사진이 하나 더 있는 것 같다. 파일 시그니처를 따라 .zip 확장자로 다른 이름으로 저장해 주고 확인해 보았다. 역시, 압축파일 안에 Hidden_Cloud.jpg 라는 파일이 있다! 압축된 파일을 풀어 사진을 확인해 보자...

Write-up/INCOGNITO 2021.08.30

[23회 HackingCamp CTF Write-up] world-wide-web

다시 공부해야 할 문제이다. Web의 world Wide Web 문제이다. flag 경로는 /tmp/flag에 있다고 한다. 이걸 체크하고 링크 되어 있는 페이지로 이동한다. 광복절이라서 광복절 태극기가 배경으로 되어있는 World-Wide-Web 페이지로 이동할 수 있다. ctrl+u 를 눌러서 소스코드를 확인 했더니, img src 옆에 /phpMyAdmin이라는 경로가 있었다. 경로를 들어가 보면 phpMyAdmin 로그인 페이지가 뜨게 된다. 여기도 ctrl+u를 이용해서 소스코드를 살펴보면 아주 친절하게 hidden으로 되어있는 사용자명과 암호를 확인할 수 있다. 사용자명: wwwweb 암호: wwwweb!@# 로그인을 하고 들어가면 요렇게 phpMyAdmin의 메인페이지가 뜨게 된다. 사실 나..