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

19.12.2009, 20:48
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
вебхак - защита
хелло ворлд, вот написал тут скриптик для своего сайта - чтобы филтровал запросы:
PHP код:
<?php
function split_req($s){$s=explode("&",$s);return($s);}
$request=$_SERVER['QUERY_STRING'];
$prequest=$_POST;
foreach($prequest as $pv => $pn){$preq=$preq.$pv."=".$pn;}
$request=stripslashes($preq).$request;
$request=urldecode($request);
$request=strtolower($request);
$vars=split_req($request);
$xss_attack = array("<script","</script>","location.href","document.cookie","src=",".js","http://","alert(","%3E","%3C");
$rfi_attack = array("../","./","etc/passwd","%00","http://","ftp://","://","data:");
$sql_attack = array("'","union","select","from","%27");
foreach($vars as $kk=>$vv)
{$cvd=explode("=",$vv);$cvn=$cvd[0];$cvv=$cvd[1];
foreach($xss_attack as $kkk=>$vvv){if (strstr($cvv,$vvv)){$xss_inf=1;$xss_poison=$vv;break;}}
foreach($rfi_attack as $kkkk=>$vvvv){if (strstr($cvv,$vvvv)){$rfi_inf=1;$rfi_poison=$vv;break;}}
foreach($sql_attack as $kkkkk=>$vvvvv){if (strstr($cvv,$vvvvv)){$sql_inf=1;$sql_poison=$vv;break;}}
if ($xss_inf=="1")
{
$report="<br><b>".$_SERVER['REMOTE_ADDR'] . "</b> tried to attack system by <i>XSS attack</i> via this request:<br> <font color=red>" . stripslashes(htmlspecialchars($xss_poison)) . "</font><br>By date: ".date("F j, Y, g:i a")."<br>on page: <font color=blue>".htmlspecialchars($_SERVER['HTTP_REFERER'])."</font><br><br>";
$logfile=fopen("./logs/edbe01a269a70b0780c47bf6e11792a9.php","a+");
fputs($logfile,base64_encode($report)."\n");
echo("<center><font color=red size=-1 face=tahoma>Request denied because of infected as XSS - Attack</font></center>");
exit;
}
if ($rfi_inf=="1")
{
$report="<br><b>".$_SERVER['REMOTE_ADDR'] . "</b> tried to attack system by <i>PHP Include</i> via this request:<br> <font color=red>" . stripslashes(htmlspecialchars($rfi_poison)) . "</font><br>By date: ".date("F j, Y, g:i a")."<br>on page: <font color=blue>".htmlspecialchars($_SERVER['HTTP_REFERER'])."</font><br><br>";
$logfile=fopen("./logs/edbe01a269a70b0780c47bf6e11792a9.php","a+");
fputs($logfile,base64_encode($report)."\n");
echo("<center><font color=red size=-1 face=tahoma>Request denied because of infected as RFI / LFI attack</font></center>");
exit;
}
if ($sql_inf=="1")
{
$report="<br><b>".$_SERVER['REMOTE_ADDR'] . "</b> tried to attack system by <i>SQL Injection</i> via this request:<br> <font color=red>" . stripslashes(htmlspecialchars($sql_poison)) . "</font><br>By date: ".date("F j, Y, g:i a")."<br>on page: <font color=blue>".htmlspecialchars($_SERVER['HTTP_REFERER'])."</font><br><br>";
$logfile=fopen("./logs/edbe01a269a70b0780c47bf6e11792a9.php","a+");
fputs($logfile,base64_encode($report)."\n");
echo("<center><font color=red size=-1 face=tahoma>Request denied because of infected as SQL - Injection attack</font></center>");
exit;
}
$xss_inf=0;
$rfi_inf=0;
$sql_inf=0;
}
?>
ну и логфайл - вьювер:
PHP код:
<html>
<style>
.ffl
{
border: solid 1px orange;
background-color:FFF0C6;
padding:3px;
margin-left:20px;
margin-right:20px;
}
</style>
<center><h3>Attacks logfile viewer:</h3></center><br><br>
<font face=verdana size=-1>
<?php
@$logfile=file("./logs/edbe01a269a70b0780c47bf6e11792a9.php");
$i=0;
for($i=0;$i<count($logfile);$i++)
{
$crep=stripslashes(trim(base64_decode(trim($logfile[$i]))));
echo("<div class=ffl>".$crep."</div><br><br>");
}
?>
</font>
</html>
если че-нить пропустил или есть какие - то советы/пожелания, отпишитесь
|
|
|

