Jangan mengunggah data penting ke server WEB. Membuat dan menyiapkan database

Arahan di AngularJS memainkan peran penting. Arahan dapat digunakan untuk mengajarkan trik baru ke HTML, dan Anda bahkan dapat membuat tag atau atribut HTML Anda sendiri. Arahan juga membantu menjaga mark-up lebih lancar dan mendefinisikan cara yang bagus untuk memisahkan kode dan mark-up satu sama lain.

Lihat adalah template HTML. Tampilan tidak lain adalah informasi yang ingin Anda render ke browser pengguna akhir. Tampilan di AngularJS juga disebut sebagai DOM yang dikompilasi. View menggunakan arahan untuk merender data dengan template HTML.

Artikel ini adalah Bagian IV dari Situs Web Pelacakan Proyek yang dibangun di AngularJS dan ASP.NET Web API. Sejauh ini, kami telah , membuat , dan memiliki .

Terimakasih untuk untuk meninjau seri Angular ini dan memperbaiki bug.

Kita telah melihat objek $scope yang menyediakan Model ke View. Kode model tidak bercampur dengan kode HTML yang kita tulis ke dalam pandangan kita. Sebaliknya, data dipindahkan dari model ke tampilan dengan menggunakan ekspresi pengikatan data. Dengan cara ini pengembang dapat mencapai Separation of Concerns (SoC). Karena Model tidak bergantung pada Tampilan, Model dapat diikat ke Tampilan apa pun. Pengikatan model ini dilakukan dengan bantuan Arahan AngularJS.

Kami telah melihat beberapa arahan Angular di aplikasi ng seperti kami yang mem-bootstrap AngularJS, serta ng-controller yang membuat pengontrol tersedia untuk HTML. Dari controller, kita bisa mengikat data ke view menggunakan Angular ((expression)).

Pada artikel ini, kita akan melihat beberapa direktif AngularJS tambahan yang keluar dari kotak dengan Angular. Salah satunya adalah ng-ulangi. Mari kita coba menggunakan direktif ng-repeat ke halaman EmployeeDetails.html kami yang dapat ditemukan di artikel ini. Ubah URL layanan di file EmployeeController.js kami. URL layanan adalah sebagai berikut:

http://localhost:2464/api/ptemployees

Sekarang kita akan memodifikasi halaman EmployeeDetails.html seperti yang ditunjukkan pada kode berikut -

((emp.employeeID)) ((namakaryawan.karyawan)) ((emp. penunjukan)) ((emp.contactNo)) ((emp.eMailID)) ((emp.skillSets))

Ganti dari halaman EmployeeDetails.html dengan kode di atas. Output dari kode di atas ditampilkan di sini:

Dalam kode ini, kami telah menggunakan direktif ng-repeat dari AngularJS. Ini mirip dengan for atau foreach loop di .NET. Di sini kita mendapatkan IEnumerable koleksi menggunakan ASP.NET Web API. Kami menggunakan koleksi ini sebagai model di Angular Controller kami. Dengan menggunakan model ini, kami mengulangi objek karyawan, ke dalam pandangan kami. Ini adalah arahan yang sangat membantu yang berulang melalui objek dalam koleksi untuk menampilkan data pada tampilan.

Sekarang mari kita coba menambahkan filter untuk mencari Karyawan tertentu dari koleksi dan menampilkan karyawan berdasarkan karakter Nama Karyawan atau Nama Karyawan yang diberikan. Sampai sekarang, kami telah mengambil model dan menggunakannya di Tampilan kami. Ini juga bekerja dengan cara lain. Kami dapat membuat pandangan kami berbicara kembali ke model kami yang ada di pengontrol kami.

Untuk menambahkan filter pencarian berdasarkan Nama Karyawan, kami akan memodifikasi halaman EmployeeDetails.html dengan menambahkan elemen input HTML seperti yang ditunjukkan di bawah ini -

Masukkan Nama Karyawan Atau Karakter Untuk Pencarian -

Tambahkan kode di atas tepat setelah

menandai. Dalam kode di atas, kita menggunakan direktif ng-model yang memungkinkan kita mengirim data kembali ke model. Berdasarkan data ini, kami akan melakukan pencarian karyawan menggunakan properti EmployeeName. Pastikan bahwa properti EmployeeName dideklarasikan dalam model kita, yang akan kita lakukan dalam langkah-langkah berikut. Perhatikan juga bahwa kami menggunakan ng-kirim arahan yang akan memanggil CariKaryawan fungsi dari pengontrol kami.

Sekarang mari kita ubah file EmployeeController.js sehingga kita dapat mencari karyawan berdasarkan properti EmployeeName sebagai kriteria pencarian. Kode ditunjukkan di bawah ini -

