[OverTheWire] Natas – Level 21
http://natas21.natas.labs.overthewire.org/
Note: this website is colocated with http://natas21-experimenter.natas.labs.overthewire.org
You are logged in as a regular user. Login as an admin to retrieve credentials for natas22.
Nhấn View sourcecode:
[php]
function print_credentials() { /* {{{ */
if($_SESSION and array_key_exists("admin", $_SESSION) and $_SESSION["admin"] == 1) {
print "You are an admin. The credentials for the next level are:
“;
print “
Username: natas22n"; print "Password:
“;
} else {
print “You are logged in as a regular user. Login as an admin to retrieve credentials for natas22.”;
}
}
/* }}} */
session_start();
print_credentials();
?>
[/php]
Chuyển qua trang kia và chú ý ở:
[php]// if update was submitted, store it
if(array_key_exists(“submit”, $_REQUEST)) {
foreach($_REQUEST as $key => $val) {
$_SESSION[$key] = $val;
}
} [/php]
Xong, còn có thể mong chờ một bài dễ hơn được nữa ở level này không hả trời
Rõ ràng ta có thể edit cái form submit để trang thứ 2 này lưu $_SESSION với các giá trị tùy ý, trong khi trang 1 lại dùng chung session với trang 2. Thế là
- Submit trang 2 với một thuộc tính có name:value = admin:1
- Đổi biến PHPSESSID của trang 1 thành PHPSESSID của trang 2.
- Done.
You are an admin. The credentials for the next level are: Username: natas22 Password: chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ
→ flag = chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ.
Recent comments