전체 글 105

SSRFrog (Webhacking)

[CTF 사이트 닫힘] 문제를 보면 링크가 제공된다. 링크로 들어가면 위와 같이 페이지가 나오고, 소스를 확인해준다. 1) FLAG is on this server: http://the.c0o0o0l-fl444g.server.internal:80을 통해 FLAG가 어디에 위치하는지 확인하였다. 2) 위와 같은 소스 코드를 제공받았다. 3) const { url } = req.query; : req.query(쿼리 문자열 매개 변수에 대한 속성이 포함 된 개체다.)을 통해 “url” 쿼리 문자열 매개 변수를 찾고 있음 4) if (url.length !== new Set(url).size) return res.sendFile(__dirname + "/frog.png"); : : 문자열이어야 하고 중복 문자..

ヽ (#`Д´) ノ(web)

[CTF 사이트 닫힘] 페이지를 열면 간단한 php 페이지의 정보를 볼 수 있다. 3가지 조건이 나와있다. 1) 입력하는 값의 길이는 10보다 작아야 한다. 2) 입력하는 값에 a~z, 0~9의 값이 없어야 한다. 3) eval()을 실행하기 전에 print_r를 통해 print해줘야 한다. 1), 2) 번 조건을 우회하기 위해 문자열을 배열로 만들어준다. 그러면 print 대신 print_r로 출력이 돼서 배열은 eval()함수에서 검사를 할 수 있게 된다. 여기서 print_r()은 배열을 편하게 읽을 수 있게 정보를 출력해주는 함수이고, 디버깅 할 때 편리하다. 이렇게 배열을 통해 우회를 해주면 ‘system()’을 사용할 수 있게 된다. 그러면 ‘ls’을 통해 모든 디렉토리를 볼 수 있다. 여기 ..

Harmony Chat(Webhacking)

화면에 나와있는 내용과 같이 /register vie로 접속하였더니 UID가 나왔다. 로그인하기 위해서 /login (UID)를 해주었더니 로그인이 되었다. vie라는 채널을 만들고 Hello와 Hi를 입력하니까 채팅창에 나타났다. 위에 나와있는 Logs(HTTP) 버튼을 누르니까 내가 쳤던 채팅의 로그가 기록된 페이지가 떴다. 이 다음에 npm라이브러리를 사용해서 코드를 확인하고 수정해야 한다. csp-report를 자세히 살펴 보니 애플리케이션의 npm라이브러리 javascript-serializer를 사용해서 보안에 취약한 역직렬화가 가능하다는 것을 알 수 있다고 한다. 이 직렬화 구문을 분석함을 통해 RCE를 달성할 수 있는 방법을 찾을 수 있었다. 여기서 RCE는 조작된 웹페이지나 이미지 파일을..

windowproject.exe - 동적분석

동적분석 : 소프트웨어가 실행 중인 환경 하, 다양한 입/출력 데이터, 사용자 상호작용의 변화들을 점검 1. Process Monitor 1) Process Monitor - windowproject.exe 필터 2) windowproject.exe 파일을 실행 - PID 값 3828 확인 3) RegOpenKey, RegQueryValue, RegCloseKey 등 같은 Operation 반복 4) Operation 중 UDP Receive, UDP Unknown 중요 4-1) 첫 번째 UDP Unknown : ‘114.70.37:10004’에 무언가를 send, UDP Receive를 통해 다시 무언가 recieve 4-2) 두 번째 UDP Unknown : 첫 번째 UDP Unknown을 참고하여 ..