[OverTheWire] Natas – Level 08
http://natas8.natas.labs.overthewire.org/
Input secret…
Xem source:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<? $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 <censored>"; } else { print "Wrong secret"; } } ?> |
Như vậy là secret của ta sau khi được encode thì phải bằng với một giá trị hardcode có sẵn. Hàm encode:
y = bin2hex(strrev(base64_encode(x)))
Chú ý rằng bin2hex đây là hàm của php, convert một xâu từ ascii sang hex. Tìm x bằng câu lệnh sau (nguyên tắc Đi rẽ trái – Về rẽ phải):
1 2 3 4 5 |
<?php $encodedSecret = "3d3d516343746d4d6d6c315669563362"; echo base64_decode(strrev(hex2bin($encodedSecret))); ?> |
oubWYf2kBq
Submit với secret thu được:
Access granted. The password for natas9 is W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl
→ flag = W0mMhUcRRnG8dcghE4qvk3JA9lGt8nDl.
Recent comments