English
¢¸¢· µÚ·Î
Ãë¾àÁ¡ID 16047
À§Çèµµ 40
Æ÷Æ® 21
ÇÁ·ÎÅäÄÝ TCP
ºÐ·ù FTP
»ó¼¼¼³¸í ÇØ´ç BFTPD µ¥¸óÀº NLST ¸í·É¾î¿¡ Format String Ãë¾àÁ¡À» °¡Áö°í ÀÖ´Ù.
Max-Wilhelm Bruker's FTP ¼­¹öÀÎ BFTPD µ¥¸óÀº Linux, BSD/OS, FreeBSD, DG-UN, Tru64 »ó¿¡¼­ inetd µ¥¸ó¿¡ Á¾¼ÓµÇ¾î ¶Ç´Â µ¶¸³ÀûÀ¸·Î µ¿ÀÛÇÒ ¼ö ÀÖ´Â FTP ¼­¹ö ÇÁ·Î±×·¥ÀÌ´Ù. ±× Áß BFTPD 1.0.12 ¹öÀüÀº "distlir.c" ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â "sendstrf" ¿Í "dirlist" ÇÔ¼ö ±¸Çö¿¡ ÀÖ¾î ¸î °¡Áö ¹ö±×¸¦ °¡Áö°í ÀÖ´Ù.
¹ö±×µé Áß Æ¯È÷, ÀÌ Format String Ãë¾àÁ¡Àº "sendstrf" ÇÔ¼ö°¡ ÆÄÀϸíÀÌ format string %p%p%p%p ¸¦ Æ÷ÇÔÇÏ´Â ÆÄÀÏÀ» ¸®½ºÆÃ(listing) ÇϱâÀ§ÇØ ¿äûµÈ NLST ¸í·É¾î¿¡ ÀÇÇØ¼­ È£ÃâµÉ °æ¿ì, ¹ß»ýÇÏ°Ô µÈ´Ù. ¸¸¾à, ÆÄÀÏ "%p%p%p%p" ÀÌ Á¸ÀçÇϰí NLST ¸í·ÉÀ» Àü´ÞÇÒ °æ¿ì, ´ÙÀ½°ú °°Àº °á°ú°¡ ¹ÝȯµÈ´Ù.

#ls
%p%p%p%p
ftp>nlist
200 PORT ¡¦ OK
150 Data connection established.
¡¦.0xbffdde140x499e8100x424000bb¡¦....
226 Directory list has been submitted
ftp>

À̰ÍÀº vsprintf ÇÔ¼ö¿¡ ¿Ã¹Ù¸£°Ô format stringÀ» Àü´ÞÇÒ ¼ö ¾ø°Ô µÇ¸ç vsprintf ÀÇ ¹öÆÛ¸¦ ¿À¹öÇ÷οì(overflow)½Ãų ¼ö ÀÖ´Ù. ¸¸¾à, ¿ø°ÝÁö °ø°ÝÀÚ°¡ FTP ¼­¹ö »óÀÇ ÀÓÀÇÀÇ µð·ºÅ丮¿¡ ´ëÇØ¼­ ¾²±â ¾×¼¼½º(access) ±ÇÇÑÀ» °®´Â´Ù¸é, ÀÌ Ãë¾àÁ¡À» ÀÌ¿ëÇÏ¿© ½Ã½ºÅÛ ·çÆ® ±ÇÇÑÀ» ȹµæÇÒ ¼ö ÀÖÀ¸¸ç ÀÓÀÇÀÇ ÄÚµå ½ÇÇ൵ °¡´ÉÇÏ´Ù.

* Âü°í »çÀÌÆ®:
http://www.securiteam.com/unixfocus/6N00E0A0KW.html

* ¿µÇâÀ» ¹ÌÄ¡´Â Ç÷§Æû:
BSD ¸ðµç ¹öÀü
DG/UX ¸ðµç ¹öÀü
FreeBSD ¸ðµç ¹öÀü
Linux ¸ðµç ¹öÀü
Solaris ¸ðµç ¹öÀü
Tru64 UNIX ¸ðµç ¹öÀü
bftpd 1.0.12
ÇØ°áÃ¥ BFTPD À¥ »çÀÌÆ® http://bftpd.sourceforge.net/ ¸¦ ÂüÁ¶ÇÏ¿© BFTPD1.0.13 ÀÌ»óÀÇ ¹öÀüÀ¸·Î ¾÷±×·¹À̵å ÇØ¾ß ÇÑ´Ù.

Àӽà Á¶Ä¡¹æ¹ýÀ¸·Î, bftpd-1.0.11/dirlist.c ÆÄÀÏ Áß 62ÁÙÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇϰí Àç ÄÄÆÄÀÏÇÏ¿© ¼³Ä¡ÇÑ´Ù:
sendstrf(s, entry->d_name) => sendstrf(s, "%s", entry->d_name)
°ü·Ã URL (CVE)
°ü·Ã URL (SecurityFocus)
°ü·Ã URL (ISS)