(fungsi () ( var EmployeeController = function ($scope,$http) ( var employee = function (serviceResp) ( $scope.Employees = serviceResp.data; ); $scope.SearchEmployees = function (EmployeeName) ($http.get ("http://localhost:2464/api/ptemployees/" + EmployeeName) .then(employees, errorDetails); ); var errorDetails = function (serviceResp) ( $scope.Error="Ada yang tidak beres ??"; ) ;$http.get("http://localhost:2464/api/ptemployees") .then(employees,errorDetails); $scope.Title = "(!LANG:Halaman Detail Karyawan"; $scope.EmployeeName = null; }; app.controller("EmployeesController", EmployeesController); }()); !}

Dalam kode di atas, kita telah menambahkan metode SearchEmployee() ke objek $scope kita sebagai model. Metode ini akan mencari Karyawan berdasarkan nama karyawan atau karakter nama karyawan. Kami juga telah menyatakan Nama karyawan properti di controller kami di akhir kode ini. Metode SearchEmployees mengambil metode Web API. Saya telah memodifikasi metode GET seperti yang ditunjukkan di sini:

Dapatkan HttpResponseMessage Publik (nama string) ( var karyawan = EmployeeRepository.SearchEmployeesByName(name); HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK, karyawan); respon balik; )

Kode Repositori Karyawan adalah seperti yang ditunjukkan di sini:

daftar statis publik SearchEmployeesByName(string employeeName) ( ProjectTrackingDBEntities dataContext = new ProjectTrackingDBEntities(); var query = dari karyawan di dataContext.Employees di mana employee.EmployeeName.Contains(employeeName) pilih karyawan; kembali query.ToList(); )

Setelah semua perubahan ini, sekarang jalankan halaman EmployeeDetails.html dan lihat hasilnya.

Pada output di atas, kami mencari karyawan yang namanya mengandung karakter 'J' di dalamnya.

Filter AngularJS memperluas perilaku ekspresi atau arahan yang mengikat. Filter digunakan dengan ekspresi pengikatan untuk memformat data yang diikat. Ketika mereka digunakan dengan arahan, mereka menambahkan beberapa tindakan tambahan ke arahan. Di luar kotak, AngularJS menyediakan sejumlah filter yang dapat kita gunakan untuk memformat nilai ekspresi dan menampilkan nilai/data ke dalam tampilan kita. Anda dapat menggunakan filter di Tampilan, Pengontrol, dan Layanan. Sintaks menggunakan filter ke tampilan adalah (( ekspresi | filter1 | filter2 | ...)).

Kami sekarang akan mencoba filter yang akan mengurutkan data menggunakan nama karyawan. Untuk mengurutkan data, mari tambahkan filter di ng-repeat menggunakan | operator seperti yang ditunjukkan di sini:

Dalam kode di atas, kami menambahkan filter di direktif ng-repeat kami. OrderBy:'employeeName' akan mengurutkan data menggunakan nama Karyawan dalam urutan menaik. Anda dapat mengamati output di sini:

Untuk menampilkan data dalam urutan menurun, Anda dapat mengubah filter seperti yang ditunjukkan di sini:

Pada kode di atas, untuk mengurutkan nama karyawan secara descending, kita menggunakan tanda (-) minus. Demikian juga, Anda dapat menggunakan tanda (+) untuk mengurutkannya secara menaik.

Anda juga dapat menggunakan batasUntuk filter untuk membatasi jumlah record. Misalnya, katakanlah pada suatu waktu Anda ingin menampilkan 5 karyawan. Untuk menampilkan jumlah record yang dibatasi di halaman EmployeeDetails.html, mari ubah direktif ng-repeat seperti yang ditunjukkan di sini-

Outputnya ditampilkan di sini:

Sekarang jika Anda menjalankan halaman ProjectDetails.html, tanggal akan ditampilkan seiring waktu. Anda dapat menerapkan filter tanggal seperti yang ditunjukkan pada kode berikut -

((proj.projectID)) ((proj.projectName)) ((proj.startDate|date:"short")) ((proj.endDate|date:"short")) ((proj.namaklien))

Output dari halaman ini adalah sebagai berikut:

Anda dapat menggunakan format tanggal yang berbeda seperti - tanggal penuh, tanggal panjang, tanggal sedang, tanggal pendek, dll. Sekarang mari kita buka halaman EmployeeDetails.html dan jalankan. Saya menggunakan karakter 'Z' untuk menampilkan karyawan yang nama karyawannya mengandung Z.

Jika Anda amati, output menampilkan judul tabel Karyawan tanpa data. Kita dapat membuat heading tidak terlihat menggunakan direktif ng-show ketika filter tidak memberikan hasil apa pun. Terapkan direktif ng-show di tag tabel kami seperti yang ditunjukkan pada kode di bawah ini dan coba jalankan aplikasi dengan karakter Z. Sekarang Anda tidak akan melihat kolom tabel saat model Karyawan nol. Atribut ng-show akan mengevaluasi model Karyawan dan karenanya akan menampilkan tabel atau menyembunyikan tabel.

