Я написал сценарий python для всех испытаний Natas. Пока все прошло гладко.
В вызове natas22 на странице ничего нет, но он дает ссылку на исходный код. Из браузера я могу добраться до исходного кода (это PHP) и прочитать его. Но я не могу этого сделать со своим скриптом Python. Что очень странно, потому что я делал это в других задачах ...
Я также пытался предоставить пользовательский агент (обновленный chrome браузер), не сработало.
Вот небольшой код:
import requests
user = 'natas22'
passw = 'chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ'
url = 'http://%s.natas.labs.overthewire.org/' % user
response = requests.get('http://natas22.natas.labs.overthewire.org/index-source.html', auth=(user, passw))
print(response.text)
Что возвращает:
<code><span style="color: #000000">
<br /></span>ml>id="viewsource"><a href="index-source.html">View sourcecode</a></div>nbsp;next level are:<br>";l.js"></script>
</code>
Но на самом деле он должен был вернуть:
<code><? session_start();
if(array_key_exists("revelio", $_GET)) {
// only admins can reveal the password
if(!($_SESSION and array_key_exists("admin", $_SESSION) and $_SESSION["admin"] == 1)) {
header("Location: /");
} } ?>
<html> <head> <!-- This stuff in the header has nothing to do with the level --> <link rel="stylesheet" type="text/css" href="http://natas.labs.overthewire.org/css/level.css"> <link rel="stylesheet" href="http://natas.labs.overthewire.org/css/jquery-ui.css" /> <link rel="stylesheet" href="http://natas.labs.overthewire.org/css/wechall.css" /> <script src="http://natas.labs.overthewire.org/js/jquery-1.9.1.js"></script> <script src="http://natas.labs.overthewire.org/js/jquery-ui.js"></script> <script src=http://natas.labs.overthewire.org/js/wechall-data.js></script><script src="http://natas.labs.overthewire.org/js/wechall.js"></script> <script>var wechallinfo = { "level": "natas22", "pass": "<censored>" };</script></head> <body> <h1>natas22</h1> <div id="content">
<?
if(array_key_exists("revelio", $_GET)) {
print "You are an admin. The credentials for the next level are:<br>";
print "<pre>Username: natas23\n";
print "Password: <censored>
";}?>
Посмотреть исходный код Почему он так себя ведет? Мне очень любопытно, и я не смог узнать
Если вам нужен URL-адрес для попытки из браузера:
url: http://natas22.natas.labs.overthewire.org/index-source.html
Имя пользователя: natas22
Пароль: chG9fbe1Tq2eWVMgjYYD1MsfIvN461kJ