[2024.08.07]
[Weak Session IDs]
<?php
$dvwaSession=date("Y-m-d h:i:s",1723027789);
echo $dvwaSession;
?>
1723027789 2024-08-07 10:49:49
1723027818 2024-08-07 10:50:18
1723027965 2024-08-07 10:52:45
1723028771 2024-08-07 11:06:11
오늘의 실습도 마찬가지로 레벨 low부터 시작한다
시작 전에 소스 코드를 한 번씩 보고 취약점 힌트를 얻는 것도 좋은 방법이다
오늘은 burfsuite를 실행시키고, Intercept is on 상태에서
Weak Session IDs 페이지로 넘어간 다음 Generate 버튼을 눌러 준다
그렇게 되면 화면에 캡처가 나타나게 되는데
이때 Foward를 눌러 주고
다시 Generate를 선택
그렇게 되면 dvwaSession=6; 이라는 문구를 확인할 수 있다
처음은 1부터 시작하고, Generate 버튼을 누를 때마다 숫자는 1씩 증가한다
low 레벨 다음으로는 medium 레벨을 바로 진행하려고 한다
low와 다른 점이 있다면 dvwaSession의 번호가 low와는 확연히 다른 형태를 띄고 있다
이번에도 Foward 선택 후
Generate 버튼을 눌러 주면
dvwaSession의 번호가 다르게 나타난다
한 번 더 캡처를 하게 되면 또 다른 번호가 나타난다
나타난 dvwaSession의 번호들의 시간 간격을 확인하고 싶을 때 실행하는 방법이다
해당 디렉터리로 이동 후 sid.php라는 파일을 생성한다
화면에 보이는 것과 같이 입력해 준 다음 저장하고,
systemctl restart apache2를 활성화시켜 준다
그런 다음 firefox에서 Kali Linux의 IP 주소와 방금 생성한 sid.php 파일을 경로 칸에 입력한다
페이지 이동 시 오늘 날짜와 시간을 알려 준다
다시 캡처 후 다른 번호를 sid.php에 넣고 저장 후 페이지에서 확인했을 때
확실히 시간 차를 두고 번호가 바뀌는 것을 확인할 수 있었다
세 번째 레벨인 high로도 진행한다
Intercept is on 상태로
dvwa 페이지의 Weak Session IDs 부분에서 Generate 선택
Proxy의 HTTP History를 확인할 수 있게 되는데 해당 화면과 같이 나오게 된다
여기에서는 Response를 살펴봐야 되는데, 확인 시 dvwaSession의 번호가
low와 medium보다 확실히 보안이 강화된 번호의 길이다
외부의 브라우저로 Crackstation에 들어가서 해당 번호를 크랙시켜 본다
크랙을 시도하여 확인하였을 때 해당 hash 암호는 md5고, 번호는 4번이다
또 다시 캡처 후 다시 확인해 봤다
이번에도 달라진 번호를 복사 후
크랙을 시도하게 되면 5번이라는 번호인 것을 크랙을 통해 알 수 있었다
마지막으로 다시 한 번 캡처 후 번호를 번호를 복사하고
크랙 시도 시 6번이라는 숫자가 나오게 된다
차례대로 4, 5, 6번의 숫자를 보았을 때 1씩 증가하는 것을 알 수 있다
마지막으로 Impossible 레벨도 도전해 본다
이 레벨의 경우 high 레벨보다도 암호문이 길어 40자 길이의 16진수 문자열이다
따라서 앞서 확인했던 high의 md5와는 다르게, 해당 문자열은 SHA-1라고 볼 수 있다
예상은 했지만 Impossible 레벨의 경우 크랙을 시도해도 해결할 수 없다
마지막으로 지금까지 배웠던, 혹은 배우지 않았지만 시도해 볼 수 있는
취약점들에 대해서 설명하는 시간을 가졌다
한 번쯤은 설명을 읽어 보고, 연습하는 것이 좋은 공부가 될 것 같다
강의 소감
오늘은 웹 해킹 강의 시간의 마지막 종강 날이었다
하나씩 배워 가며 하나씩 종강하는 날에는 시원섭섭한 감정도 든다
그래도 이번 웹 해킹 강의 시간에 취약점 찾기 및 취약점 공격을 통해
많은 공부가 되었고, 아직 해 보지 않은 취약점들에 대해 조금 더 공부할 필요성을 느꼈다
모르는 상태로 내가 시도해 보는 것도 일종의 공부 방식이라고 생각한다
비록 강의 시간은 여기까지였지만, 나의 웹 해킹 공부는 성장하기 위해서는 계속해서 이어져야 된다고 생각한다