웹해킹/DVWA (33) 썸네일형 리스트형 DVWA Blind SQL Injection(medium) Blind SQL Injection도 마찬가지로 low레벨에서랑 다르게 직접 입력하는게 아니라 선택하는 걸로 바뀌어있다. 과정 자체는 low 레벨에서 했던 것과 동일하다. 직접 입력할 수 없으니 burp suite로 요청을 변조해서 같은 명령어를 보내기만 하면 된다. 오히려 low레벨에서는 '로 정확한 구문을 예상해서 공격문을 만들어야 했는데 이건 그냥 burp suite에서 바꿔주면 되서 더 쉬운거 같기도 하다. 아무튼 먼저 column 개수부터 알아보겠다. id=1 union select 1,2# 이렇게 요청을 변조해서 보내면 참이 반환되고 column 개수가 2개인 것을 알아낼 수 있다. 이제 데이터베이스 이름을 알아낼 것이다. id=1 and length(database())=4# 먼저 이름의 길.. DVWA SQL Injection(medium) 롸업 userid를 직접 입력하는게 아니라 선택하는 걸로 바뀌었다. 구성 코드이다. post 요청으로 값을 받고 mysqli_real_escape_string 함수를 이용해 입력이 그대로 sql구문으로 사용되지 않게 하고 있다. burp suite로 패킷을 보면 id=1&Submit=Submit 이런식으로 전송이 된다. 이 요청을 이렇게 바꿔서 전송해보면 injection을 성공했다. DVWA Insecure CAPTCHA(medium) 롸업 The CAPTCHA was incorrect. Please try again."; $hide_form = false; return; } else { // CAPTCHA was correct. Do both new passwords match? if( $pass_new == $pass_conf ) { // Show next stage for the user echo " You passed the CAPTCHA! Click the button to confirm your changes. .. DVWA File Upload(medium) 구성 코드이다. low 레벨에서는 검사하지 않았던 파일 형식을 검사하며 jpeg와 png 파일만 업로드할 수 있게 만들었다. 파일을 전송할 때 type을 변조해서 요청을 보내야 할 거 같아서 burp suite를 이용하였다. low레벨 실습 때 만들어 두었던 shell.php 파일을 선택하고 burp suite에서 intercept on을 누른 뒤 upload를 한다. 이렇게 패킷 정보를 확인할 수 있는데 content-type이 application/octet-stream으로 되어있다. 이 정보를 image/jpeg로 바꿔주고 forward로 요청을 보내면 이렇게 파일이 잘 저장되었다고 뜬다. shell을 얻는데 성공했다. DVWA File Inclusion(medium) 롸업 구성 코드를 보면 low 레벨과는 다르게 input validation으로 file 이름을 검사한다.http://, https://, ../, ..\\ 등을 필터링한다. low 레벨 실습 때는 그냥 fi 폴더 안에 파일을 만들어서 읽어왔기 때문에 ../나 http가 필요없었지만이번에는 필터링 우회를 실습해보기 위해 다른 파일을 읽어보겠다.상위 폴더로 이동해서 instuctions.php 파일을 읽어올 것이다.원래대로라면, ../../instrucions.php를 입력하면 되겠지만 필터링에 걸릴 것이다.../ 필터링을 우회하기 위해 ..././을 사용하면 된다...././에서 ../이 필터링되어서 사라지면 ../이 된다.http://도 마찬가지로 hthttp://tp://로 작성하면 우회가 된다.이렇게 우.. DVWA CSRF(medium) 롸업 ' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '' ); // Feedback for the user echo "Password Changed."; } else { // Issue with passwords matching echo "Passwords did not match."; } } else { // Didn't come .. DVWA Command Injection(medium) 롸업 구성 코드이다. low 레벨과 달라진 점은 &&와 ; 문자에 대한 필터링이 생긴 점이다. &, |, ``, $ 등의 문자는 필터링이 없다. 127.0.0.1 'dir' 127.0.0.1 $(dir) 127.0.0.1 & dir 등과 같은 입력값을 사용해서 필터링을 우회하고 원하는 명령어를 실행할 수 있다. DVWA Brute Force(medium) 롸업 ' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '' ); if( $result && mysqli_num_rows( $result ) == 1 ) { // Get users details $row = mysqli_fetch_assoc( $result ); $avatar = $row["avatar"]; // Login successful echo "Welcome to the password pro.. 이전 1 2 3 4 5 다음