Brute Force / Replay Attack
Brute Force 최대 로그인 실패 횟수를 기록해 계정을 임시로 정지시키는 방법이 유용하다. 로그인에 실패한 사용자가 몇 초 이내에 다시 로그인을 시도하면 무조건 실패로 처리하거나, 성공이든 실패든 몇 초 이후에 다시 시도하라는 메세지를 주는 방법(throttling)도 고려해볼 수 있으나 요즘 잘 쓰이지는 않는 것 같다. 보통 패스워드가 틀렸을 ...
Brute Force 최대 로그인 실패 횟수를 기록해 계정을 임시로 정지시키는 방법이 유용하다. 로그인에 실패한 사용자가 몇 초 이내에 다시 로그인을 시도하면 무조건 실패로 처리하거나, 성공이든 실패든 몇 초 이후에 다시 시도하라는 메세지를 주는 방법(throttling)도 고려해볼 수 있으나 요즘 잘 쓰이지는 않는 것 같다. 보통 패스워드가 틀렸을 ...
100 - solve File Signature가 PK라서, .zip으로 바꾸고 압축을 풀었더니 biscuit이 나왔다. biscuit의 File Signature가 Rar!이므로 .rar로 바꾸고 압축을 풀었더니 biscuit1과 biscuit2가 나왔다. biscuit1은 실행파일 biscuit2의 File Signature는 다시 PK. 그래서 ...
100 - DNSTunnel DNS query날릴 때 url 앞에 data를 붙여 전송하는 방식으로 조금 씩 데이터를 전송하는 듯. 20byte인걸로 봐서 sha1 인 것 같다. decode해봐야… 안된다. 마지막만 길이가 다른 것도 이상하고… 뭘까? 아 생각해보니 hash는 아닌 것 같은게 수신 측에서 데이터를 받아 해독해야하는데 hash를 쓸리가...
Session 세션 데이터는 세션 데이터 저장소에 보관된다. SID라는 고유 식별자로 세션 데이터 저장소에서 특정 레코드를 식별한다. 세션 저장소 경로는 php.ini의 session.save\_path에 지정되며 session\_save_path()로 얻거나 설정할 수 있다. 이를 이용해 세션 저장소에 직접 접근해서 다른 세션 데이터를 얻어올 수 ...
입력 필터링 입력 필터링 작업은 세 단계로 구분하는 것이 좋다. 입력을 구분하는 단계 입력을 필터링하는 단계 필터링된 데이터와 오염된 데이터를 구별하는 단계 입력을 구분하는 단계 세션 데이터 저장소는 서버에 저장되기는 하지만 이를 입력으로 간주하는 것이 안전하며 DB의 데이터도 마찬가지다. 일반적으로 사용하는 외부 입력 출처를 정리하...
Telnet wiki RFC 854 0xff telnet에서는 0xff를 command 중 하나인 IAC(Interpret As Command)로 예약되어 있다. 각 command의 끝에 IAC를 붙이는 방식으로 일반 data와 command를 구분하게 되는데, 사용자가 0xff를 입력하는 경우와 구분하기 위해 telnet 프로세스는 사용자...
MySQL 접속에 사용할 수 있는 API는 mysql, mysqli, PDO 세 가지다. mysql보다는 오브젝트로 관리할 수 있는 mysqli, PDO를 사용하는 것이 좋다. * query 결과가 저장된 변수를 그냥 print $result하면 안되고, 함수를 사용해야 한다. mysqli $mysqli = new mysqli('localhost'...
100점 짜리라고 꼭 쉬우리라는 법은 없다. 오히려 200점이 더 쉬운듯. 안풀리면 그냥 넘어가고 끝날 때 쯤 주어지는 힌트를 노려야 한다. 100 Forensic_Encyption 까지는 얻었고 MZ string이 있길래 exe인가 싶어 확장자 변경하고 실행해봤더니 검은창 뜨다가 그냥 꺼진다. PEiD에 올려도 안나오고, Ollydbg에 ...
FC3의 마지막 문제. GOT overwrite / RemoteBOF 2017/05/08 - [System/Practice] - FC3 dark_eyes - hell_fire : remoteBOF, GOT overwrite, mprotect ★ 와 달리 메모리 초기화 때문에 실행되면서 무조건 fault가 발생해 client로 응답이 돌아오지 않는다....
GOT overwrite / local stdin buffer를 사용할 수 없어 문자열을 삽입할 수는 없지만 local이니까 symlink로 메모리에 있는 값을 parameter로 사용할 수 있을 것 같다. 파라미터를 삽입할 수 없어 메모리에 있는 값을 활용해야 한다는 점만 제외하면 이전 문제와 비슷하게 해결할 수 있을 듯. 그런데, 그냥 삽입하면 ...