¸®´ª½º

 3916, 1/196 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   asdwho
   http://www.blogin.com/blog/home?=asdwho
   [ÄÄÆÄÀÏ]gcc version¿¡ ´ëÇØ..

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3943 [º¹»ç]


ÇöÀç Á¦ ³ëÆ®ºÏ¿¡´Â ¿ìºÐÅõ 10.10ÀÌ ±ò·Á ÀÖ½À´Ï´Ù.

¿À¹ö ÇÃ·Î¿ì ¸¦ °øºÎÇÏ´Ù°¡ Äڵ带 ½ÇÇàÇÏ¿´´õ´Ï ¼¼±×¸àÅ×ÀÌ¼Ç ÆúÆ®°¡ ¾Æ´Ñ ´Ù¸¥ ¿¡·¯¸Þ½ÃÁö°¡ ³ª¿Ô½À´Ï´Ù.

ÄÚµå´Â ´ÙÀ½°ú °°½À´Ï´Ù. (º» ÄÚµå´Â 'ÇØÅ· °ø°ÝÀÇ ¿¹¼ú' ¼¼ÄÁµå ¿¡µð¼ÇÀÇ auth_overflow2.cÀÔ´Ï´Ù.)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int check_authentication(char* password) {
   char password_buffer[16];
   int auth_flag = 0;

   strcpy(password_buffer, password);
  
   if(strcmp(password_buffer,"brilling")==0)
      auth_flag= 1;
   if(strcmp(password_buffer,"outgrade")==0)
      auth_flag = 1;

   return auth_flag;
}

int main(int argc,char* argv[]){
   if(argc <2) {
      printf("»ç¿ë¹ý: %s<ÆÐ½º¿öµå>\n", argv[0]);
      exit(0);
   }
   if(check_authentication(argv[1])){
      printf("\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
      printf("          Á¢±Ù Çã¿ë.\n");
      printf("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
   } else {
      printf("\nÁ¢±ÙºÒ°¡.\n");
   }
}

À§ ÄÚµå´Â Ã¥¿¡¼­ Á÷Á¢ ž«°Ü Ä£°Å¶ó ÄÄÆÄÀϽÿ¡ ¿À·ù°¡ ³¯ ¼ö ÀÖ½À´Ï´Ù.

¾Æ¹«Æ° ÀÌ·±½ÄÀÇ ÄÚµåÀε¥,Ã¥¿¡ ³ª¿ÍÀִµ¥·Î  ÄÄÆÄÀÏ ÇÑ ÈÄ ½ÇÇàÀ» Çϸé

$gcc - g quth_overflow2.c
$./a.out $(perl -e 'print "\xbf\x84\x04\08"x10'); <-ÀÌ ½©ÄÚµå¿Í ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù µð¹ö±ë¸ðµå¿¡¼­ È®ÀÎÇØÁÖ¼¼¿ä.

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          Á¢±Ù Çã¿ë.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Secmentation fault (core dumped)

¶ó°í ³ª¿À´Â°Ô Á¤»óÀ̰ÚÁÒ. Áö±Ý ³ëÆ®ºÏ¿¡ ÀÖ´Â ¿ìºÐÅõ ¸»°í ´Ù¸¥ ¸®´ª½º(CentOS)¿¡¼­´Â ÀÌ·¸°Ô ³ª¿À±ä ÇÏÁö¸¸, À¯µ¶ ¿ìºÐÅõ¿¡¼­ ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃŰ¸é ´Ù¸¥ ¿À·ù¸Þ½ÃÁö°¡ ³ª¿Í Á¶±Ý ºÒÆíÇÕ´Ï´Ù. ¾Æ¸¶µµ gccÄÄÆÄÀÏ·¯ ¹öÁ¯ ¹®Á¦ ÀÎ°Í °°Àºµ¥,
Ȥ½Ã ´Ù¸¥ ¹öÁ¯ÀÇ ÄÄÆÄÀÏ·¯¸¦ ±ò¾Æ¾ß ÇÏ´ÂÁö ±Ã±ÝÇØ¼­ ÀÌ °Ô½ÃÆÇ¿¡ ¿Ã·Áº¾´Ï´Ù.

ÇöÀç gcc¹öÁ¯Àº 4.4.5 (Ubuntu/Linaro 4.4.4-14ubuntu5)ÀÔ´Ï´Ù.

À§ÀÇ ¸í·É¾î¸¦ ½ÇÇàÇÏ¿´À» ¶§ ³ª¿À´Â ¿¡·¯¸Þ½ÃÁö´Â

*** stack smashing detected ***: ./a.out terminated

À̶ó°í ¶ß¸ç ±×¹Ø¿¡ Ãß°¡ÀûÀ¸·Î ¹éÆ®·¹À̽º¿Í ¸Þ¸ð¸® ¸ÊÀÌ ¶ß´Âµ¥ º° µµ¿òÀÌ ¾ÈµÇ´Â °Í °°³×¿ä.
Á¢±Ù Çã¿ëÀ̶ó´Â °É º¸·Á¸é °á±¹ ¾î¶² ÄÄÆÄÀÏ·¯¸¦ ±ò¾Æ¾ß ÇÏ´ÂÁö ±Ã±ÝÇÕ´Ï´Ù.

Á¦¹ß µµ¿ÍÁÖ¼¼¿ä ¤Ð¤Ð

  Hit : 4560     Date : 2011/04/01 12:59



    
asdwho Àü¿¡ Áú¹®ÇϽŠºÐÀÌ ÀÖÀ¸½Ã±º¿ä. ´äº¯´ë·Î ÇØº¸°í µÇ¸é ÀÚ»èÇϰڽÀ´Ï´Ù. 2011/04/01  
¸Û¸Û gccÀÇ stack protector ±â´ÉÀ¸·Î ÀÎÇØ ³ª¿À´Â ¸Þ½ÃÁö°í¿ä
ÄÄÆÄÀÏ ½Ã -fno-stack-protector ¿É¼ÇÀ» ÁÖ½Ã¸é ¾ø¾Ù ¼ö ÀÖ½À´Ï´Ù
stack smashing detected gcc option ·Î ±¸±Û¸µÇß´õ´Ï http://bit.ly/hzwIQp ¿ä·¸°Ô °Ë»öÇß´õ´Ï
ºñ½ÁÇÑ Áú¹®ÀÌ º¸À̳׿è
2011/04/01  
¸Û¸Û Á» ±í°Ô °øºÎÇϽ÷Á¸é À̰͵µ Âü°íÇϼ¼¿ä~
http://studyfoss.egloos.com/5279959
http://www.trl.ibm.com/projects/security/ssp/
2011/04/01  
asdwho ¤¾¤¾ °¨»çÇÕ´Ï´Ù »ç½Ç ¾ÆÁÖ ¹ØÀ¸·Î ³»·Á°¡¸é °°Àº Áú¹®ÀÌ ¿Ã¶ó¿Í ÀÖ´õ±º¿ä.
±×·¡¼­ ¿À´Ã Áö¿ì·Á°í µé¾î¿Ô´Âµ¥ ¼ÒÁßÇÑ ´ñ±Û·Î ÀÎÇÏ¿©..

Á¶±Ý ³²°ÜµÑ±î ÇÕ´Ï´Ù.

¸Û¸Û´ÔÀÌ Á÷Á¢ ´äº¯ÇØÁֽŰǵ¥ ¤¾¤¾
2011/04/01