URL? URL(Uniform Resource Locator)이란 사용자가 원하는 정보의 위치와 종류를 파악할 수 있도록 웹페이지의 정보 구조를 반영한 것이다. URL 구조 > http://www.example.com:80/docs/page.html?search=web
(admin / admin1234) 라고 입력했을 때 로그인을 시켜주는 페이지를 만들어보기.form 태그를 보면 Sign in버튼을 누르면 입력한 name과 passwd가 POST method를 통해 proc/login_proc.php로 전송 되는걸 알 수 있다. 그
예전 글에서 Python Django Queryset을 이용해 Database에 데이터를 추가해 본 적이 있었다. 하지만 SQL를 직접 사용하지 않고 데이터를 추가했기 때문에 이번에는 SQL과 Database에 대해 다뤄보려고 한다.데이터베이스(Database)는 구조
2주차 과제 > 로그인 페이지(DB 연동) & 회원가입 페이지 만들기 기존에 만들었던 로그인 페이지를 DB에 회원정보가 있는 사용자만 로그인할 수 있게 하고 회원가입을 하면 DB에 가입한 정보가 저장될 수 있게 구현해 보았다. Database & Table 구축
2주 차에 웹 서버랑 DB를 연결하면서 생긴 에러가 있다. 찾아보니 selinux 때문에 생긴 에러여서 selinux에 대해 포스팅해보고자 한다.SELinux(Security-Enhanced Linux)은 리눅스 시스템의 보안을 강화하기 위한 접근 제어 메커니즘입니다.
"식별"과 "인증"은 보안에서 중요한 두 개념으로, 시스템이나 서비스가 사용자나 기기를 올바르게 구별하고 신뢰할 수 있도록 하는 역할을 합니다.식별은 사용자가 누구인지를 시스템에 알리는 과정입니다. 식별은 사용자가 시스템에 접속할 때 자신을 "명시"하는 것으로, 계정
이전 글에서 식별 인증에 대해 알아보았다. 식별은 본인이 누구인지 찾고 인증은 본인이 맞는지 확인을 하는 거다. 로그인 시 식별과 인증을 동시에 수행할 수도 있고 식별과 인증을 따로 수행하는 로직도 있고 여러 로그인 로직이 있을 거다, 이런 여러 종류에 로그인 로직을
웹 프록시(Web Proxy)는 사용자의 요청(Request)과 응답(Response)을 대신 처리해주는 중계 서버입니다. 사용자가 웹사이트에 직접 접근하지 않고, 웹 프록시를 통해 접속하면 프록시가 사용자 대신 요청을 보내고 응답을 받아 전달합니다.사용자의 IP 주소
SQL 인젝션(SQL Injection)은 웹 애플리케이션이 사용자 입력값을 적절히 검증하지 않고 데이터베이스 쿼리에 삽입하는 취약점을 악용하는 해킹 기법입니다.공격자는 SQL 쿼리를 조작하여 데이터베이스를 무단으로 조회, 수정, 삭제하거나, 시스템에 불법적인 접근을
핵미사일 발사 버튼을 누르면 flag가 나오는 거라고 추정된다. 위험하지만 페이지를 접속해 보자관리자 비밀번호가 있어야 인증을 할 수 있는 것으로 보인다.잘못된 비밀번호 입력 시 알림 창이 나오고 URL을 확인해 보면 GET 방식으로 서버에 전달되는 거 같다. 좀 더
Pin 번호를 크랙 하는 문제이다. 사이트를 접속해 보자.LOGIN 버튼을 눌러보자010-1414-1018이라는 번호로 전송된 PIN Code 4자리를 입력하면 되는 거 같다. 일단 아무 숫자나 입력해서 어떤 식으로 동작을 하는지 확인해 보자.Login Fail...이
이번 문제는 푸는데 여러 방법이 있어서 모든 풀이를 포스팅해보고자 한다. 문제 admin 계정으로 로그인하는 문제이다. 풀이 [1] 로그인을 할 수 있는 페이지이다 기존에 주어진 계정과 잘못된 계정으로 로그인을 해보자 를 획득하는 공격 기법입니다. 공격자는 의도적으로 잘못된 쿼리를 보내 에러를
Blind SQL Injection은 일반적인 SQL 인젝션과 유사하지만, 결과를 직접 확인할 수 없을 때 사용됩니다.서버가 데이터베이스의 직접적인 결과를 반환하지 않더라도, 응답 상태, 시간 지연, 특정 메시지 등을 통해 데이터를 유추할 수 있습니다.sql 질의문 결
계정이 하나 주어지고 flag를 찾는 문제이다.주어진 계정으로 로그인이 잘 되는 걸 확인한 후 sql injection point를 찾기 위해 normaltic' and '1'='1으로 로그인을 시도해 보면 정상적으로 로그인이 되었다.잘못된 쿼리를 실행할 경우 에러가
이전 문제와 같이 계정이 하나 주어진다.주어진 계정을 정상적으로 로그인이 되는 걸 알 수 있다. sql injection point를 찾아보자!텍스트잘못된 쿼리로 로그인을 수행 시 에러가 화면에 출력되는 걸 볼 수 있다. 이번에도 Error Based SQL Injec
계정이 하나 주어지고... 뭔가 불안하다.로그인을 정상적으로 잘 되는 것 같다. 조건문을 사용해 로그인해도 정상적으로 잘 된다.에러가 화면에 출력되는 것으로 보아 이전 문제와 같이 Error Based SQL Injection을 사용할 수 있을 것 같다.database
이전과 같이 계정이 하나 주어진다.로그인도 정상적으로 되고 조건문도 정상적으로 실행이 된다.이번 문제는 에러를 화면에 출력해 주지 않지만 Warning!이라는 문구를 반환하는 것 같다. 자세하게 보기 위해 burp suite를 확인해 보자!로그인 성공 시는 302코드가
SQL Injection을 이용한 공격을 하려면 SQL Injection Point 즉 DB에게 SQL 질의문을 사용하는 곳을 찾아야 한다. 실무에서는 여기서 sql injection이 일어난다고 광고를 하진 않을 것이다. 지금까지는 대게 직접 입력값을 넣는 곳 로그인
sql injection으로 flag를 찾아내는 문제이다.로그인 버튼과 문의 게시판이 있다. 일단 로그인 버튼부터 눌러보자.회원가입을 한 후 로그인을 해보자!로그인과 회원가입 시에는 다른 특이점은 없었다. 첫 번째로 마이페이지를 들어가 보자.cookie를 살펴보면 us
flag를 찾는 문제이다.로그인 시에는 별다른 특이사항은 없는 것 같다. 마이페이지를 접속해 보자.db에서 계정 정보를 가져와서 출력하지만 클라이언트 측에서 접근할 방법이 없다.. 정보 수정이 잘못된 정보를 넣으면 에러 메시지가 나올까 하고 여러 시도를 해봤지만 그냥
XSS는 공격자가 웹사이트에 악성 스크립트를 삽입하여 다른 사용자가 이를 실행하도록 유도하는 공격 기법입니다. 주로 JavaScript를 사용하지만, HTML, CSS 등을 활용해 피해를 발생시킬 수 있습니다. XSS는 사용자 브라우저에서 실행되기 때문에 사용자 데이터
DOM Based XSS는 XSS(Cross-Site Scripting)의 한 종류로, 클라이언트 측에서 실행되는 자바스크립트 코드가 악의적인 입력을 처리하면서 발생하는 취약점입니다. DOM(Document Object Model)을 조작하는 코드에서 사용자 입력을 적
문제 관리자의 cookie를 탈취하는 문제이다. 아마 cookie 값에 flag가 있을 거라고 추측된다. 풀이 [관리자 방문 Bot Link]에 접속해 보면 관리자가 방문할 URL을 입력하고 보내는 칸이 있다. xss 공격을 이용해 쿠키 값을 탈취하는 스크립트가
XSS 1 문제와 같이 관리자의 cookie를 탈취하는 문제이다.이전과 같이 로그인을 해준 후 게시판 페이지에서 게시글 제목과 내용에 스크립트를 삽입할 수 있는지 확인해 보았다.작성한 스크립트가 있는 게시글을 눌러보면 아무 반응이 일어나지 않는다. 좀 더 자세하게 보기
로그인 후 마이페이지를 접속해 보면 개인 정보에 있는 bawool 부분이랑 쿼리 파라미터 user에 값이랑 같은 걸 확인할 수 있다. 이 부분을 바꿔보면user에 값에 따라 화면에 출력되는 값이 바뀌는 걸 볼 수 있다. 스크립트를 삽입할 수 있는지 확인해 보자.해당 스
로그인 후 게시판 글 작성 페이지에서 해당 스크립트가 있는 게시글을 작성한 후 접속해 보면alert랑 script 부분이 공백으로 필터링 된 걸 볼 수 있다.어떤 조건일 때 필터링이 되는지 확인해 본 결과 이 페이지는 현재 alert, 소문자 script만 필터링하고
Event Handler는 특정 이벤트가 발생했을 때 실행되는 코드를 의미한다. 예를 들어, 사용자가 버튼을 클릭하거나, 마우스를 요소 위에 올리거나, 페이지가 로드되는 등의 상황에서 브라우저가 "이 이벤트가 발생했으니, 연결된 코드를 실행해야겠다"고 판단해 동작하게
문제를 보면 mypage에서 xss가 일어난다고 나와있다. 따로 xss point를 찾을 필요는 없을 것 같다.mypage를 접속한 후 url을 살펴보면 user=에 값에 따라 화면에 출력되는 값이 바뀌고 Flag Here..! 부분에 관리자에 flag가 있는 것을 알
문제를 살펴보면 총 4개의 페이지가 있고 중요한 정보가 있는 페이지는 관리자만 접속할 수 있고 이 페이지와 똑같은 페이지가 하나 더 존재한다. 일단 페이지를 하나하나 확인해 보자.중요 정보가 있는 페이지 접속 시 권한이 없다고 나온다 문제에 나온 대로 관리자만 접속할
문제로 추정되는 것은 마이페이지에 정보가 있다는 것이다. 페이지를 확인해 보자.admin 계정의 마이페이지의 정보란에 flag가 있다고 했기 때문에 user=admin으로 접속 시 flag가 나오는 것으로 추정된다. 현재 페이지에서는 user의 파라미터 값을 조작할 수
CSRF는 사용자가 신뢰하는 웹사이트에서 본인의 의지와 무관하게 원치 않는 요청을 실행하도록 하는 공격 기법이다. 공격자는 사용자의 인증된 세션을 악용하여, 사용자가 특정 액션을 수행하도록 속일 수 있다.사용자가 A 웹사이트에 로그인하여 세션을 유지한 상태가 됨.공격자
문제를 보면 예를 들어 bawool이라는 계정을 생성 시 bawool_admin이라는 계정이 생성되는데 생성된 \_admin 계정으로 로그인 시 flag를 획득할 수 있는 것 같다.관리자 visit Bot 페이지를 접속해 보면 admin 계정과 URL을 입력할 수 있는
GET Admin1과 똑같이 admin 계정 탈취 문제이다.bawool 계정 생성 후 로그인회원정보 수정 가능 확인 패킷을 확인해 보자.패킷을 확인해 보면 pw parameter로 수정한 비밀번호가 전송되는 걸 볼 수 있다.GET method로 요청 시 에러가 나오기
이전과 같이 admin 계정을 탈취하는 문제이다.bawool 계정 생성 후 마이페이지 접속 후 패킷을 확인해 보면 서버 측에서 csrf token을 발행하는 걸 볼 수 있다. admin 계정의 정보를 바꾸려면 admin 계정의 csrf token을 사용해야 할 것이다.
공격자가 임의의 파일을 서버에 업로드하여 악의적인 행동을 수행하는 공격확장자 검증 미흡 → 우회 가능MIME 타입 검증 부족 → Burp Suite로 조작 가능업로드된 파일 실행 제한 없음 → 서버 내 코드 실행 가능📌 의문: webshell.php.jpg 파일을 업
해당 문제를 보면 알 수 있듯이 file upload 취약점을 찾아 web shell을 이용 flag를 찾아내는 문제이다.회원가입 후 로그인 시도file upload 취약점을 찾기 위해 게시판 접속게시판 접속 후 글 작성 페이지로 이동file upload를 위해 파일