Security
[FTZ 정복기] level2
[FTZ 정복기] level2
2020.08.07어어어어ㅓ어어 이거 어디서 풀어본거 같은데!!!!! 어떻게 하드라 일단 level3 권한의 setuid가 걸린 파일을 찾아보자. 이는 level1에서 했던 방식과 똑같다. 나 왔 다 열어볼까요~? 호오 진짜 에디터구나..? 여기서 !는 VI Editor에서 외부의 쉘을 실행시켜주는 명령어입니다. level3의 권한으로 bash를 실행시킨다..허우허우 마무리는 역시!? my-pass~~ Level3 Password is "can you fly?".
[FTZ 정복기] level1
[FTZ 정복기] level1
2020.08.07FTZ 정복기 시작한다.. 조건에 성립하는 파일을 찾으면 되는 문제다. 주어진 조건은 level2가 권한을 가지고 있으며(user 옵션) setuid가 걸려있는 파일이라는 것이다. 여기서 setuid는 리눅스의 특수 권한중 하나로, setuid가 걸려있는 프로그램을 실행시 특정 작업 수행을 위해 일시적으로 파일 소유자의 권한을 갖고온다. 즉 우리가 찾는 프로그램을 실행시키면 일시적으로 level2의 권한을 갖고오는 것이다. SETUID에 대해 조금 더 자세히 알고싶다면!? => https://leeggoggal.tistory.com/10 조건을 줘가면서 파일을 찾을 수 있는 명령어가 리눅스에 find 라고 있다! 우선 -user 옵션을 통해서 소유주가 level2라는 것을 명시하자. 그리고 위 사진에서 ..
Suninatas Web 4번
Suninatas Web 4번
2020.08.06이 문제를 풀기 위해서는 UserAgent의 개념을 알아야 할 필요가 있다. User-Agent란 뭐,,, 구글링으로 공부한 바로는 서버에 사용자의 정보? 사용자의 운영체제, 웹 브라우저의 버전 등의 정보를 넘길 때 사용하는 것이다! 위 캡처를 보면, 나는 매킨토시 환경에, Mac OS X 10.15 버전의 운영체제를 사용하고 있고, Firefox 79.0 버전의 웹 브라우저를 사용하고 있다. 이 정보는 위와 같이 서버 방문자의 정보를 알 수 있게 해주는 착한 친구로 보인다. 그럼 문제로 넘어가보자 http://suninatas.com/challenge/web04/ User-Agent, 즉 내 웹브라우저 정보가 적혀있다. 서버에 전송되는 User-agent 데이터 그대로일 것이다. Plus 버튼을 누르면..
[드림핵 Dream hack] rev-basic-2
[드림핵 Dream hack] rev-basic-2
2020.08.06이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
Suninatas Web 3번
Suninatas Web 3번
2020.08.05그냥 뭣도 없이 Notice Board에 글을 쓰란다. Notice Board가 뭔가~ 하고 살펴보니! Notice 게시판에 글을 쓸 수 있는 방법이 없다... 흐으으으으으ㅡㅁ 사이트를 좀 더 둘러보자 Free Board에 글을 작성하는 버튼을 눌러보쟈 흠 주소가 정말 간단하다. 저기 free를 notice로 바꾼다면...? 뚜둥!!!!! 됐다씨 글 작성 ㄱㄱ 후우우우우우ㅜ웅
Suninatas Web 2번
Suninatas Web 2번
2020.08.05로그인에 성공하면 되는 문제로 보인다.. 소스코드를 봐보자 Join 버튼을 누르면 chk_form()이라는 자바스크립트 함수가 실행된다. id로 입력한 값과 password로 입력한 값이 같다면 다시 시도하라는 문구가 출력되고 초기화된다. 근데 같지 않다면 제출이 됨을 확인할 수 있다. 제출이라,,, 서로 다른 값을 입력해보자 흠 똑같이 초기화된다. 뭘 원하는거지 힌트에서는 id와 pw가 같다고 한다. 그럼 웹브라우저에서는 다른 값을 주고 서버에는 같은 값을 직접 주면 된다. 이를 위한 초절정 간지툴 버프수트를 키자 모든 준비 완료,,,여기서 왼쪽 브라우저에 다른 값을 넣고 Join을 누르고 오른쪽 BurpSuite에서 그 전송을 캐치해서 값을 바꾸고 다시 보내줄 것이다! 해보쟈 id와 pw에 각각 12..
Suninatas WEB 1번
Suninatas WEB 1번
2020.08.05사용자의 입력값이 위의 변환과정을 거쳐 "admin"이 되면 된다. a -> aad i -> in 2번째 문자부터 2개의 문자를 불러왔을때 이것이 admin의 ad가 되어야 하기에 result의 2,3번째 문자는 ad다. 근데 ad가 생기기 위해서는 str의 첫번째 문자가 a여야 가능한 결과다. 즉 str은 a로 시작하고 result는 aad로 시작한다. 4번째 문자로부터 6개를 불러오는데 이것이 admin의 min을 담당해야 한다. 그렇다면! str의 2,3번째 문자는 m,i였을 것이다. 그래야 m은 변환되지 않고 i 만 in으로 변하여 admin을 완성시킨다. 즉 str은 ami다! ami를 입력하고 Check를 누르면 Authkey가 뜬다. 사이에 오는 코드인걸로 보아 JSP로 보이는데, Mid함수..
[2주차 과제] 자신의 사이트 취약점 분석 및 정리하기!
[2주차 과제] 자신의 사이트 취약점 분석 및 정리하기!
2020.08.05게시판 구현 후 각 기능마다 취약점 분석 취약점 점검 결과 조치 상황 취약한 부분 Stored XSS 위험! htmlspecialchars 함수 사용해서 다 막았음 기존의 read.php나 myinfo.php, index.php, board.php 등에서 사용자가 입력한 데이터를 아무 필터링 없이 그대로 출력했었음. 물론 XSS 공격도 그대로 먹힘. Reflected XSS 해당 없음! 발생할 부분이 X 사용자의 입력값은 모두 DB에 저장되는 방식이기에 Reflected XSS가 발생할 부분은 없습니당. SQL Injection 위험! 이건,,,X Mysql에서 데이터를 가져오는 페이지는 모두 취약할 것으로 보입니다. SQL Injection 예시를 보고 따라서 진행해본 결과 SQL 테이블의 컬럼 개수,..
스터디 1주차~[미완]
스터디 1주차~[미완]
2020.07.12드림핵 Reverse Engineering 강좌 수강하고~ 워게임 3개를 풀어볼려고 합니다! 1) 강좌 정리 https://dreamhack.io/lecture/curriculums/3 Reverse Engineering Reverse Engineering 커리큘럼에서는 Windows OS 환경과 Intel x86-64 아키텍처를 기준으로 하여 어셈블리 기초부터 복잡한 바이너리에 대한 접근법까지 폭넓게 다룹니다. x86-64 어셈블리와 익숙해질 수 있�� dreamhack.io 리버스 엔지니어링 리버싱이라고 흔히들 불리는 리버스 엔지니어링은 이미 만들어진 시스템이나 장치에 대한 해체나 분석을 거쳐 대상의 구조와 기능 등을 알아내는 과정을 말합니다. 완성품을 보고 설계도를 짐작해보는 느낌..? 그 중 소프..
1주차 계획
1주차 계획
2020.07.127월 14일부터 SUA 리버싱 스터디가 시작된다 후하후ㅏㅎ 팀원분들과 스터디 진행방향에 대해 얘기를 나눠본 결과 한 주에 풀 워게임을 정하고 한 주동안 그 문제를 풀어 각자의 블로그에 write-up을 작성하고, 이를 화요일에 서로 검토한 후 피드백을 주는 방식으로 진행하기로 했다! 꼴에 스터디에서 리더를 맡았기 때문에,,, 다음주 화요일에 팀원분들께 보내드릴 공지를 작성해보자 일단 전달해드릴건 화요일부터 풀어야할 워게임, 강의나 교육자료 등을 드리면 괜찮을거 같다. 같이 처음부터 배우는 입장에서 보니 뭐가 더 초급자에게 이해가 잘 될까를 중점으로 본거 같다. 수강할 강의는 https://dreamhack.io/lecture/curriculums/3 Reverse Engineering Reverse En..
후하 시작✌️
후하 시작✌️
2020.07.07후하후하 시작해보장 SUA에서 제공하는 추천 커리큘럼이다. 이대로 진행할지, 아니면 조원들끼리 상의해서 다른 커리를 짜서 진행할지는 얘기를 나눠봐야 할거같다. lena reversing 문제가 올라오는 사이트로 추정,, https://tuts4you.com/ Tuts 4 You tuts4you.com http://reversing.kr/ Reversing.Kr This site tests your ability to Cracking & Reverse Code Engineering. Now Challenge a problem for each environment. (Windows, Linux, .Net, Flash, Java, Python, Mobile..) Admin E-Mail: gogil@revers..
CodeEngn Basic RCE L02
CodeEngn Basic RCE L02
2020.07.03https://codeengn.com/challenges/ Basic RCE L01이 너무 흥미로웠어서 바로 다음 문제를 도전해보겠따따따따 따따따따따따따 호옵! 흠 문제만 보면 프로그램 내부 어딘가에 저장되어 있는 패스워드를 찾으면 되는거처럼 보이는데,, 그렇게 쉽지 않겠죠오~? 압축을 풀어보면 위와 같이 02.exe 파일이 생긴다. 흠.. 호환문제가 발생하는데 잠깐 스탑 흠 초콤 당황했지만 문제가 발생하는게 맞는거 같다. 이를 PE 문제라고 한다. PE는 Portable Executable의 줄임말로, 윈도우 운영 체제에서 사용되는 실행파일, DLL, object 코드, FON 폰트 파일 등을 위한 파일 형식이라고 한다. PE 문제가 발생하면 HexCode로 분석하는 점을 노린 문제라고 어느 블로그에 ..