Demikian juga, ada sejumlah arahan yang dapat Anda gunakan di AngularJS. Anda juga dapat merancang Petunjuk Kustom yang akan kita lihat nanti di seri ini. Terapkan pencarian pada berbagai tampilan sesuai kebutuhan Anda dalam tampilan kami. Di artikel kami berikutnya, kami akan membahasnya

Registrasi kontrol dilakukan oleh arahan @Register, yang memungkinkan Anda untuk menggunakan kontrol pengguna dan kontrol server dalam kode HTML halaman menggunakan sintaks khusus (sintaks kontrol server kustom deklaratif). Berdasarkan analisis arahan ini, pengurai halaman dapat mengaitkan tag dengan jenis tertentu dan, saat membuat halaman, menyematkan kontrol sebagai penampung tipe khusus - cabang dari pohon kontrol halaman.

Arahan harus mendahului penggunaan pertama dari tag yang dideklarasikan, lebih sering ditempatkan di awal halaman dan dalam hal mendaftarkan beberapa kontrol, di situs dengan struktur modular, jumlah deklarasi tersebut dapat menempati sejumlah besar baris . Saat Anda mengubah lokasi kontrol, Anda harus mencari baris yang memerlukan perubahan dalam kode semua halaman dan kontrol pengguna tempat mereka terdaftar, yang agak merepotkan.

Artikel ini menjelaskan metode yang menyederhanakan pendaftaran kontrol.

Untuk arahan pendaftaran, kami akan menggunakan file teks biasa di mana kami akan mengumpulkan semua arahan @ Register. Karena jalur virtual dapat digunakan untuk mendeklarasikan kontrol pengguna, dan hanya ruang nama yang ditentukan untuk kontrol server, kami dapat mengumpulkan semua tautan yang kami butuhkan dalam file ini, dan tautan ke file ascx akan benar untuk folder mana pun dalam proyek. Inilah tampilan file ini di salah satu proyek:


<%@ Register TagPrefix="ch" Namespace="ControlsSharp.HtmlControls" Assembly="ControlsSharp"%>

<%@ Register TagPrefix="cw" Namespace="ControlsSharp.WebControls" Assembly="ControlsSharp"%>

<%@ Register TagPrefix="c" Namespace="ControlsSharp.CustomControls" Assembly="ControlsSharp"%>

<%@ Register TagPrefix="b" Namespace="ControlsBasic.CustomControls" Assembly="ControlsBasic"%>

<%@ Register TagPrefix="cu" TagName="bottommenu" Src="~/UserControls/Menu/cu_menu_bottom.ascx" %>

<%@ Register TagPrefix="cu" TagName="leftmenu" Src="~/UserControls/Menu/cu_menu_left.ascx" %>

<%@ Register TagPrefix="cu" TagName="topmenu" Src="~/UserControls/Menu/cu_menu_top.ascx" %>

Beri nama file register.inc dan letakkan di folder /inc proyek web kita.

File ini akan berisi semua link yang kita butuhkan, kita akan menambah atau mengubah pendaftaran pengguna atau kontrol server di dalamnya.

Sekarang file yang dibuat perlu dimasukkan ke dalam kode halaman. Kami melakukan ini dengan SSI (server side include) #include directive. Arahan ini memungkinkan Anda untuk memasukkan file statis dan dinamis dalam kode halaman, memprosesnya berdasarkan pemetaan IIS, mis. menentukan file asp atau aspx sebagai sumber akan menyebabkan file diproses oleh proses yang sesuai dan menyalin hasil pemrosesan ini ke halaman output. Di ASP, arahan #include sangat banyak digunakan dan memungkinkan untuk modularisasi situs. Dengan munculnya ASP.NET, menjadi lebih mudah untuk melakukan ini dengan cara lain, misalnya, menggunakan kontrol pengguna. Versi ASP.NET mendatang akan menerapkan modularitas menggunakan halaman master. Secara umum, #include directive kehilangan artinya dan disimpan terutama untuk kompatibilitas mundur dan untuk menyederhanakan migrasi proyek ASP ke .Net.

Karena kami memiliki file teks sederhana, tidak ada pemrosesan yang akan dilakukan, dan sebelum konten dinamis dijalankan, seluruh konten file akan disalin ke kode halaman. Itu. menambahkan file register.inc kita ke bagian atas halaman, misalnya, hampir sama dengan menulis semua directive @Register di sana.

Agar tidak bergantung pada lokasi fisik file, kita kembali menggunakan sintaks jalur virtual dan menambahkan baris berikut ke kode file aspx:

Pastikan semuanya berfungsi, jika tidak, perbaiki jalur yang salah.

