SlowTurtle_

천천히 그러나 끝까지 완주

728x90

전체 글 65

DVWA(medium) - SQL Injection, Blind SQL Injection, Weak Session IDs

1. SQL Injection db에 5users있고 내가 해야할 것은 SQLi를 이용해 그들의 패스워드를 훔쳐오는 것이라 한다. 우선 low와 차이점을 알아보자. $query = "SELECT first_name, last_name FROM users WHERE user_id = $id;"; 소스코드 중 핵심부분부터 봤는데 low때와달리 '(작은따옴표)를 사용하지 않는 것을 확인했다. low때와 달리 버프슈트를 이용해서 더욱 수월하게 풀어보겠다. low때 작성하였던 코드에서 '만 빼서 버프슈트에서 사용하였다. UNION SELECT user,password FROM users# id별로 Surname에서 password를 출력함을 확인할 수 있다. 2. SQL Injection(Blind) Blind ..

[백준] 10250번 - ACM호텔 파이썬 풀이🐢

문제 : https://www.acmicpc.net/problem/10250 10250번 - ACM호텔 🐢 풀이 처음 작성한 코드는 아래와 같다. T = int(input()) for _ in range(T): H, W, N = map(int, input().split()) floor = (N % H) * 100 # 층수 num = (N // H) + 1 # 호수 print(floor + num) 위 코드를 제출했을 때 틀렸는데 그 이유를 생각해보니 손님(N)이 H의 배수라면 나머지가 0이 되는 것이었다. 따라서 나머지가 0일 때를 고려하여 코드를 추가했다. 🐢최종 코드 T = int(input()) for _ in range(T): H, W, N = map(int, input().split()) flo..

Algorithm/백준 2023.01.19

DVWA(medium) - File Inclusion, File Upload, Insecure CAPTCHA

1. File Inclusion low와의 차이점부터 알아보자! source코드를 보면 low 때 사용했던 ../와 ..\ \등을 필터링하는 것을 알 수 있다. 그러나 이것은 쉽게 해결할 수 있다. ....//이렇게 작성한다면 ..***/(*은 필터링 된 자리) 필터링이 된 *을 제외하면 ../가 남는다. 이때까지 몰랐다.. dvwa의 맨 하단에 보면 이 문제의 목표가 있다는 것을... 하.. 지금까지 내 맘대로 해석하여 풀었구나 싶어서 남은 문제들에 목표에 최선을 다하여 만족하게 풀어보도록 하겠다... 해석해보면 ../hackable/flags/fi.php에 있는 5개의 인용문 모두를 오직 file inclusion으로만 읽는 것이 목표이다. 우선 ....//....// 로 ../필터링을 우회하여 1번..

DVWA(medium) - Brute Force, Command Injection, CSRF

1. Brute Force 우선 low와 다른 점을 찾기 위해 소스코드를 확인해봤다. mysql_real_escape_string()함수를 사용하여 처리한다. 이 함수를 사용함으로 SQL구문에서 사용하는 특수문자부분에 \를 붙여 SQL구문이 깨지는 것을 방지하여 SQL Injection을 방지한다. 또한 로그인이 실패했을 때 2초 후에 다시 시도할 수 있도록 지연시간을 줘 무작위 대입공격에 걸리는 시간을 늘렸다. 한 번 틀릴 때마다 2초의 시간은 수 많은 Userid와 Password를 모두 무작위 대입해보기에 상당한 시간 소모가 있을 것이다. low와 같은 점은 패스워드가 틀렸을 때 주는 문장 및 화면과 로그인 시 GET메소드를 사용한다는 점이다. hydra툴을 이용하여 brute force공격을 해보..

DVWA(LOW) - CSP Bupass, JavaScript

