username과 password를 입력해서 login을 하는 시스템이 있다.
More Information에 있는 링크들이 공격 방법에 대한 힌트들인 것 같다.
아래에 view source 버튼으로 소스 코드를 볼 수 있다.
<?php
if( isset( $_GET[ 'Login' ] ) ) {
// Get username
$user = $_GET[ 'username' ];
// Get password
$pass = $_GET[ 'password' ];
$pass = md5( $pass );
// Check the database
$query = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
$result = mysqli_query($GLOBALS["___mysqli_ston"], $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
if( $result && mysqli_num_rows( $result ) == 1 ) {
// Get users details
$row = mysqli_fetch_assoc( $result );
$avatar = $row["avatar"];
// Login successful
echo "<p>Welcome to the password protected area {$user}</p>";
echo "<img src=\"{$avatar}\" />";
}
else {
// Login failed
echo "<pre><br />Username and/or password incorrect.</pre>";
}
((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?>
sql injection이 될거 같아서
admin'-- 이나 admin' or 1' 등을 시도했지만 전부 실패했다.
문제 의도대로 brute force를 이용해야겠다.
brute force를 이용하기 위해서 가능성 있는 username과 password를 모아놓은 텍스트 파일을 사용할 것이다.
이렇게 두개의 파일을 이용한다.
burp suite에서 intruder를 이용해 brute force를 할 것이다.
burp suite에서 intercept on을 키고 open browser로 열어서
이렇게 아무 아이디와 패스워드를 전송한다.
Target에서 전송된 패킷을 찾아서 선택하고 우클릭해서 send to intruder를 클릭한다.
intruder로 가보면 position에서 attack type과 payload postion을 정할 수 있다.
payload position은 username과 password인데 아까 전송한 admin과 ddd를 지워주고
오른쪽에 Add버튼을 눌러서 payload 자리를 정해준다.
그리고 attack type은 cluster bomb로 할건데 이 방법은 여러 개의 위치에 대해 모든 payload 조합을 시도한다.
admin과 password 이렇게 2개의 위치에 대해 모든 payload를 시도해봐야 하기 때문에 cluster bomb를 사용한다.
이제 positions에서 payloads로 이동한다.
여기서 처음에는 payload set가 1일텐데 그 상태에서 아래에 simple list에 Load를 누르고 weakuser.txt파일을 올린다.
그리고 payload set을 2로 바꾸고 다시 Load 버튼을 눌러서 weakpass.txt 파일을 올린다.
이렇게 하고 Start attack 버튼을 누르면
이런 식으로 쭉 공격시도가 진행된다.
여기서 Length를 보면 전부 4643인데 admin, password 조합만 4686으로 더 길다.
이를 통해 admin, password가 아이디, 비번이라는 것을 알 수 있다.
로그인 성공!
'웹해킹 > DVWA' 카테고리의 다른 글
DVWA File Upload(low) 롸업 (0) | 2023.11.07 |
---|---|
DVWA File Inclusion(low) 롸업 (0) | 2023.11.07 |
DVWA CSRF(low) 롸업 (0) | 2023.11.07 |
DVWA Command Injection(low) 롸업 (0) | 2023.11.06 |
DVWA 환경 구축 (0) | 2023.11.06 |