Masih melakukan satu operasi lagi. Sekarang, jika Anda mencoba untuk mendapatkan file /inc/register.inc dari tautan di browser Anda, Anda dapat dengan mudah melakukannya. IIS meletakkannya di tangan Anda, serta di tangan penyerang, sepenuhnya gratis, meskipun berisi jalur struktur fisik situs Anda.

Untuk mencegah hal ini terjadi, kami menggunakan kemampuan penangan HttpForbiddenHandler sinkron, yang memungkinkan kami untuk melindungi file dari jenis tertentu agar tidak dikeluarkan atas permintaan pengguna. Pendekatan ini nyaman dan sering digunakan, misalnya, untuk melindungi file database MS Access yang digunakan dalam suatu proyek. Agar file dengan ekstensi *.inc dilindungi menggunakan handler ini, Anda perlu memberi tahu IIS bahwa file ini akan diproses oleh proses ASP.NET, dengan kata lain, konfigurasikan IIS untuk dipetakan ke file jenis ini.

Untuk penjelasan rinci tentang proses konfigurasi untuk IIS, lihat CARA: Menggunakan ASP.NET untuk Melindungi Jenis File (http://support.microsoft.com/kb/815152/EN-US/). Kita perlu membuat pemetaan hanya untuk file *.inc. Setelah menyelesaikan langkah-langkah yang dijelaskan di sana, semua permintaan file dengan ekstensi ini akan diproses oleh proses ASP.NET, dan Anda harus mengedit file web.config sebagai berikut:

Itu saja, sekarang ketika mencoba mendapatkan file /inc/register.inc melalui tautan langsung, pengguna akan menerima kesalahan B.

Agar tidak mendaftar aspnet_isapi.dll, misalnya, penyedia Anda tidak ingin melakukan ini, Anda dapat menggunakan kemampuan SSI untuk menentukan file jenis apa pun dan curang dengan menggunakan ekstensi salah satu jenis yang sudah dipetakan di IIS secara default untuk file dengan arahan @Register. *.cs atau *.vb ekstensi akan nyaman untuk ini. File-file ini berisi kode sumber dan biasanya tidak disalin ke server. Jika Anda tiba-tiba membuat kesalahan dan menyalin, Anda tidak akan bisa mendapatkannya atas permintaan dari browser - ketika Anda mencoba melakukan ini, pengguna akan menerima kesalahan B. Ini terjadi karena pemetaan di IIS dikonfigurasi secara default untuk file jenis ini dan ekstensi yang sesuai sudah terdaftar di bagian file mesin.config. Di Visual Studio, agar kompiler tidak memberi Anda pesan kesalahan, letakkan ekstensi yang tidak diminati oleh kompiler: dalam proyek C# adalah *.vb, dalam proyek VB adalah *.cs.
Kesimpulan

Metode yang dijelaskan memungkinkan Anda untuk mendaftarkan kontrol di satu tempat untuk keseluruhan proyek. Modifikasi selanjutnya dari file ini membutuhkan sedikit usaha daripada jika Anda harus melakukannya dengan cara biasa. Coba gunakan SSI #include di dalam file yang Anda masukkan - ini memungkinkan Anda untuk mengatur semacam hierarki dan pewarisan, yang dapat memudahkan proyek besar

Mesin pencari Google (www.google.com) menyediakan banyak pilihan pencarian. Semua fitur ini adalah alat pencarian yang sangat berharga untuk pengguna Internet pertama kali dan pada saat yang sama senjata invasi dan penghancuran yang lebih kuat di tangan orang-orang dengan niat jahat, termasuk tidak hanya peretas, tetapi juga penjahat non-komputer dan bahkan teroris.
(9475 tampilan dalam 1 minggu)

Denis Batrankov
denisNOSPAMixi.ru

Perhatian:Artikel ini bukan panduan untuk bertindak. Artikel ini ditulis untuk Anda, administrator server WEB, sehingga Anda akan kehilangan perasaan palsu bahwa Anda aman, dan Anda akhirnya akan memahami bahaya metode memperoleh informasi ini dan mengatur tentang melindungi situs Anda.

pengantar

Misalnya, saya menemukan 1670 halaman dalam 0,14 detik!

2. Mari kita masukkan baris lain, misalnya:

inurl:"auth_user_file.txt"

sedikit kurang, tetapi ini sudah cukup untuk unduhan gratis dan untuk menebak kata sandi (menggunakan John The Ripper yang sama). Di bawah ini saya akan memberikan beberapa contoh lagi.

Jadi, Anda perlu menyadari bahwa mesin pencari Google telah mengunjungi sebagian besar situs Internet dan menyimpan informasi yang terkandung di dalamnya. Informasi cache ini memungkinkan Anda untuk mendapatkan informasi tentang situs dan konten situs tanpa koneksi langsung ke situs, hanya menggali informasi yang disimpan secara internal oleh Google. Selain itu, jika informasi di situs tidak lagi tersedia, informasi dalam cache mungkin masih disimpan. Yang diperlukan untuk metode ini adalah mengetahui beberapa kata kunci Google. Teknik ini disebut Google Hacking.

Untuk pertama kalinya, informasi tentang Google Hacking muncul di milis Bugtruck 3 tahun yang lalu. Pada tahun 2001, topik ini diangkat oleh seorang mahasiswa Prancis. Berikut ini tautan ke surat ini http://www.cotse.com/mailing-lists/bugtraq/2001/Nov/0129.html . Ini memberikan contoh pertama dari permintaan tersebut:

1) Indeks /admin
2) Indeks / kata sandi
3) Indeks /mail
4) Indeks / +banques +filetype:xls (untuk perancis...)
5) Indeks / +passwd
6) Indeks/kata sandi.txt

