| |
|
|
| | Как взломать простейшую проверку на правильность пароля.
<?php
$user = "zxcv";
$pass = "zxcv";
$link = mysql_connect("database", $user, $pass);
if(!$link) die("Сервер MySQL не доступен");
mysql_select_db($user, $link);
$sql = mysql_query("SELECT `pass` FROM `users` WHERE `nik`='forma'");
while($r=mysql_fetch_assoc($sql))
{
if($_GET['pass']==$r['pass']) {print "если этот текст выводит можно считать что все нах взломано";}
}
?>
|
Только не считая подбора. | |
| |
|
|
| |
|
|
| |
для: forma
(01.09.2006 в 22:32)
| | | Поскольку я не вижу форму для вода чего либа, то я незнаю... | |
| |
|
|
| |
|
|
| |
для: DEM
(01.09.2006 в 22:45)
| | | А зачем форма?
Можно все вписывать в ссылку. | |
| |
|
|
| |
|
|
| |
для: DEM
(01.09.2006 в 22:45)
| | | Ну если без формы не можете..
<form method="GET">
<p>ваш пароль:</p>
<input type="text" name="usern">
<input type="submit" value="вход">
</form>
|
| |
| |
|
|
| |
|
|
| |
для: forma
(21.09.2006 в 14:43)
| | | <input type="password" name="usern">* | |
| |
|
|
| |
|
|
| |
для: forma
(01.09.2006 в 22:32)
| | | помоему только брутить... | |
| |
|
|
| |
|
|
| |
для: CrazyAngel
(01.09.2006 в 22:48)
| | | что за брутить? | |
| |
|
|
| |
|
|
| |
для: forma
(16.09.2006 в 22:23)
| | | Перебирать пароль. | |
| |
|
|
| |
|
|
| |
для: forma
(01.09.2006 в 22:32)
| | | А проще сделать:
<?php
//Пропущено
$sql = mysql_query("SELECT * FROM `users` WHERE `nickname`= 'forma' AND `password` = '".$_GET['password']."';");
if(mysql_affected_rows() == 0) die("Login error...");
?>
|
| |
| |
|
|
| |
|
|
| |
для: Unkind™
(01.09.2006 в 22:55)
| | | >А проще сделать:
Э-э... Это чтобы долго не мучится, что ли?? | |
| |
|
|
| |
|
|
| |
для: Unkind™
(01.09.2006 в 22:55)
| | | а вот тут можно сломать хехе) | |
| |
|
|
| |
|
|
| |
для: CrazyAngel
(01.09.2006 в 23:24)
| | | Ну давайте
Может вас смущает "'".$_GET['password']."'"? :)) | |
| |
|
|
| |
|
|
| |
для: Unkind™
(02.09.2006 в 00:25)
| | | именно) но может я не прав....я не кулхарерц | |
| |
|
|
| |
|
|
| |
для: Unkind™
(02.09.2006 в 00:25)
| | | я где-то читал про такой способ:
запрос исходный:
$sql = mysql_query("SELECT * FROM `users` WHERE `nickname`= 'forma' AND `password` = '".$_GET['password']."';");
|
если в переменной password будет значение 1' OR `nickname`='forma
тогда вроде как запрос будет выглядеть так:
$sql = mysql_query("SELECT * FROM `users` WHERE `nickname`= 'forma' AND `password` = '1' OR `nickname`='forma';");
|
тогда, вроде-как, запрос будет искать запись, в которой логин и пароль соотв. введенным ИЛИ логин соответствует введенному, а пароль не проверяется.
бороться с этим можно, если вначале проверить, не содержит ли введенные данные недопустимых символов и используя функцию mysql_escape_string($_GET['password']); которая экранирует спец. символы MySQL. По крайней мере мне так сказали :-| | |
| |
|
|
| |
|
|
| |
для: victoor
(02.09.2006 в 01:05)
| | | В торопях написал :)) | |
| |
|
|
| |
|
|
| |
для: victoor
(02.09.2006 в 01:05)
| | | А если обработать переменную с функцией mysql_escape_string, то простой хакер взломать не сможет? | |
| |
|
|
| |
|
|
| |
для: forma
(29.09.2006 в 09:55)
| | | Нет, не сможет. | |
| |
|
|
| |
|
|
| |
для: CrazyAngel
(01.09.2006 в 23:24)
| | | Ну и как же? | |
| |
|
|
| |
|
|
| |
для: forma
(01.09.2006 в 22:32)
| | | up | |
| |
|
|
| |
|
|
| |
для: forma
(05.09.2006 в 18:43)
| | | 1 | |
| |
|
|
| |
|
|
| |
для: forma
(01.09.2006 в 22:32)
| | | можно просто взглянуть в любое место, где сохраняются адреса обращений. Логи сервера, история и кеш браузера, логи прокси и т.д. | |
| |
|
|
| |
|
|
| |
для: Trianon
(21.09.2006 в 15:10)
| | | дык можно и через post передать и можно через сессии если захотеть...
помоему тоже кроме брута ничего не поможет :( | |
| |
|
|
| |
|
|
| |
для: kaoz
(21.09.2006 в 20:58)
| | | все гет и пост нужно проверять на наличие скрипта!
Иначе взлом происходит методом mysql injection, а значит:
Что-то типа $_GET['login'] = ' что-то" JOIN что-то .........';
или вместо JOIN - *UNION
такой гет котегорически запрещаеться ставить в mysql_query - если конечно админу не все равно, что он не защещен!
Надеюсь смысл понятен! | |
| |
|
|