Настройка поддельного логина администратора - PullRequest
2 голосов
/ 06 сентября 2011

После того, как моя учетная запись Paypal была скомпрометирована, я стал немного параноиком и хотел защитить все на своих сайтах.Один из них включает переименование admin / page во что-то другое, затем я добавлю что-то вроде honeypot, чтобы увидеть, с какого IP-адреса они приходят:

    <?
// honeypot 

if($_POST['username']) { 
sleep(10);

$filename = "intruders.txt"; 
$date = date('l jS \of F Y h:i:s A');
$handle = fopen($filename,"a+");
$content = "Username: $_POST[username] , Password: $_POST[password]  $date ... from $_SERVER[REMOTE_ADDR] \n";
fwrite($handle,$content);
fclose($handle);

echo "<br/><b>Wrong username or password. Please try again</b><br/><br/>"; 

} 

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WHMCS - Admin alt</title>
</head>
<body>
<form id='login' action='index.php' method='post' accept-charset='UTF-8'>
<fieldset>
<legend>WHMCS Secure alt Login</legend> 
<label for='username' >Username*:</label>
<input type='text' name='username' id='username'  maxlength="50" />
<label for='password' >Password*:</label>
<input type='password' name='password' id='password' maxlength="50" />
<input type='submit' name='Submit' value='Submit' />
</fieldset>
</form>
<div id="footer">Copyright &copy; <a href="http://www.whmcs.com/" target="_blank">WHMCompleteSolution</a>.  All Rights Reserved.</div>
</body>
</html>

Сейчас меня беспокоит только одна:атаковали, чтобы получить доступ к сайту?Я не думаю, что sql-инъекция может работать здесь, так как мы никогда не использовали sql и не вводили js в вывод, поскольку он только выводит некоторый поддельный текст.После этого я не могу думать ни о чем другом, на что может напасть злоумышленник ...

Что вы думаете?может ли быть лучший способ выследить их?

1 Ответ

2 голосов
/ 06 сентября 2011

Теперь, когда вы разместили здесь код, вы испортили сюрприз. Если вы собираетесь использовать этот код в работе, измените код, чтобы его было не так просто найти в Google.

Примечания:

  • sleep(10) - это делает ваш сервер уязвимым для атаки типа "отказ в обслуживании"
  • запись в файл в текущем каталоге - если вы собираетесь войти в файл, не регистрируйте его только в публичной области. Вы не должны раскрывать подробности, такие как IP-адреса, если ваши посетители не заботятся об этом.
  • отказ в обслуживании (2) из-за неограниченной регистрации - нет защиты от наводнений и вход не ограничен
  • регистрация паролей - на мой взгляд, не очень эффективна, если вы не хотите знать, откуда взялся злоумышленник (взломанные учетные записи электронной почты, взломанная база данных, ...)

Я бы не стал использовать горшок с медом, как этот. Помимо того, что не все представления форм являются попытками взлома (я видел ботов, отправляющих мои формы, которые были «защищены» простым текстовым вопросом), это может вызывать у посетителей плохие намерения. Правильно ведите журнал запросов и действий и разрешите кому-нибудь просмотреть ваш код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...