Topik ini membuat banyak keributan di bagian membaca bahasa Inggris di Internet baru-baru ini: setelah sebuah artikel oleh Johnny Long diterbitkan pada 7 Mei 2004. Untuk studi yang lebih lengkap tentang Google Hacking, saya menyarankan Anda untuk pergi ke situs penulis ini http://johnny.ihackstuff.com. Pada artikel ini, saya hanya ingin membawa Anda up to date.

Siapa yang dapat menggunakannya:
- Jurnalis, mata-mata, dan semua orang yang suka mencampuri urusan orang lain dapat menggunakan ini untuk mencari bukti kompromi.
- Peretas mencari target yang cocok untuk diretas.

Cara kerja Google.

Untuk melanjutkan percakapan, izinkan saya mengingatkan Anda tentang beberapa kata kunci yang digunakan dalam kueri Google.

Cari menggunakan tanda +

Google mengecualikan kata-kata yang tidak penting, menurut pendapatnya, dari pencarian. Misalnya, kata tanya, kata depan, dan artikel dalam bahasa Inggris: misalnya are, of, where. Dalam bahasa Rusia, Google tampaknya menganggap semua kata penting. Jika kata tersebut dikecualikan dari pencarian, maka Google menulis tentang itu. Agar Google mulai mencari halaman dengan kata-kata ini, Anda perlu menambahkan tanda + di depannya tanpa spasi sebelum kata tersebut. Sebagai contoh:

as + dari basis

Cari berdasarkan tanda -

Jika Google menemukan sejumlah besar halaman yang darinya perlu untuk mengecualikan halaman dengan topik tertentu, maka Anda dapat memaksa Google untuk mencari hanya halaman yang tidak mengandung kata-kata tertentu. Untuk melakukan ini, Anda perlu menunjukkan kata-kata ini dengan meletakkan tanda di depan masing-masing - tanpa spasi sebelum kata tersebut. Sebagai contoh:

memancing - vodka

Cari dengan tanda ~

Anda mungkin ingin mencari tidak hanya kata yang ditentukan, tetapi juga sinonimnya. Untuk melakukan ini, awali kata dengan simbol ~.

Menemukan frasa yang tepat menggunakan tanda kutip ganda

Google mencari di setiap halaman untuk semua kemunculan kata-kata yang Anda tulis dalam string kueri, dan tidak peduli dengan posisi relatif kata-kata, yang utama adalah bahwa semua kata yang ditentukan ada di halaman pada saat yang sama ( ini adalah tindakan default). Untuk menemukan frasa yang tepat, Anda harus memasukkannya ke dalam tanda kutip. Sebagai contoh:

"penyimpanan buku"

Untuk memiliki setidaknya satu dari kata-kata yang ditentukan, Anda harus menentukan operasi logika secara eksplisit: ATAU. Sebagai contoh:

keamanan buku ATAU perlindungan

Selain itu, Anda dapat menggunakan tanda * dalam string pencarian untuk menunjukkan kata apa saja dan. untuk mewakili karakter apa pun.

Menemukan kata-kata dengan operator tambahan

Ada operator pencarian yang ditentukan dalam string pencarian dalam format:

operator: istilah_penelusuran

Spasi di sebelah titik dua tidak diperlukan. Jika Anda memasukkan spasi setelah titik dua, Anda akan melihat pesan kesalahan, dan sebelum itu, Google akan menggunakannya sebagai string pencarian normal.
Ada grup operator pencarian tambahan: bahasa - tunjukkan dalam bahasa apa Anda ingin melihat hasilnya, tanggal - batasi hasil selama tiga, enam atau 12 bulan terakhir, kemunculan - tunjukkan di mana dalam dokumen yang perlu Anda cari string: di mana-mana, dalam judul, di URL, domain - cari situs yang ditentukan atau sebaliknya kecualikan dari pencarian, pencarian aman - blokir situs yang berisi jenis informasi tertentu dan hapus dari halaman hasil pencarian.
Namun, beberapa operator tidak memerlukan parameter tambahan, misalnya, kueri " cache: www.google.com" dapat disebut sebagai string pencarian lengkap, dan beberapa kata kunci, sebaliknya, memerlukan kata pencarian, misalnya " situs: www.google.com bantuan". Mengingat topik kita, mari kita lihat operator berikut:

