Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

11.07.2007, 15:06
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Не мог придумать, что написать 
Решил написать, как избавиться от самых известных багов.
XSS.
PHP код:
<?
...
$_REQUEST['xss'] = htmlspecialchars($_REQUEST['xss']);
echo($_REQUEST['xss']);
...
?>
PHP-include.
PHP код:
<?
...
if($_REQUEST['file'])
{
$_REQUEST['file'] = str_replace('/','',$_REQUEST['file']);
$_REQUEST['file'] = str_replace('%','',$_REQUEST['file']);
$_REQUEST['file'] = str_replace(':','',$_REQUEST['file']);
include($_REQUEST['file']);
}
...
?>
SQL-injection.
PHP код:
<?
...
$_REQUEST['id'] = str_replace("'","",$_REQUEST['id']);
$_REQUEST['id'] = str_replace('-','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('+','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('/','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('*','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace(' ','',$_REQUEST['id']);
mysql_query('UNION SELECT id FROM news WHERE id='.$_REQUEST['id']);
...
?>
|
|
|

11.07.2007, 16:09
|
|
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
Провел на форуме: 7364332
Репутация:
1276
|
|
Сообщение от NOmeR1
[/php]
SQL-injection.
PHP код:
<?
...
$_REQUEST['id'] = str_replace("'","",$_REQUEST['id']);
$_REQUEST['id'] = str_replace('-','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('+','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('/','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace('*','',$_REQUEST['id']);
$_REQUEST['id'] = str_replace(' ','',$_REQUEST['id']);
mysql_query('UNION SELECT id FROM news WHERE id='.$_REQUEST['id']);
...
?>
Зачем изобретать велосипед, если в PHP уже есть готовое решение
PHP код:
function secure_sql($value) {
if( get_magic_quotes_gpc() ) {
$value = stripslashes( $value );
}
if( function_exists( "mysql_real_escape_string" ) ) {
$value = mysql_real_escape_string( $value );
} else {
$value = addslashes( $value );
}
return $value;
}
|
|
|

11.07.2007, 17:23
|
|
Banned
Регистрация: 02.06.2007
Сообщений: 42
Провел на форуме: 263861
Репутация:
6
|
|
Сообщение от NOmeR1
Попробуй заменить
PHP код:
if($send)
{
if($poluchatel)
{
if($otpravitel)
{
if($messaga)
{
На
PHP код:
if($_POST['send'])
{
if($_POST['poluchatel'])
{
if($_POST['otpravitel'])
{
if($_POST['messaga'])
{
Попробовал, вроде пишет щас , что : Сообщение успешно отправлено, но на ящик пробный не приходят почему то  почему интересно?
|
|
|

11.07.2007, 21:33
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Сообщение от dudits
Попробовал, вроде пишет щас , что : Сообщение успешно отправлено, но на ящик пробный не приходят почему то  почему интересно?
Возможно, у тебя стоит денвер. Поставь его на 6te.net.
|
|
|

12.07.2007, 05:44
|
|
Постоянный
Регистрация: 05.06.2007
Сообщений: 335
Провел на форуме: 4319431
Репутация:
677
|
|
мой первый скрипт который я выкладываю =) флудит камментами к фотке на сайте vkontakte.ru, м.б. потом переделаю его в спамер, как я понял ограничений на комментарии там нет, спасибо KSURi и genom-- за то что отвечали на мои вопросы по перл
Код:
#!/usr/bin/perl
###CONFIG###
$login = 'milo@mail.ru';
$password = 'Pas$W@rD';
$tg = 100; #сколько сообщений слать
$target = '50343443'; #id фотки которую будем камментировать
$text = 'Йа фотокамментомёт!'; #текст каммента
$pause = 0.5; #задержка между запросами
###CONFIG###
use LWP::UserAgent;
use HTTP::Cookies;
$ua = LWP::UserAgent->new;
$cookies = HTTP::Cookies->new;
$ua->cookie_jar($cookies);
$res = $ua->post('http://vkontakte.ru/login.php', {
'referer' => '',
'email' => $login,
'pass' => $password,
'CookieDate' => 1 });
$res = $ua->get('http://vkontakte.ru/profile.php');
while($count < $tg){
$res = $ua->get("http://vkontakte.ru/photos.php?act=show&id=$target&act=post&comment=$text");
print $res->as_string;
$count++;
sleep($pause);
}
Последний раз редактировалось C!klodoL; 12.07.2007 в 05:46..
|
|
|

12.07.2007, 12:00
|
|
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме: 5301021
Репутация:
1879
|
|
Только что заметил... В посимвольном бруте паролей указывают массив из букв и в цикле начинают перебирать все возможные комбинации из них. Не путать с использованием rand().!
На мой взгляд проще сделать так:
PHP код:
<?php $string = "aaaaa"; while(strlen($string) == 5) { echo $string .'<br>'; $string++; } ?>
Последний раз редактировалось BlackLogic; 12.07.2007 в 12:03..
|
|
|

12.07.2007, 15:29
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Вот ещё придумал способ защиты админки или любого скрипта от постаронних глаз, если нету MySQL или того, где бы хранилась информация о админе. Ввод пароля не нужен
PHP код:
<?
...
if($REMOTE_ADDR != 'тут.введите.ваш.ip') //не забудьте изменить эту строчку
exit('Вы не админ :)');
...
?>
Однако, этот способ не очень безопасный.
Последний раз редактировалось NOmeR1; 14.07.2007 в 01:55..
|
|
|

12.07.2007, 16:27
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
Однако, этот способ не очень безопасный.
если куплен внешний ип, то вполне безопасно =)
|
|
|

12.07.2007, 23:32
|
|
Постоянный
Регистрация: 06.12.2006
Сообщений: 762
Провел на форуме: 5352530
Репутация:
2062
|
|
Подкиньте скрипт плиз - нужно пропарсить файл по количеству символов в слове, то есть нужен скрипт, который примет на вход файл с текстом (каждое слово с новой строки), а на выходе будeт созданы файлы в которых будут слова с определенным количеством символов - с 6, 7, 8 etc символов
perl/php
ЗЫ еще вспомнил, нужен второй - обрезать слова частями, то есть нужно обрезать слово на N символов в один файл, а всё что после N слить в другой
Последний раз редактировалось Thanat0z; 12.07.2007 в 23:43..
|
|
|

12.07.2007, 23:52
|
|
наркоман с медалью
Регистрация: 07.05.2005
Сообщений: 3,704
Провел на форуме: 19975136
Репутация:
4536
|
|
PHP код:
<?php
$fp = fopen('file.txt', 'r');
$f = array();
while(!feof($fp)){
$word = rtrim(fgets($fp));
$len = strlen($word);
if(!file_exists($len.'.txt') || !$f[$len]){
$f[$len] = fopen($len.'.txt', 'w');
}
fwrite($f[$len], $word."\n");
}
foreach($f as $k=>$v) fclose($f[$k]);
fclose($fp);
?>
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|