- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
$str=тут запрос и всё такое сам поймёшь Например Ник или Пароль;
$col=strlen($str);
for($i=0; $i <= $col ;$i++)
{
$d=1;
$b= substr($str,$i,$d);
$d++;
if($b == chr(92)) { exit ("Hack attemp!!!"); }
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+181.3
$str=тут запрос и всё такое сам поймёшь Например Ник или Пароль;
$col=strlen($str);
for($i=0; $i <= $col ;$i++)
{
$d=1;
$b= substr($str,$i,$d);
$d++;
if($b == chr(92)) { exit ("Hack attemp!!!"); }
}
http://www.askdev.ru/question/1427/Как-защититься-от-sql-инъекций/#answer2891
+104.7
/*==================================================================================*/
/* Преобразование целого числа в ASCII */
/*==================================================================================*/
unsigned char IntToStr (unsigned long Value,unsigned char *pBuf,unsigned char n,unsigned char Zeros)
{
// Локальные переменные
unsigned char j = 0;
unsigned long dec;
uldiv_t Tmp;
// Программа
// Перевод ASCII в значение
while (n--)
{
switch(n)
{
case 0:
dec = 1;
break;
case 1:
dec = 10;
break;
case 2:
dec = 100;
break;
case 3:
dec = 1000;
break;
case 4:
dec = 10000;
break;
case 5:
dec = 100000;
break;
case 6:
dec = 1000000;
break;
case 7:
dec = 10000000;
break;
case 8:
dec = 100000000;
break;
case 9:
dec = 1000000000;
}
Tmp = uldiv(Value,dec);
// Остаток
Value = Tmp.rem;
// Ограничение
if (Tmp.quot > 9)
Tmp.quot = 9;
// Проверка целой части
if (Zeros || j || Tmp.quot || (dec == 1))
*(pBuf + j++) = Hex_Table[Tmp.quot];
}
*(pBuf + j) = '\0';
return j;
}
без комментариев.
+157.2
public function is_image($mime) {
//Функция проверяет по mime типу является ли поступивший файл изображением
$images_mime = array('image/jpeg','image/pjpeg','image/png','image/cgm','image/fits','image/g3fax',
'image/gif','image/ief','image/jp2','image/jpm','image/jpx','image/naplps',
'image/prs.btif','image/prs.pti','image/t38','image/tiff','image/tiff-fx',
'image/vnd.adobe.photoshop','image/vnd.cns.inf2','image/vnd.djvu','image/vnd.dwg',
'image/vnd.dxf','image/vnd.fastbidsheet','image/vnd.fpx','image/vnd.fst',
'image/vnd.fujixerox.edmics-mmr','image/vnd.fujixerox.edmics-rlc','image/vnd.globalgraphics.pgb',
'image/vnd.microsoft.icon','image/vnd.mix','image/vnd.ms-modi','image/vnd.net-fpx',
'image/vnd.sealed.png','image/vnd.sealedmedia.softseal.gif','image/vnd.sealedmedia.softseal.jpg',
'image/vnd.svf','image/vnd.wap.wbmp','image/vnd.xiff');
if(!in_array($mime,$images_mime)) {
//Не было найдено совпадений mime типа - это не картинка
return false;
}
else {
//Было найдено совпадение mime типа
return true;
}
}
Кучка бредокода ради закрытия уязвимости.
+100.3
int main()
{
puts("<?php\n");
int ch, xit, i, j;
for(j=0;j<4;j++) {
printf("$weather_date[%d]='", j);
xit=1;
while(xit) {
do { ch = getc(stdin); } while((ch != EOF)&&(ch != '<'));
if(ch == EOF) return 1;
h = getc(stdin);
if(ch == EOF) return 1;
if(ch == 't') {
ch = getc(stdin);
if(ch == EOF) return 1;
if(ch == 'd') {
do { ch = getc(stdin); } while((ch != EOF)&&(ch!='>'));
if(ch == EOF) return 1;
do { ch = getc(stdin); if((ch != EOF)&&(ch != '<')) printf("%c", ch); } while((ch != EOF)&&(ch != '<'));
if(ch == EOF) return 1;
printf("';\n$weather_time[%d]='", j);
for(i=0;((ch = getc(stdin)) != EOF)&&(i<2); i++);
if(ch == EOF) return 1;
do { ch = getc(stdin); if((ch != EOF)&&(ch != '<')) printf("%c", ch); } while((ch != EOF)&&(ch != '<'));
if(ch == EOF) return 1;
puts("';\n");
xit = 0;
по крону генерится php-скрипт, прогой написанной на сях)
+163.5
$this->query_insert($this, array('', $mode, '', '',$id_group_new, $id_subgroup, $id_product,
'', '', '', '', '', '', '', '', '',
'', '', '', '', '', '', '', '', '', '', '', ''));
Вышел на этот кусок гкода с ошибки о неверном количестве значений в sql insert, не удивился :)
+73.4
public class SaveBlankElementException extends RuntimeException{
public SaveBlankElementException(Throwable cause){
super(cause);
}
public SaveBlankElementException(String message,Throwable cause){
super(message,cause);
}
public SaveBlankElementException(String message){
super(message);
}
public SaveBlankElementException(){
}
@Override
public String getMessage(){
return "Попытка сохранения пустого элемента\nНе вызван prepareCreate()";
}
}
Зачем, спрашивается было создавать этот класс, когда можно было бы
вызвать исключение
throw new UnsupportedOperationException("Попытка сохранения пустого элемента\nНе вызван prepareCreate()");
+154.1
$style = ( U_AREA != 'admin' and !defined('U_AREA_MOD') ) ? 'public/templates/' . URegistry::$settings['default_template']['value'] : 'sources/skin_acp/' . SKIN_ACP;
ололо
+60.9
<a href="game.php?page=buildings&cmd=insert">
<input style='color:#0F0; font-weight: bold'; type='submit' value='bla-bla-bla'>
</a>
Человек ВНЕЗАПНО понял, как сделать рамку вокруг ссылки "как у кнопки".
+163.3
#_connect
mysql_connect("XX.XXX.XX.XX","user","pass") or die("chect db connect settings o_o'");
mysql_select_db("database") or die("db not found O_o");
#_
$ip=GetIP();
$date=date("Y-m-d H:i:s");
$browser=GetBrowser();
$referer=$_SERVER['HTTP_REFERER'];
$sql="CREATE TABLE `Stats` (
`ip` VARCHAR( 19 ) NOT NULL ,
`date` DATETIME NOT NULL ,
`browser` VARCHAR( 30 ) NOT NULL ,
`referer` VARCHAR( 128 ) NOT NULL ,
`count` MEDIUMINT NOT NULL ,
PRIMARY KEY ( `ip` )
);";
if (!defined("ADMIN"))
{
$sql="SELECT * FROM `Stats` WHERE `ip` = '$ip'";
$res=mysql_query($sql); $arr=mysql_fetch_array($res);
if (!empty($arr))
{ $sql="UPDATE Stats SET Stats.count = Stats.count +1 WHERE ip = '$ip'";
@mysql_query($sql);
$sql="UPDATE Stats SET Stats.date = '$date' WHERE ip = '$ip'";
@mysql_query($sql);
}
else
{ $sql="
INSERT INTO `Stats`
( `ip` , `date` , `browser` , `referer` , `count`, `first_date` ) VALUES
('$ip', '$date', '$browser', '$referer', 1, '$date');
";
@mysql_query($sql);
};
};
Function GetBrowser()
{ $useragent = $_SERVER['HTTP_USER_AGENT'];
$brows = 'none';
if(strpos($useragent, "Mozilla") !== false) $brows = 'Mozilla Firefox';
if(strpos($useragent, "MSIE") !== false) $brows = 'Microsoft Internet Explorer';
if(strpos($useragent, "MyIE") !== false) $brows = 'MyIE';
if(strpos($useragent, "Opera") !== false) $brows = 'Opera';
if(strpos($useragent, "Netscape")!== false) $brows = 'Netscape';
if(strpos($useragent, "Firefox") !== false) $brows = 'Mozilla Firefox';
return $brows;
};
Function GetIP()
{
$ip = $_SERVER['REMOTE_ADDR']; if(empty($ip)) $ip=$_SERVER['X_FORWARD_FOR'];
if(empty($ip)) $ip = '0.0.0.0';
return $ip;
};
Этот код инклюдится первой строкой в index.php.
Особенно феерично выглядит
--
$sql="SELECT * FROM `Stats` WHERE `ip` = '$ip'";
$res=mysql_query($sql); $arr=mysql_fetch_array($res);
--
На момент аудита исходников в таблице Stats было более 300 тысяч записей и index.php отдавался примерно за 1.5 сек
+138.1
unsigned char SIM300_Reboot(void)
{
// проверим статус модема
if (!pinSTATUS) // если STATUS = 0 (модем выключен)
{
while (1) //если не включается-включаем до посинения
{
if (!(Modem_ON()))
return 0;
}
} else // если STATUS = 1 (модем включен)
{
while (1) //если не выключается - выключаем до посинения
{
if ((!Modem_OFF()) && (!Modem_ON()))
return 0;
}
}
}
тяжёлые будни программиста embedded-систем.
дополнительный аромат: упомянутые функции возвращают 0 в случае успешного выполнения, а не наоборот, как можно было бы подумать при виде if (!some_func(...))