Operator

Keterangan

Membutuhkan parameter tambahan?

cari hanya untuk situs yang ditentukan dalam search_term

cari hanya di dokumen dengan tipe search_term

temukan halaman yang berisi search_term dalam judul

temukan halaman yang berisi semua kata search_term dalam judul

temukan halaman yang berisi kata search_term di alamatnya

temukan halaman yang berisi semua kata search_term di alamatnya

Operator lokasi: membatasi pencarian hanya di situs yang ditentukan, dan Anda tidak hanya dapat menentukan nama domain, tetapi juga alamat IP. Misalnya, masukkan:

Operator jenis file: membatasi pencarian ke file dari jenis tertentu. Sebagai contoh:

Pada tanggal artikel ini, Google dapat mencari dalam 13 format file yang berbeda:

  • Format Dokumen Portabel Adobe (pdf)
  • Adobe PostScript (ps)
  • Lotus 1-2-3 (wk1, wk2, wk3, wk4, wk5, wki, wks, wku)
  • Lotus Word Pro (lwp)
  • MacTulis(mw)
  • Microsoft Excel (xls)
  • Microsoft PowerPoint (ppt)
  • Microsoft Word (dok)
  • Microsoft Works (wks, wps, wdb)
  • Microsoft Write (tulis)
  • Format Teks Kaya (rtf)
  • Kilat Gelombang Kejut (swf)
  • Teks (jawaban, txt)

Operator tautan: menunjukkan semua halaman yang mengarah ke halaman tertentu.
Pasti selalu menarik untuk melihat berapa banyak tempat di Internet yang tahu tentang Anda. Kita coba:

Operator cache: menunjukkan versi situs yang di-cache Google seperti yang terlihat saat Google terakhir mengunjungi halaman tersebut. Kami mengambil situs yang sering berubah dan melihat:

Operator judul: mencari kata tertentu dalam judul halaman. Operator semua judul: adalah ekstensi - ini mencari semua beberapa kata yang ditentukan dalam judul halaman. Membandingkan:

judul:penerbangan ke mars
intitle:judul penerbangan:pada intitle:mars
allintitle:penerbangan ke mars

Operator inurl: menyebabkan Google menampilkan semua halaman yang berisi string yang ditentukan dalam URL. allinurl: mencari semua kata dalam URL. Sebagai contoh:

allinurl:acid_stat_alerts.php

Perintah ini sangat berguna bagi mereka yang tidak memiliki SNORT - setidaknya mereka dapat melihat cara kerjanya pada sistem nyata.

Metode Peretasan Google

Jadi, kami menemukan bahwa, dengan menggunakan kombinasi operator dan kata kunci di atas, siapa pun dapat mengumpulkan informasi yang diperlukan dan mencari kerentanan. Teknik ini sering disebut sebagai Google Hacking.

