2024 SWLUG/WebHacking 6

5주차_웹해킹 수업 정리

Authentication Bypass(인증 우회) 실습 내용 정리개발자가 예상하지 못한 데이터로 공격해 인증 로직을 통과하는 방법으로 주로 우회한다. 2FA Password Reset 문제는 실제 PayPal에서 발견된 인증 관련 취약점을 모티브로 제작된 문제이다.보안 질문에 대한 답변을 인증하는 로직을 우회하여 해결할 수 있다. 우선 보안 질문에 대한 답을 모르니까 임의의 값을 아래와 같이 입력 후 제출하였다.그 다음 버프 스위트의 [HTTP history]로 이동하여 /WebGoat/auth-bypass/verify-account에 보낸 HTTP 요청 내용을 확인한다. -> PayPal 사건과 같은 공격 방식request에서 우클릭 후 send to intruder를 클릭한다. clear 후 sec..

4주차_웹해킹 수업 정리

XSS 모의해킹 실습 정리7번개발자가 의도하지 않은 alert나 console.log 함수를 실행하여 문제를 해결한다.일단 문제를 들어가면 위의 그림과 같이 나오는데 구매 버튼을 클릭해본다. Enter your credit card number에 입력된 카드 번호가 그대로 응답이 되고 있다. XSS는 공격 구문을 포함하여 보낸 요청 서버에서 그대로 응답 본문에 추가할 때 주로 발생되는 취약점으로 아래와 같이 구문을 포함하여 공격한다.Enter your credit cared number 입력칸에 "" 와 같이 script 태그를 이용해 alert(1) 함수를 실행하는 공격 구문을 추가한 후 구매 버튼을 클릭하면 XSS 공격에 성공하여 개발자가 의도하지 않은 alert(1)이 실행된다. 10번이번 문제는 ..

3주차_웹해킹 수업 정리

SQL Injection 심화 실습 주어진 2개의 테이블에 존재하는 모든 데이터를 조회한 뒤, 이를 통해 Dave의 패스워드를 알아내는 실습이다. 임의의 값 asdf를 넣고 Get Account Info를 누르면 실행된 쿼리의 정보가 나타난다.  패스워드 알아내기asdf라는 임의의 값을 입력한 후 이어서 싱글쿼더(')를 입력해 문자열의 범위 벗어나기기존의 쿼리를 종료하기 위해 세미콜론 입력user_system data 테이블의 모든 칼럼에 존재하는 데이터를 조건 없이 조회하기 위해 Select 쿼리를 입력하고 뒤에 주석(--)을 입력해 문법적인 오류가 발생하지 않도록 처리asdf'; select * from user_system_data--Dave의 패스워드를 알아낼 수 있다!    Blind SQL I..

2주차_웹해킹 수업 실습

2주차 SQL Injection WebGoat 문제 중 11~13번 실습이다. ※참고로 나는 WebGoat 접속 시 Docker Desktop을 먼저 켜야 명령어로 접근이 가능했다...   11번SQL 문자열 삽입(SQL Injection) 공격으로 employees 테이블의 모든 employee들의 대한 정보를 꺼내와야 하는 문제이다. 우선 공격을 시도하기 전에 Smith와 3SL99A를 입력해보았다.일단 테이블이 이렇게 생겼음을 알 수 있고...이제 공격을 해보겠다."SELECT * FROM employees WHERE last_name = '" + name + "' AND auth_tan = '" + auth_tan + "'";SQL 쿼리문은 위와 같다. 사용자가 입력한 last_name과 auth..

[webhacking.kr] old-52

▶문제   ▶풀이문제는 admin 페이지에 접근하는 것 같고...guest의 계정은 주어졌다. 우선 admin page로 들어가보았다. 로그인하라는 페이지가 나왔고 일단 내가 알고 있는 guest 계정으로 로그인 해보았다.  로그인은 되었지만 admin이 아니라는 문구가 나온다. 그렇다면 다시 로그아웃 후 아이디와 비번에 임의의 값을 넣어보았다. -> 실패했다는 문구와 뭐가 함께 나올 줄 알았는데...아무것도 안나왔다. 혹시 몰라서 개발자 도구를 켜보았는데도 딱히 나온게 없었다...그래서 프록시 서버를 먼저 보려고 로그인 취소를 눌렀는데이런 화면이 나왔다! view-source를 들어가보니이런 PHP 코드가 나왔다. 여기서 필요한 부분만 뽑아서 해석해보았다. if($_SESSION['login']){  ..

1주차_웹해킹 수업 정리

Hijack a session 풀이사용자의 인증 여부를 파악할 때 사용하는 Hijack cookie 값을 예측해 인증된 사용자의 Hijack cookie 값을 찾아내는 문제   실습 전 준비 사항1. WebGoat 열기Docker Desktop으로 열어보려 했으나 CPU가 0%로 나와서...PowerShell을 관리자 권한으로 실행하여 WebGoat를 실행해보았다.docker ps #실행 중인 컨테이너 목록 확인docker exec -it webgoat /bin/bash #실행 중인 컨테이너 진입위의 명령어를 통해 WebGoat로 진입해준다. pwdcdpwdcd ./WebGoat./mvnw spring-boot:run그 후 위의 명령어를 차례로 입력 후 실행시켜준다. 2. Burp Suite 설정WebG..