ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.06.2008, 14:55
lomerok
Участник форума
Регистрация: 23.04.2008
Сообщений: 132
Провел на форуме:
103153

Репутация: 13
По умолчанию

чета посмотрел и ниче непонел , как работают слэши я знаю а остальные параметры для чего ?
 

  #2  
Старый 06.06.2008, 15:01
lomerok
Участник форума
Регистрация: 23.04.2008
Сообщений: 132
Провел на форуме:
103153

Репутация: 13
По умолчанию

все разобрался всем спасибо
 

  #3  
Старый 06.06.2008, 17:28
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

реально выложи где нить, а то мне говорят, что я твою юбку стырил. Хоть посмотрю, похожи ли они)
 

  #4  
Старый 06.06.2008, 17:32
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

http://rapidshare.com/files/120506001/www.rar
 

  #5  
Старый 06.06.2008, 17:58
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

И всетаки они разные
PHP код:
<?
header 
("Content-type: image/png");
error_reporting(0);
$mysql_host "";
$mysql_database "";
$mysql_user "";
$mysql_password "";
mysql_connect($mysql_host$mysql_user$mysql_password);
mysql_select_db($mysql_database);


$agent substr($_SERVER['HTTP_USER_AGENT'], 0);
if(
preg_match("!(Opera[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "opera";
}
elseif(
preg_match("!(Firefox[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "firefox";
}
elseif (
preg_match("!MSIE([\s\d\./]+)!msi"$agent$math))
{
    
$agent "Internet Explorer ".$math[1];
    
$mysqlAgent "msie";
}
elseif (
preg_match("!(Konqueror[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "konqueror";
}
elseif (
preg_match("!(Iceweasel[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "iceweasel";
}
elseif (
preg_match("!(Lynx[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "lynx";
}
elseif (
preg_match("!(Netscape[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "netscape";
}
elseif (
preg_match("!(Safari[\s\d\./]+)!msi"$agent$math))
{
    
$agent $math[1];
    
$mysqlAgent "safari";
}

if(
preg_match("!(Windows\s?[\s\w\.]+)!"$_SERVER['HTTP_USER_AGENT'], $math))
{
    
$os $math[1];
    if(
$os == "Windows NT 5.0")
        
$os "Windows 2000";
    elseif(
$os == "Windows NT 5.01")
        
$os "Windows 2000";
    elseif(
$os == "Windows NT 5.1")
        
$os "Windows XP";
    elseif(
$os == "Windows NT 5.2")
        
$os "Windows Server 2003";
    elseif(
$os == "Windows NT 6.0")
        
$os "Windows Vista";
}
elseif(
preg_match("!(Mac\s?OS[\s\w\.]+)!"$_SERVER['HTTP_USER_AGENT'], $math))
    
$os $math[1];
elseif(
preg_match("!(Symbian\s?OS[\s\w\./]*)!"$_SERVER['HTTP_USER_AGENT'], $math))
    
$os $math[1];
elseif(
preg_match("!(Linux[\s\w\./]+)!"$_SERVER['HTTP_USER_AGENT'], $math))
    
$os $math[1];
elseif(
preg_match("!(\w+BSD[\s\w\./]+)!"$_SERVER['HTTP_USER_AGENT'], $math))
    
$os $math[1];
elseif(
preg_match("!(\J2ME[\s\w\./]+)!"$_SERVER['HTTP_USER_AGENT'], $math))
    
$os $math[1];
    
include(
"geoip/geoipcity.inc");
include(
"geoip/geoipregionvars.php");
$gi geoip_open("geoip/GeoIPCity.dat"GEOIP_MEMORY_CACHE);
$record geoip_record_by_addr($gi$_SERVER['REMOTE_ADDR']);
if(!
$record->city)
    
$record->city "-";
if(!
$record->country_name)
    
$record->country_name "-";

    
$height 42;
$width 350;
$im imagecreate($width,$height);

$clblack ImageColorAllocate($im0,0,0);
$clLightGrey  ImageColorAllocate($im222,222,222);
$clgrey  ImageColorAllocate($im190,190,190);
$clDarkGray ImageColorAllocate($im70,70,70);

for(
$i 0$i $height$i++)
{
      
$color ImageColorAllocate($im100-(100)/$height*$i,100-(100)/$height*$i,100-(100)/$height*$i);
    
imageline($im,0,$i,$width-1$i$color);
}
for(
$i 0$i $width+$height$i+=5)
{
    
imageline($im,$i-$height,0,$i$height$clDarkGray);
}
imagerectangle($im00$width $height 1$clgrey);
    
$font="mini.ttf";
imagettftext($im60310$clgrey$font"> Browser:");
imagettftext($im607010$clLightGrey$font$agent);
imagettftext($im60317$clgrey$font"> OS:");
imagettftext($im607017$clLightGrey$font$os);
imagettftext($im60324$clgrey$font"> IP:");
imagettftext($im607024$clLightGrey$font$_SERVER['REMOTE_ADDR']);
imagettftext($im60331$clgrey$font"> Country:");
imagettftext($im607031$clLightGrey$font$record->country_name);
imagettftext($im60338$clgrey$font"> City:");
imagettftext($im607038$clLightGrey$font$record->city);
imagettftext($im60$width-2010$clgrey$font"oRb");

ImagePng($im);
geoip_close($gi);

mysql_query("INSERT INTO `useragents` SET `ip`='".$_SERVER['REMOTE_ADDR']."', `browser`='".addslashes($mysqlAgent)."', ".
            
"`useragent`='".addslashes($_SERVER['HTTP_USER_AGENT'])."', `os`='".addslashes($os)."',".
            
"`referer`='".addslashes($_SERVER["HTTP_REFERER"])."', `lastupdate`=NOW()".
            
"ON DUPLICATE KEY UPDATE `browser`='".addslashes($mysqlAgent)."', ".
            
"`useragent`='".addslashes($_SERVER['HTTP_USER_AGENT'])."', `os`='".addslashes($os)."',".
            
"`referer`='".addslashes($_SERVER["HTTP_REFERER"])."', `lastupdate`=NOW()");
?>
на хостинг не выкладываю, ибо лень 20 метров в нек кидать. geoip на сайте разработчиков.
 

  #6  
Старый 06.06.2008, 18:02
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Цитата:
$agent = substr($_SERVER['HTTP_USER_AGENT'], 0);
Дастишь олбанишЪ?

Цитата:
$_SERVER['REMOTE_ADDR']
$_SERVER['HTTP_USER_AGENT']
$_SERVER["HTTP_REFERER"]
Пофильтруй для приличия, ибо AccessDiver рулид
 

  #7  
Старый 06.06.2008, 18:07
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

Цитата:
Сообщение от BlackSun  
Дастишь олбанишЪ?
ахаха, рудимент после дебага остался

Цитата:
Сообщение от BlackSun  
Пофильтруй для приличия, ибо AccessDiver рулид
на инсерте посматри, специльно там экранирую.
 

  #8  
Старый 06.06.2008, 18:13
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Цитата:
Сообщение от oRb  
на инсерте посматри, специльно там экранирую.
До:
'/**/UNION/**/SELECT/**/0/*
После:
\\\'/**/UNION/**/SELECT/**/0/*

Запрос будет примерно такой:
'\\\'/**/UNION/**/SELECT/**/0/*

Это фильтрация?)) base64_encode надежней
 

  #9  
Старый 06.06.2008, 18:34
oRb
Members of Antichat - Level 5
Регистрация: 09.05.2008
Сообщений: 304
Провел на форуме:
7875940

Репутация: 2362
По умолчанию

Цитата:
Сообщение от BlackSun  
До:
'/**/UNION/**/SELECT/**/0/*
После:
\\\'/**/UNION/**/SELECT/**/0/*
неа)
PHP код:
<?
echo addslashes("'/**/UNION/**/SELECT/**/0/*")
//   \'/**/UNION/**/SELECT/**/0/*
?>
ибо magic_quotes_runtime = Off
Цитата:
Сообщение от BlackSun  
Запрос будет примерно такой:
'\\\'/**/UNION/**/SELECT/**/0/*
не понял. если ты отправишь это заместо агента, к примеру, в базу все равно будет вставляться \'\\\\\'/**/UNION/**/SELECT/**/0/*. И схавает он это, не поперхнувшись.

Цитата:
Сообщение от BlackSun  
base64_encode надежней
согласен, но в pma глядеть не удобно
 

  #10  
Старый 06.06.2008, 18:40
BlackSun
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме:
10046345

Репутация: 4589


По умолчанию

Цитата:
Сообщение от oRb  
в базу все равно будет вставляться \'\\\\\'/**/UNION/**/SELECT/**/0/*. И схавает он это, не поперхнувшись.
Твой кусок запроса
user_agent='
Юзер агент (/**/ сменил на пробел для большей наглядности):
' UNION SELECT 0/*
после добавления слешей:
\' UNION SELECT 0/*
итого твой запрос получится:
user_agent='\' UNION SELECT 0/*

/* - обрежет остатки запроса
 
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