peta situs `

Anda dapat menggunakan pernyataan situs: untuk melihat semua tautan yang ditemukan Google di situs tersebut. Biasanya halaman yang dibuat secara dinamis oleh skrip tidak diindeks menggunakan parameter, sehingga beberapa situs menggunakan filter ISAPI sehingga tautan tidak berbentuk /artikel.asp?num=10&dst=5, tapi dengan garis miring /artikel/abc/angka/10/dst/5. Hal ini dilakukan untuk memastikan bahwa situs tersebut secara umum terindeks oleh mesin pencari.

Mari mencoba:

situs: www.whitehouse.gov whitehouse

Google berpikir bahwa setiap halaman di situs mengandung kata whitehouse. Inilah yang kami gunakan untuk mendapatkan semua halaman.
Ada juga versi yang disederhanakan:

situs: whitehouse.gov

Dan bagian terbaiknya adalah rekan-rekan dari whitehouse.gov bahkan tidak tahu bahwa kami melihat struktur situs mereka dan bahkan melihat halaman cache yang diunduh Google untuk dirinya sendiri. Ini dapat digunakan untuk mempelajari struktur situs dan melihat konten tanpa diketahui untuk saat ini.

Mencantumkan file dalam direktori

Server WEB dapat menampilkan daftar direktori server alih-alih halaman HTML biasa. Ini biasanya dilakukan untuk memaksa pengguna memilih dan mengunduh file tertentu. Namun, dalam banyak kasus, administrator tidak berniat menampilkan isi direktori. Ini karena kesalahan konfigurasi server atau tidak adanya halaman master di direktori. Akibatnya, peretas memiliki kesempatan untuk menemukan sesuatu yang menarik di direktori dan menggunakannya untuk keperluannya sendiri. Untuk menemukan semua halaman seperti itu, cukup perhatikan bahwa semuanya berisi kata-kata: indeks dari dalam judulnya. Tetapi karena indeks kata tidak hanya berisi halaman seperti itu, kita perlu menyaring kueri dan memperhitungkan kata kunci pada halaman itu sendiri, jadi kueri seperti:

intitle:index.of direktori induk
intitle:index.of ukuran nama

Karena sebagian besar daftar direktori disengaja, Anda mungkin kesulitan menemukan daftar yang salah tempat untuk pertama kalinya. Tetapi setidaknya Anda akan dapat menggunakan daftar untuk menentukan versi server WEB, seperti yang dijelaskan di bawah ini.

Mendapatkan versi server WEB.

Mengetahui versi server WEB selalu membantu sebelum memulai serangan peretas. Sekali lagi terima kasih kepada Google, informasi ini dapat diperoleh tanpa terhubung ke server. Jika Anda hati-hati melihat daftar direktori, Anda dapat melihat bahwa nama server WEB dan versinya ditampilkan di sana.

Apache1.3.29 - Server ProXad di trf296.free.fr Port 80

Administrator berpengalaman dapat mengubah informasi ini, tetapi, sebagai aturan, itu benar. Jadi, untuk mendapatkan informasi ini, cukup dengan mengirim permintaan:

intitle:index.of server.at

Untuk mendapatkan informasi untuk server tertentu, kami menyaring permintaan:

intitle:index.of server.di situs:ibm.com

Atau sebaliknya, kami mencari server yang berjalan pada versi server tertentu:

intitle:index.of Apache/2.0.40 Server di

Teknik ini bisa digunakan oleh seorang hacker untuk mencari korban. Jika, misalnya, ia memiliki exploit untuk versi server WEB tertentu, maka ia dapat menemukannya dan mencoba exploit yang ada.

Anda juga bisa mendapatkan versi server dengan melihat halaman yang diinstal secara default saat menginstal versi baru server WEB. Misalnya, untuk melihat halaman pengujian Apache 1.2.6, cukup ketik

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

Selain itu, beberapa sistem operasi segera menginstal dan meluncurkan server WEB selama instalasi. Namun, beberapa pengguna bahkan tidak menyadarinya. Secara alami, jika Anda melihat bahwa seseorang belum menghapus halaman default, maka masuk akal untuk mengasumsikan bahwa komputer tidak mengalami konfigurasi apa pun dan mungkin rentan terhadap serangan.

Coba cari halaman IIS 5.0

allintitle:Selamat datang di Layanan Internet Windows 2000

Dalam kasus IIS, Anda tidak hanya dapat menentukan versi server, tetapi juga versi Windows dan Paket Layanan.

Cara lain untuk menentukan versi server WEB adalah dengan mencari manual (halaman bantuan) dan contoh yang dapat diinstal di situs secara default. Peretas telah menemukan beberapa cara untuk menggunakan komponen ini untuk mendapatkan akses istimewa ke situs. Itulah mengapa Anda perlu menghapus komponen ini di lokasi produksi. Belum lagi fakta bahwa dengan adanya komponen-komponen ini Anda bisa mendapatkan informasi tentang jenis server dan versinya. Sebagai contoh, mari kita cari manual Apache:

inurl: modul arahan Apache manual

Menggunakan Google sebagai pemindai CGI.

Pemindai CGI atau pemindai WEB adalah utilitas untuk mencari skrip dan program yang rentan di server korban. Utilitas ini perlu mengetahui apa yang harus dicari, untuk ini mereka memiliki daftar lengkap file yang rentan, misalnya:

/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
/Server Situs/admin/findvserver.asp
/scripts/cphost.dll
/cgi-bin/finger.cgi

Kita dapat menemukan masing-masing file ini menggunakan Google, menggunakan indeks kata atau inurl selain nama file di bilah pencarian: kita dapat menemukan situs dengan skrip yang rentan, misalnya:

allinurl:/random_banner/index.cgi

Dengan pengetahuan tambahan, peretas dapat mengeksploitasi kerentanan skrip dan menggunakan kerentanan untuk memaksa skrip menyajikan file apa pun yang disimpan di server. Misalnya file kata sandi.

Bagaimana melindungi diri Anda dari peretasan melalui Google.

1. Jangan mengupload data penting ke server WEB.

Bahkan jika Anda memposting data untuk sementara, Anda dapat melupakannya atau seseorang akan punya waktu untuk menemukan dan mengambil data ini sebelum Anda menghapusnya. Jangan lakukan itu. Ada banyak cara lain untuk mentransfer data yang melindunginya dari pencurian.

2. Periksa situs Anda.

Gunakan metode yang dijelaskan untuk meneliti situs Anda. Periksa situs Anda secara berkala untuk metode baru yang muncul di situs http://johnny.ihackstuff.com. Ingatlah bahwa jika Anda ingin mengotomatiskan tindakan Anda, Anda perlu mendapatkan izin khusus dari Google. Jika Anda hati-hati membaca http://www.google.com/terms_of_service.html, maka Anda akan melihat frasa: Anda tidak boleh mengirim kueri otomatis dalam bentuk apa pun ke sistem Google tanpa izin tertulis sebelumnya dari Google.

3. Anda mungkin tidak memerlukan Google untuk mengindeks situs Anda atau sebagian darinya.

Google mengizinkan Anda untuk menghapus tautan ke situs Anda atau sebagian dari basis datanya, serta menghapus halaman dari cache. Selain itu, Anda dapat melarang pencarian gambar di situs Anda, melarang tampilan fragmen pendek halaman di hasil pencarian Semua kemungkinan untuk menghapus situs dijelaskan di halaman http://www.google.com/remove.html. Untuk melakukan ini, Anda harus mengonfirmasi bahwa Anda benar-benar pemilik situs ini atau memasukkan tag ke dalam halaman atau

4. Gunakan robots.txt

Diketahui bahwa mesin pencari melihat file robots.txt di root situs dan tidak mengindeks bagian-bagian yang ditandai dengan kata Melarang. Anda dapat menggunakan ini untuk mencegah bagian dari situs agar tidak diindeks. Misalnya, agar tidak mengindeks seluruh situs, buat file robots.txt yang berisi dua baris:

Agen pengguna: *
larang: /

Apa lagi yang terjadi?

Agar hidup tidak tampak seperti madu bagi Anda, saya akan mengatakan pada akhirnya bahwa ada situs yang mengikuti orang-orang yang, menggunakan metode di atas, mencari lubang di skrip dan server WEB. Contoh halaman seperti itu adalah

Aplikasi.

Sedikit manis. Cobalah salah satu dari yang berikut ini untuk Anda sendiri:

1. #mysql dump filetype:sql - cari dump database mySQL
2. Laporan Ringkasan Kerentanan Host - akan menunjukkan kepada Anda kerentanan apa yang ditemukan orang lain
3. phpMyAdmin berjalan di inurl:main.php - ini akan memaksa menutup kontrol melalui panel phpmyadmin
4. Tidak untuk dirahasiakan
5. Detail Permintaan Kontrol Variabel Server Pohon
6. Berjalan dalam mode anak
7. Laporan ini dibuat oleh WebLog
8. intitle:index.of cgiirc.config
9. filetype:conf inurl:firewall -intitle:cvs - mungkin ada yang membutuhkan file konfigurasi firewall? :)
10. intitle:index.of finances.xls - hmm....
11. intitle:Indeks obrolan dbconvert.exe - log obrolan icq
12. intext:Analisis lalu lintas Tobias Oetiker
13. intitle:Statistik Penggunaan untuk Dihasilkan oleh Webalizer
14. intitle:statistik statistik web tingkat lanjut
15. intitle:index.of ws_ftp.ini - ws ftp config
16. inurl:ipsec.secrets menyimpan rahasia bersama - kunci rahasia - penemuan bagus
17. inurl:main.php Selamat datang di phpMyAdmin
18. inurl:server-info Informasi Server Apache
19. situs: nilai admin pendidikan
20. ORA-00921: akhir tak terduga dari perintah SQL - dapatkan jalur
21. intitle:index.of trillian.ini
22. intitle:Indeks pwd.db
23. intitle:index.of people.lst
24. intitle:index.of master.passwd
25.inurl:passlist.txt
26. intitle:Indeks .mysql_history
27. intitle:indeks intext:globals.inc
28. intitle:index.of administrators.pwd
29. intitle:Index.of etc shadow
30. intitle:index.of secring.pgp
31. inurl:config.php dbuname dbpass
32. inurl:perform filetype:ini

  • "Peretasan mit Google"
  • Pusat pelatihan "Informzashchita" http://www.itsecurity.ru - pusat khusus terkemuka di bidang pelatihan keamanan informasi (Lisensi Komite Pendidikan Moskow No. 015470, Akreditasi Negara No. 004251). Satu-satunya pusat pelatihan resmi Sistem Keamanan Internet dan Clearswift di Rusia dan negara-negara CIS. Pusat pelatihan resmi Microsoft (spesialisasi keamanan). Program pelatihan dikoordinasikan dengan Komisi Teknis Negara Rusia, FSB (FAPSI). Sertifikat pelatihan dan dokumen negara tentang pelatihan lanjutan.

    SoftKey adalah layanan unik untuk pembeli, pengembang, dealer, dan mitra afiliasi. Selain itu, ini adalah salah satu toko perangkat lunak online terbaik di Rusia, Ukraina, Kazakhstan, yang menawarkan pelanggan berbagai macam, banyak metode pembayaran, pemrosesan pesanan yang cepat (seringkali instan), melacak proses pemenuhan pesanan di bagian pribadi, berbagai diskon dari toko dan produsen ON.