มาเรียนรู้ Syntax ของ Google กันครับ
[ intitle: ]
คำสั่งนี้ เป็นคำสั่งที่ ค้นหาชื่อเว็บ ที่มีคำใน keyword เช่น intitle: netguru computer article คำสั่งนี้ จะค้นหาเฉพาะเพจที่มีชื่อ title ข้างบนที่มีคำว่า netguru เท่านั้น ส่วนในแต่ละหน้าที่ค้นหา จะต้องมีคำว่า computer กับ article ในเนื้อหาของเพจนั้น
แล้วถ้าจะค้นหาเพจที่มีชื่อ title ว่า netguru computer article ทั้งสามคำหล่ะ ก็ใช้คำส่งนี้เลยครับ
[ allintitle: ]
เช่น intitle:netguru intitle:computer intitle:article
จะมีค่าเท่ากับว่าเราพิมพ์ว่า
allintitle: netguru computer article
[ inurl: ]
คำสั่งนี้ก็คล้ายๆ อันแรกครับ แต่เจาะจงไปว่า ใน URL ที่โชว์มานั้น จะต้องมีคำในคีย์เวิร์ด เช่น
inurl: passwd คำสั่งนี้ จะโชว์เว็บที่มีคำว่า passwd เช่น www.netguru.tk/passwd.php จะถูกโชว์ แต่ว่า www.netguru.tk/password.php จะไม่ถูกโชว์
คราวนี้ ถ้าจะให้มันมีให้ครบทั้ง passwd และ admin เราก้อจะใช้คำสั่งต่อไปครับ
[allinurl: ]
เช่น inurl:passwd inurl:admin
จะมีค่าเท่ากับเราพิมพ์ว่า
allinurl: passwd admin
แต่ถ้าเราพิมพ์ไปว่า allinurl:etc/passwd ตัว Google นั้นจะค้นหาให้เหมือนกับ allinurl:etc passwd ครับ
[ site: ]
อันนี้ใช้บ่อยมากครับ เป็นคำสั่งที่กำหนดเฉพาะว่า Google จะต้องหาในเว็บนี้เท่านั้น เช่น site:netguru.kickme.to อันนี้ จะหาเฉพาะเพจที่อยู่ในเว็บ netguru.kickme.to เท่านั้น
อีกตัวอย่าง ถ้าเราจะค้นหาคำว่า exploits ในเว็บ hackingspirits.com เท่านั้น ก้อให้พิมพ์ว่า
exploits site:hackingspirits.com
[ filetype: ]
อันนี้ เราเอาไว้ใช้หา ไฟล์ที่มีนามสกุลเฉพาะ เช่น pdf หรือ doc เป็นต้นครับ วิธีการใช้ก้อง่ายๆ ไม่ยากนัก ก้อถ้าเช่นเราอยากจะค้นหา ไฟล์ พวกเอกสาร ในเว็บไซต์รัฐบาลไทย โดยที่มีชื่อนายก ก้อพิมพ์ว่า
filetype:doc site:thaigov.go.th ทักษิณ
[ link: ]
อันนี้ ถ้ามองดูแรกๆก้อจาหาว่ามันไม่มีประโยชน์อะไรมากนัก แต่ในบางโอกาสเราจะได้ใช้มันครับ link: นี้ เอาไว้หาเว็บไซต์ที่โยงมาหา เว็บที่เรากำหนดครับ เช่น
link:http://netguru.kickme.to คอมพิวเตอร์
จากตัวอย่างข้างต้นนี้ ผมที่ได้จะแสดงเว็บที่มีคำว่า คอมพิวเตอร์อยู่ และมีลิ้งค์มาที่เว็บ http://netguru.kickme.to ครับ
[ related: ]
อันนี้ เอาไว้หาเว็บไซต์ที่ คล้ายๆ กับเว็บที่เราต้องการหาอยู่ เช่น เราต้องการหาเว็บไซต์ที่คล้ายๆกับ netguru.kickme.to เราก้อพิมพ์ว่า
related:http://netguru.kickme.to
[ cache: ]
คำว่า cache นี้หมายถึงว่า กลูเกิ้ลโหลดเก็บไว้เอง ที่ server เข้า Google คืออันนี้ กลูเกิ้ลจะเก็บหน้าเว็บที่อยู่ในฐานข้อมูล ณ เวลานั้นไว้ เช่น ถ้าเราต้องการจะหาคำว่า เทคนิค ในเว็บนี้ ที่ google เก็บไว้ ก้อพิมพ์ว่า
cache:http://netguru.kickme.to เทคนิค
หมายเหตุ ผมที่ได้จากการค้นหา Google จะระบายสีคำว่า เทคนิคไว้ด้วย
[ intext: ]
อันนี้ จะเอาไว้ทำให้ผลของการค้นหาแคบลง คือเอาไว้ค้นหาเว็บที่มีคำที่กำหนด โดยไม่คำนึงถึง links, URLs, Page titles ตัวอย่างเช่น
intext:exploit
ก้อจะหาเฉพาะเนื้อหาในเว็บที่มีคำว่า exploit เท่านั้น
[ phonebook: ]
แหม่ หลายคนดีใจ นึกไปก่อนแล้วว่า phonebook นี่หาที่อยู่ กับเบอร์โทรแน่เลย แต่พอดีว่าน่าเสียดายครับ ที่หาได้แต่ในอเมริกาเท่านั้นครับ เช่น
phonebook:Lisa+CA
ตอนนี้ ก็เป็นตอนที่สามแล้วของกลูเกิ้ล มา เริ่มกันเลยดีกว่า ตอนนี้ ผมจะมาบอกวิธีการที่เราสามารถใช้ Google โจมตีเว็บไซต์ที่ administrator หรือ designer อ่อนหัดเขาลืม ป้องกันเอาไว้ แต่อย่างไรก็ตาม หากมีเว็บคุณอยู่ในรายการที่ว่า คุณก็ต้องหาวิธีการป้องกัน ด้วย
วิธีแรก ใช้ keywords ว่า allinusl:winnt/system32
อันนี้ เห็นแล้ว หลายคนก็นึกกันไปต่างๆนานา วิธีการนี้เป็นวิธีการที่ให้ Google ค้นหาเว็บเซิร์ฟเวอร์ที่ ปล่อยช่องว่าง แบบว่า ดันไปแชร์โฟดเดอร์ winnt/system32 เอาไว้ งานนี้ ถ้าเราโชคดี และ admin โชคร้าย เราจะสามารถใช้ cmd.exe เพื่อให้ได้ shell ของวินโดว์มา คราวนี้ สงสัยแอดมินคงต้องร้องไห้ แน่ๆเลย
วิธีที่สอง งานนี้ ใช้ keywords ว่า allinurl:wwwboard/passwd.txt
อันนี้ ชื่อ directory กับ password file ก็คงต้องเดากันเอง แต่ถ้าเจอเว็บไหนที่ใช้โปรแกรมสำเร็จรูป (CMS) ทำหล่ะก็ แล้ว เว็บมาสเตอร์ลืมเปลี่ยนที่อยู่ดาต้าเบส เราก็จะเข้าไป access รหัสผ่านทั้งหลายทั้งปวงได้
สำหรับรายละเอียดเพิ่มเติม ลองไปดูที่ http://www.securiteam.com/exploits/2BUQ4S0SAW.html
วิธีที่สาม อันนี้ใช้ keywords ว่า inurl:bash_history
อันนี้ ถ้าใครได้เคยลอง Unix หรือว่า Linux หล่ะก็ คงต้องร้องอ๋อว่า ไฟล์นี้ไว้ทำอะไร ไฟล์นี้ป็นไฟล์ที่เก็บประวัติการพิมพ์คำสั่งต่างๆ ผ่าน bash shell ของ Unix ก็ลองคิดดูว่า ถ้าเราสามารถอ่านมันได้ เราคงได้อะไรหลายอย่างจากเซิร์ฟเวอร์เครื่องนั้นเลยหล่ะ เพราะว่าบางครั้งมันอาจเป็น รหัสผ่านที่เข้ารหัสไว้ของ admin เราก้อแค่ brute force ก็อาจจะโชคดีแล้ว admin ก็โชคร้ายก็ได้
วิธีที่สี่ คราวนี้ใช้ว่า inurl:config.txt
อันนี้ เซิร์ฟเวอร์บางเซิร์ฟเวอร์ ใช้ไฟล์ config.txt เก็บข้อมูลสำคัญเอาไว้ กรณีนี้ กลูเกิ้ลจะหาเว็บที่เราสามารถ execute ไฟล์นั้นได้ (คุณคงต้องไปหาอ่านหนังสือว่า read , write , execute มันต่างกันยังไง หรือไม่ก็รอแปป เดี๋ยวผมจะเอามาลง) คราวนี้ ถ้าใครเคยลองพวก Php-nuke หรือพวกนุ๊กๆ ทั้งหลาย แล้วเว็บมาสเตอร์ปล่อยให้ config.php สามารถ execute ได้ (พวกที่มักง่าย ไม่ใช้ chmod 644) ลองคิดดูว่า ถ้าได้สามารถอ่านข้อมูลใน config.php ของ php-nuke ได้ ก็คงสนุกน่า ดูเพราะเราจะสามารถ access เข้าไปใน DBMS ได้
DBMS => DataBase Management System ก้อพวก popular เช่น MySQL,PostgreSQL,MS-SQL ฯลฯ
ตอนนี้เอาไปสี่อย่างก่อน แต่ยังไงก็ตาม วิธีพวกนี้ ยังเรียกว่า เด็กๆอยู่ เดี๋ยวคราวหน้าผมจะมาบอกวิธีที่ เราเอา allinurl: กะ inurl: ไปผสมกับ keywords อื่นๆ อีก เพื่อให้ได้ ผมที่น่าพอใจ และเหยื่อมากขึ้น
เราสามารถควบรวมเอา inurl: และ allinurl: มารวมกับ syntax อื่นได้ เพื่อเพิ่มพลังในการค้นหาให้มากยิ่งขึ้น ผมอยากให้ลองสังเกตคำพวกนี้ ที่เป็นตัวอย่างดู หลายคนที่เคยเป็นเว็บมาสเตอร์จะร้องอ๋อ เลยว่า พวกไฟล์พวกนี้ มันมาเกี่ยวอะไร (ตอนนี้ เรายังอยู่ในหัวข้อของ การโจมตีเว็บที่บกพร่องในเรื่องความปลอดภัย) ก็ลองสังเกตดูก่อนนะครับ
inurl:admin filetype:txt
inurl:admin filetype:db
inurl:admin filetype:cfg
inurl:mysql filetype:cfg
inurl:passwd filetype:txt
inurl:iisadmin
inurl:auth_user_file.txt
inurl:orders.txt
inurl:”wwwroot/*.”
inurl:adpassword.txt
inurl:webeditor.php
inurl:file_upload.php
inurl:gov filetype:xls “restricted”
index of ftp +.mdb allinurl:/cgi-bin/ +mailto
จากตัวอย่างข้างบนนั้นเป็นของ inurl: ซะส่วนใหญ่ แต่คราวนี้ลองมาดูที่ allintitle: กันบ้าง ผมจะสอนทฤษฎีไปเป็นข้อๆละกานนะครับ
คำแนะนำ ไม่ต้องพิมพ์ [ ] เข้าไปในช่อง search นะครับ
1. [allintitle: “index of /root”] จากนั้นเป็นหน้าเว็บผมเลย พิมพ์ตามนี้ คุณก็จะ search ได้เหมือนกะกลูเกิ้ล ผมการค้นหาจะเปิดหน้าใหม่ เพราะผมเชื่อว่า คุณหน้าจะยังไม่ได้เป็น หน้าต่างกลูเกิ้ลไว้รอผมหรอก อันนี้ จะแสดงรายชื่อพวกเว็บที่ มิได้ มีการป้องกัน ห้องที่สำคัญมากๆ เช่น root เอาไว้ ซึ่งอาจจะมีข้อมูลที่สำคัญอยู่ก้อได้
2. [allintitle: “index of /admin”] อันนี้ก็คล้ายๆ กับอันแรก แต่จะโชว์ของที่เป็นห้องชื่อ admin ซึ่ง สำหรับคนที่ใช้พวก nuke ๆ ทั้งหลาย อันนี้ไม่ต้องห่วงเพราะว่า ค่าเริ่มต้น จะมีไฟล์ .htaccess ในโฟดเดอร์ admin ที่มีคำว่า
Deny all อยู่แล้ว แต่ถ้าคุณเขียน script เอง ขอให้เช็คดูว่า เมื่อคุณตั้งเป็น Deny all แล้ว เว็บคุณจะต้องเรียกไฟล์ในห้องนั้นผ่าน function เท่านั้น นะครับ
คราวนี้ เป็นของตระกูล Linux กะ Unix กันบ้าง
intitle:”Index of” .sh_history
intitle:”Index of” .bash_history
intitle:”index of” passwd
intitle:”index of” people.lst
intitle:”index of” pwd.db
intitle:”index of” etc/shadow
intitle:”index of” spwd
intitle:”index of” master.passwd
intitle:”index of” htpasswd
intitle:”index of” members OR accounts
intitle:”index of” user_carts OR user_cart
allintitle: sensitive filetype:doc
allintitle: restricted filetype :mail
allintitle: restricted filetype:doc site:gov
ถ้าคนที่รู้เรื่อง linux บ้าง คนจะรู้กันดีว่า ไฟล์พวกนี้ มันจะหมายถึงอะไร ซึ่งถ้าจะให้ผมมาอธิบาย คงยาวกันอีก สามล้านหน้า คงจะไม่จบไม่สิ้น เอาไว้ ผมจะมาเขียนเรื่อง linux เพิ่มเติมอีก
คราวนี้สำหรับเว็บมาสเตอร์ หรือผู้ที่สนใจ และพยายามอ่านมาถึงบรรทัดนี้ ก็คงมีคำถามกันในใจว่า ถ้าถึงคราวซวยเรา แล้วเว็บเราไปอยู่ในนั้นหล่ะ ทำไงดี
ตอบ:: เอ่ออ..อันนี้ ผมก็ไม่ใช่ผู้เชี่ยวชาญเท่าที่ควร เอาง่ายๆว่า ถ้ามันไม่ใช่ความบกพร่องของคุณเอง แนะนำให้เปลี่ยนครับ เปลี่ยนโฮสต์ที่ใช้อยู่เลยครับ เพราะว่า ถึงต่อให้เขาบริการดีแค่ไหน แต่ความปลอดภัยไม่มี อันนี้ก้อคงคุยกันลำบาก ต่อไปนี้ ก้อเป็นมาตรการเล็กๆน้อยที่ควรกระทำ
- ติดตั้งซอฟแวร์เวอร์ชั่นล่าสุด เสมอ ผมหมายถึง Patch, Update ล่าสุดนะครับไม่ใช่เปลี่ยน 2000 เป็น 2003 แต่อย่างไรก็ตาม ใครที่เถียงว่า ซอฟแวร์พวก Linux ไม่ต้องไปตามรุ่นมันก็ได้ อันนี้ ผมเถียงสุดฝาเลย linux administrator ต้องเช็คอัพเดทอย่างห่างๆ ที่สุดก็ อาทิตย์ละครั้งแล้ว
- ระวัง อย่าเอา web server ไปเป็นที่เก็บข้อมูล เพราะหน้าที่เว็บเซิร์ฟเวอร์ มีไว้เพื่อเผยแพร่ข้อมูลไม่ใช่เก็บข้อมูล
แต่ถ้าอยากจะเก็บต้องมีการตั้ ง ACLs หรือว่า Permission ( สำหรับคนที่ไม่รู้จักว่า ACLs คืออะไร ผมจะมาเขียนคราหน้า ละกัน)
- หากคุณเจอเว็บคุณในรายการที่คุณ ตรวจสอบ ขอให้แจ้งลบเว็บไซต์ที่
http://www.google.com/remove.html
-ยกเลิก anonymous user สำหรับห้องที่เก็บข้อมูลสำคัญ
-สำหรับ IIS ให้ติดตั้ง URLScan