1. CSP Bypass :CSP는 Content Security Policy의 약자로 Injection, XSS등의 공격을 탐지하고 완화하는데 도움을 주는 추가 보안 계층이다. low.php부터 확인해보았다. 노란색 괄호안에 있는 주소를 추가해 허용되는 목록을 정해놨다. 따라서 다른 정책은 적용되지 않도록 설정되었다. # https://pastebin.com/raw/R570EE00 CSP허용 목록에 위와같은 사이트가 있다는 것을 확인했다. 값을 넣고 include했다. 이상하게 다시 첫페이지로 돌아올 수 있었다....URL에 직접 입력하여 들어가봤다. 아무래도 실행이 안되는 것 같다...안타깝다. 2. JavaScript low.php를 확인해보았다. MD5로 이루어져있는 것을 확인할 수 있었다. 그리..

DVWA(LOW) - XSS(Reflected), XSS(Stored)

1. XSS(Reflected) : 악성 스크립트를 URL에 삽입하여 서버의 응답에 담겨오는 XSS // DOM은 서버의 응답이 없지만 Reflected는 서버의 응답을 담는다는 것에서 차이가 있다. SlowTurtle을 입력하여 제출해봤다. 스크립트문을 실행하여 쿠키값을 획득했다. 스크립트문을 사용하여 Goodbye SlowTurtle을 띄우며 끝! 2. XSS(Stored) : 게시판과 같은 사용자가 글을 작성할 수 있는 곳에 악성 스크립트를 저장해 다른 사용자가 그 게시물을 열어볼 때 정보를 탈취하는 취약점을 이용한 공격이다. 오랜만에 low.php를 확인해보자. 별도로 스크립트를 차단하지 않는 것을 알 수 있다. Test로 1과 1을 넣고 sign을 눌러서 아래 게시글 하나가 있는걸 알 수 있고 ..

DVWA(LOW) - Weak Session IDs, XSS(DOM)

1. Weak Session IDs 사용자가 대상 웹서버에 액세스하면 식별을 위해 세션 ID를 사용자에게 할당하는데 세션 ID가 추측하기 쉽다면 위조 또한 쉽게 가능해진다. 이것은 공격자가 다른 사용자의 세션ID를 추측하여 다른 사용자로 접근할 수 있다. 개발자 도구를 킨 후 Generate를 눌렀다. 세션의 값이 1이 생겼다. 한 번 더 눌러보자. 1이 증가하여 2가 됐다. 결과를 보아 쿠키를 생성할 때마다 값이 1씩 증가하는 것을 알 수 있는데 세션ID를 너무 쉽게 추측할 수 있다. 이것을 악용한다면 공격자가 다른 사용자의 세션ID를 사용하여 정보를 훔치는 등을 할 수 있다. 2. XSS(DOM) : Document Object Model의 약자로 W3C표준으로 HTML 및 XML문서에 접근방법을 표..

DVWA(LOW) - File Inclusion, File Upload

1. File Inclusion 파일 실행 취약점으로 공격자가 지정한 파일 내에 서버스크립트 코드를 실행하는 공격이다. 공격자의 파일이 웹 서버 내부에 있으면 LFI(Local File Inclusion), 원격지에 위치하면 RFI(Remote File Inclusion) 이렇게 LFI와 RFI 두가지로 나뉜다. 본 실습장에서는 include.php를 기본으로 file1.php, file2.php, file3.php 3개의 내부 파일이 있다. LFI를 수행해보겠다. 우선 fi폴더 안의 source/low.php에 들어가 low단계 소스를 보았는데 아무런 필터링이 적용되지 않은 것을 확인하였다. LFI를 실습하기 위해 slow.php라는 파일을 만들었다. slow.php의 소스코드는 아래와 같다. syst..

DVWA(LOW) - Brute Force, Command Injection, CSRF

1. Brute Force - 무작위 대입 공격 우선 admin / 1234로 로그인을 해보았다. 실패시 아래와 같이 Username and/or password incorrect.가 뜬다. URL이 http://localhost/DVWA-master/vulnerabilities/brute/?username=admin&password=1234&Login=Login 인 것을 보아 username과 password가 변수로 사용된다는 것을 알 수 있었다. 또한 GET방식으로 로그인이 진행됨을 알았다. 쿠키를 확인해 보니 로그인 정보가 PHPSESSID = r6u3d07vdmaj8onqa31fl98a43 인 것과 security = low로 설정했던 것을 확인 할 수 있었다. Kali Linux에 dvwa를 ..

728x90