php的安全(黑客技術)

2021-05-22 20:45:10 字數 1355 閱讀 2445

1.字串操作

(1)對於輸入的字串來說,某些字元肯定是有效的。但是對於我們黑客來說,就是要往裡面輸入一些具有特殊功能的字元。但是php為了防止使用者輸入的資料具有某個功能,提供了轉義字串函式。這些轉義字串函式將字串轉義就是在她們前面加上乙個反斜槓。例如,「(雙引號)就邊成了/「(反斜槓雙引號);/(反斜槓)就變成了//(反斜槓反斜槓)。這個規則對所有的特殊字元都通用,所以如果在字串中存在//字元,就需要用進進行替換,而實現這個功能的函式就是addslshes(),它的使用方法如:$name= addslshes($name);

和許多字串函式一樣,addslshes()函式需要乙個字串作為輸入引數,經過處理,將返回乙個重新格式化後的字串。也正是因為有了這個函式的出現,php的安全性得到了很大的提高,如果程式中使用了這個函式對使用者輸入的字串進行處理了,那麼我們幾乎是不可能進行入侵了,這個函式可謂是黑客的天敵啊!而還有乙個函式stripslashes()的功能就是去掉這些斜槓的,功能和addslshes()是相反的。

而在php.ini中還有乙個叫做magic_quotes_gpc配置指令。如果它啟用了的話,也就是說magic_quotes_gpc=true的話那麼它就會實現addslshes()和stripslashes()這兩個函式的功能。如今,在php的新版本中的預設情況下,該指令是啟用的,這也使得新版的php安全性得到了很大的提高。gpc表示get、post和cookie,這就意味著來自這些方法和方式的變數將自動包括在引號內。使用magic_quotes_gpc()函式可以檢查系統上的指令是否已經啟用。

2.使用php從web訪問mysql資料庫

在任何用於從web訪問資料庫的指令碼中,都應該遵循下面的基本步驟:

1)檢查並過濾來自使用者的資料。 2)

建立乙個到適當資料庫的連線。 3)

對資料庫進行各種操作,如查詢操作。 4)

獲取運算元據庫的結果。 5)

將結果現實給使用者。

而我們分析**找漏洞最重要的就是第一步,尋找**中那些資料系統沒有過濾或過濾不完全,只要出現了沒有過濾或過濾不完全的話,八成就會出現了安全問題,也就找到了乙個漏洞了。

前面我已經給大家介紹了magic_quotes_gpc指令及addslshes()和stripslashes()這兩個函式。如果乙個安全意識比較高的程式設計師,他一般都會利用他們來過濾使用者輸入的資料,常見的過濾**如下:

if (!magic_quotes_gpc())

前面也已經告訴大家了magic_quotes_gpc()函式就是用來檢測magic_quotes_gpc指令是否已經啟用了。上面的**首先是判斷magic_quotes_gpc指令是否啟用,如果沒有啟用的話就用addslshes()函式對輸入的資料進行轉義。如果在乙個系統中的所有引數都用這些給轉義了,那我們找**的漏洞幾乎是沒戲了。

黑客技術提高

流行與常用的工具包括legion,enum,smbgrind,ntscan.國內比較流行xscan 遠端桌面 3389 埠常用猜解tsgrinder,brutik,fast rdp brute,dubrute ms sql 1433埠 1434 埠 使用sqlbf,auto sql cain and...

黑客技術文章(序)

縱觀人類歷史,你會感嘆馬克思哲學所說的歷史唯物主義,更加感嘆中華上古典籍 易經 所謂 久則變,變則通,通則久 的迴圈。我習慣用極端的手法來比喻或者說明問題,甚至會帶有色情和暴力的比喻,因為我發現當我這樣表達時,我的徒弟或者聽眾記憶最深刻 且最活躍。戰爭,是人類活動最極端的行為,我們就拿 戰爭 說事。...

古典黑客技術之HOOK API

hook api技術可以攔截 控制某些api函式的呼叫。當乙個api函式被攔截之後,使用者可以讓目標程式執行事先準備好的 比如說,構造的 是過濾此api函式傳入的引數的,而此api函式又是用來獲取程序的,當此api被攔截之後,我們就可以讓它轉去執行過濾引數的 hook api其實是對遠端程序記憶體資...