19.12.2009, 21:10
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
otpisyvemsa
|
|
|

19.12.2009, 21:14
|
|
Участник форума
Регистрация: 27.08.2006
Сообщений: 223
Провел на форуме: 2154209
Репутация:
341
|
|
http://damagelab.org/dlsecure/ лучше
|
|
|

19.12.2009, 21:20
|
|
Познающий
Регистрация: 11.09.2008
Сообщений: 99
Провел на форуме: 2753780
Репутация:
585
|
|
Обход:
Код:
?lala=-1+/*%26*/union+select...
|
|
|

19.12.2009, 21:23
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
скачал. как откыл архив сразу бросилось в глаза то, что много файлов. 80% - морда сайта. 20% - движуха.
вот:
PHP код:
<?php
$bad_sql = array("union","select","from","where","insert"," or "," and ","/\*","'",);
$bad_include = array("http://","../",".php",".phtml",".php3",".php4","./",".php5",); // a gde ftp i drugie protokoly? obxod: &file=ftp://abc:cba@abc.com/shell
$bad_xss = array("<script","document.cookie","javascript:",); // a kakzhe iframe? nado http filtrovat tozhe.
$allow = array("filelink","txt");
$allow_custom = array("filelink"=>array("http://"),"url"=>array("http://"),"site"=>array("http://"),"txt"=>array("http://"),"homepage"=>array("http://"));?>
незнаю - может я че просмотрел, но невижу каких то приимуществ
|
|
|

19.12.2009, 21:33
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 44
Провел на форуме: 289239
Репутация:
32
|
|
1.
$rfi_attack = array("../","./","etc/passwd","%00","http://","ftp://","://","data:");
NULL, ne prokatit. Ty zhe uzhe razkodiroval stroku
$request=urldecode($request);
chtoby nayti null - ne "%00", a "\x00" nuzhno ispolzovat.
2.
$xss_attack = array("<script","</script>","location.href","document.cookie","src=", ".js","http://","alert(","%3E","%3C");
eto ochen specificheskiy massiv. Est okolo sotni raznovidnostey raznogo roda XSS, v tegi mozhno vstavlat HTML commentarii /***/, tak chto etot massiv nuzhno polnostye izmenyat i ispolzovat regexpy, esli hochesh horoshuyu zashitu.
3.
$rfi_attack = array("../","./","etc/passwd","%00","http://","ftp://","://","data:");
gde smysl "http://","ftp://","://" ? dostatochno ved odnogo "://"
4.
strstr uchityvaet registr simvolov. Vse tvoi massivy mozhno oboyti, zameniv hot odnu bukvu na zaglavnuyu.
ispolzuy stristr togda uzhe.
5.
htmlspecialchars($_SERVER['HTTP_REFERER'])
V htmlspecialchars est baga, kotoraya mozhet polozhit tvoy server, esli PHP <= 4.3
6.
function split_req($s){$s=explode("&",$s);return($s);}
v vozvrate ostanutsa ampersandy &. Eto ne smertelno, no na budushee.
|
|
|

19.12.2009, 21:38
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
1. насчет того что там есть в фильтрах какбы дубли то это да, уберу их потом
2. strstr() функция там как раз норм, так как в самом начале еще весь реквест идет в strtolower
3. насчет htmlspecialchars() поподробнее плз
4. неостанутся амперсанды.
|
|
|

19.12.2009, 21:38
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме: 6828219
Репутация:
2274
|
|
$xss_attack = array("<script","</script>","location.href","document.cookie","src=", ".js","http://","alert(","%3E","%3C");
А какже события onlick/onmouseout/on.... а оттуда уже document.write(decode.string - или как его там, и делаем чо хочем)
|
|
|

19.12.2009, 21:45
|
|
Познающий
Регистрация: 27.09.2008
Сообщений: 44
Провел на форуме: 289239
Репутация:
32
|
|
2. strstr() функция там как раз норм, так как в самом начале еще весь реквест идет в strtolower
da, ne zametil.
3. насчет htmlspecialchars() поподробнее плз
http://secunia.com/advisories/22653/ chtoto vrode etogo.
4. неостанутся амперсанды.
xz.. mozhet cheto putayu.
|
|
|

19.12.2009, 22:18
|
|
Banned
Регистрация: 07.07.2009
Сообщений: 109
Провел на форуме: 766927
Репутация:
67
|
|
А какже события onlick/onmouseout/on.... а оттуда уже document.write(decode.string - или как его там, и делаем чо хочем)
да, надо подумать
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|