본문 바로가기

분류 전체보기

(550)
[2021.05.22] bypass front and restriction 💻bypass front end restriction 개념 user은 front end를 제어하기 쉽다. 자바스크립트, HTML 같은 것들을 변경할 수있기 때문에 user로 부터 입력값을 받는 application은 server에서 이 입력값을 검증해야한다. 목표 HTML에 대한 기본 지식 습득 (프록시 등의 툴을 활용한) 요청 메시지 변조 특정 필드의 제한사항 조작 및 클라이언트 측의 검증 우회 challenge1 이렇게 사용자에게 값을 입력받는 것이 있다. 설명을 보아서 webpage의 html의 값을 제어하라고 써있다. 우클릭하여 html 편집을 진행한다. 수정 나머지도 모두 바꾸고 submit 해준다 성공 매커니즘을 우회하여 전송하라는 내용이다. 각 필드마다 제한사항 메커니즘이 만들어져있는데 fi..
[2021.05.22] 리버싱을 활용한 디버거 플러그인 개발6 Readmemory 함수 플러그인에서 제공해주는 함수, 현재 어태치된 프로세스의 메모리를 읽을 수 있게 해 준다. 대상 프로세스의 핸들을 지정하는 인자가 없기 때문에 그냥 사용하면 된다. 버퍼와 타겟 번지, 그리고 사이즈만을 전달하면 어태치된 프로세스를 그 버처가 읽어와 준다. 다음으로 그 버퍼와 그만큼의 사이즈를 Disasm() 함수에 첫 번째, 두 번째 인자로 넣고 읽을 메모리 번지는 세 번째로 넣는다. 그리고 t_disasm 구조체 변수를 넣어주면 구조체 에 값이 담겨온다. (추가활동) IsDebuggerPresent() 무력화 IsDebuggerPresent() 란? 안티디버깅 기법 중 가장 기초적인 기법 해당 프로세스가 디버깅 당하고 있는지 여부를 PEB 구조체의 디버깅 상태값을 통해 확인하는 ..
[2021.05.22] 8주차 : Bandit Level 15,16,17->18 | 달고나 문서 p.34 ~ ~ p.44 벌써 한 학기 마지막 활동이라니..!!! 아쉬움도 많지만 팀원들과 1학기를 알차게 보낼 수 있어서 너무너무 행복했습니다 🤩 이번 시간은 Bandit Level15, 16, 17 -> 18 풀이를 했고, 달고나 문서는 p.34 ~ p.44까지 진행했습니다. Bandit Level 15, 16, 17 -> 18 Bandit 15 s_client : SSL/TLS 클라이언트 프로그램 openssl : 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판이다. C 언어로 작성되어 있는 중심 라이브러리 안에는, 기본적인 암호화 기능 및 여러 유틸리티 함수들이 구현되어 있다. 출처 : 위키 가장 기본적인 사용법은 다음과 같습니다. openssl s_client -connect [서버]..
[2021.05.22] 써니나타스 web challenge 01, 02, 03, 08 web challenge 01 a는 aad로 치환한다. i는 in으로 치환한다. result의 2번째부터 2개를 잘라와서 result1에 대입한다. result의 4번째부터 2개를 잘라와서 result2에 대입한다. result1과 result2의 값을 합친다. ami -> aad -> aadmin -> ad -> min -> admin 따라서 ami를 입력하면 풀린다. web challenge 02 콘솔 창을 통해 함수 재정의 id 와 pw를 입력받고 같으면 join이 안되고 경고창이 뜨며 다르면 submit를 하는 코드였다. 때문에 함수에서 id == pw 부분을 id != pw로 바꿔서 다르면 sumit하도록 콘솔 창에서 바꿔주면 풀린다. web challenge 03 문제: notice board..
[2021.05.22] CodeEngn Advanced / xcz.kr & 교재 7장 #CodeEngn advance L03 : Name이 CodeEngn 일때 Serial은 무엇인가 드디어 코드엔진 basic을 다 끝내고 어드밴스드로 넘어왔다... ! 순서대로 풀기보다는 잘 풀리는거 먼저 풀고 나머지를 차근차근 풀어보려고 한다. 시리얼 값을 구하는 문제였는데 이게 왜 어드밴스드에 있는지 모르겠는...너무 쉬운 문제였다. ​ string 찾기로 보니 마지막에 있는것이 성공메세지인 것 같다. 이름과 시리얼을 입력하고 체크를 누르면 되는 것 같아서 name부분에 CodeEngn을 넣어주고 serial에 아무거나 넣어주었다. 이런 경고창이 나왔고 올리디버거에서 다시 살펴보았다. 그랬더니 1234를 3265754874와 비교하고 있는게 너무 잘보였던 문제였다. ​ 위에서 나온 3265754874..
[2021.05.22] 8주차 : vulnhub prime:1분석 및 wargame풀이 Level3 – level4 burp suite를 이용해서 Referer: natas5.natas.labs.overthewire.org로 조작해준다. bandit4를 bandit5로 패킷을 조작해서 Forward해주면 다음과 같이 password를 획득할 수 있다. iX6IOfmpN7AYOQGPwtn3fXpbaJVJcHfq level4 - level5 문제에서 로그인을 할 수 없다고 설명하고 있음을 확인할 수 있다. 그래서 burp suite를 이용해서 패킷을 확인해보면 다음과 같이 loggedin이 있다. loggedin=0을 1로 변경해주면 로그인이 성공해서 password를 얻을 수 있다. aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1 level5 - level6 개발자 도구를 이용해서..
[SquareCTF(2017)] Needle in the haystack 풀이 보호되어 있는 글입니다.
[2021.05.15] 7주차 : Bandit Level 12,13,14->15 | 달고나 문서 p.27 ~ ~ p.34 이번 시간에는 Bandit Level 12, 13, 14까지 문제 풀이 후, 달고나 문서 p.27 ~ 34까지 읽었습니다! 이전에는 다뤄본 적이 없었던 SSH, telnet, nc 등을 다루다 보니 굉장히 어려웠지만 우여곡절 끝에 이번 주도 잘 마무리하였습니다~~! -> data.txt 파일 내에 있는 여러 번 압축된 파일을 풀어서 비밀번호 찾기 bzip2, gzip, tar 등 압축 명령어를 공부하는데 큰 도움이 되었다. -> bandit14만 접근할 수 있는 비밀번호 파일에 권한이 없으니 priavte SSH key를 이용해 localhost로 bandit15에 접속하기 localhost 내에서 port 30000인 네트워크에 접속하기 nc (netcat) : TCP, UDP 같은 프로토콜에서 데이터..