360php防注入代碼慢查詢?nèi)罩静僮饔惺裁从??為什么要用它呢?phppdo防注入

2023-11-25    分類: 網(wǎng)站建設

起源

如果您查看過慢查詢?nèi)罩净蚓W(wǎng)站日志,您可能會看到以下語句:

col.id = ((0)from(((90)))v)/*'+((0)from(((90)) )v)+'"+((0)from(((90)))v)+"*/;

可能是你的網(wǎng)站開通后大約一個小時內(nèi)收到的日志,也可能是你訪問web服務器時看到的日志()。如果你在慢查詢?nèi)罩净蛘呷罩局锌吹?,并且跳轉(zhuǎn)請求返回的狀態(tài)碼是200而不是404,那么恭喜你,你可能中標了,被Sql攻擊了。在本文中,我們將通過使用 () 函數(shù)作為干預來與您討論。

() 函數(shù)

(n),暫停數(shù)據(jù)庫n秒。

不要混淆控制臺中的狀態(tài)。它描述了連接的狀態(tài)。 () 函數(shù)做一件事,就是暫停數(shù)據(jù)庫的執(zhí)行網(wǎng)站開發(fā),直到設定的時間。那么這個操作有什么用呢?為什么要使用它?

通常,有些操作需要一段時間的操作,而這些操作需要臨時的操作或更新(比如數(shù)據(jù)鎖,比如記錄一個pos點后,備份一個從庫),當然也可能也是黑客攻擊。

漏洞滲透掃描

如果你的數(shù)據(jù)庫和網(wǎng)站沒有采取安全措施,直接將端口暴露在公網(wǎng)(如ssh 22端口、3306端口),那么掃描儀很快就能掃描滲透你的端口。因此,綜中意在主機保護中也提到了條款:禁止端口暴露于公網(wǎng);修改常用端口。具體來說,最常用的掃描滲透和安全審計工具是。

是使用它編寫的數(shù)據(jù)庫SQL注入掃描工具。目前支持,,,,,,,,,,,,,,,,,,,,,,,,,,2等常見的數(shù)據(jù)安全漏洞(sql注入)

在盲主掃描中,通常會用到各種sql語句,通常會用到命令。例如360 php防注入代碼,掃描那些使用舊的或非 pDO 連接的 pHp 網(wǎng)站,然后枚舉易受攻擊的 AJAX 命令或 GET/pOST 結(jié)果的列表。通常需要在輸出掃描結(jié)果時停止執(zhí)行。

而類似的工具可以并行攻擊數(shù)十個站點,通過強制這些站點上的數(shù)據(jù)庫一段時間(數(shù)量設置取決于個人經(jīng)驗),并計算時間來測試滲透命令的有效性。這是在安全行業(yè)。通常稱為基于時間的盲注。

快速剖析

本文開頭我們舉了一個sql語句的例子,是常用的盲注的典型語句。如果語句被執(zhí)行,條件語句部分被替換成類似下面的內(nèi)容,那么它絕對會鎖定數(shù)據(jù)庫:

col.id = ((0)from(((90)))v)/*'+((0)from(((90)) )v)+'"+((0)from(((90)))v)+"*/;

請注意,該語句巧妙地使用了各種運算符和分隔符。請注意,此語句對于僅拼寫 sql 語句的程序很有用。使用pDO,語句可以過濾,不能執(zhí)行。

pHp 注入示例

讓我們寫一個php例子來解釋這個問題??聪旅娴暮瘮?shù):

在上面的例子中,我們使用了 () 函數(shù)來生成一個逗號分隔的 ID 列表。由于沒有對輸入進行校驗,可能傳入數(shù)組中存在非法命令或?qū)?shù)據(jù)庫表中的數(shù)據(jù)轉(zhuǎn)儲到顯示頁面。解決這個問題,需要對傳入的數(shù)據(jù)進行校驗,并校驗長度(根據(jù)實際需要限制參數(shù)長度,可以大大防止注入成功)。

可以使用pDO等鏈接框架,使用占位符替換(綁定)參數(shù)生成SQL語句,并通過參數(shù)驗證,可以防止大部分SQL注入值。

pDO 不是萬能藥

上面我們也說了pDO可以防止大部分pHp Sql注入問題,但不能100%保證解決所有問題。

前面說過,把Sql獨創(chuàng)的動態(tài)組合方式放在一起,讓很多pHp系統(tǒng)都處于危險之中

所以,不知所措的程序員難免會通過谷歌尋求幫助:

以上是網(wǎng)上非常流行的pDO教程之一。代碼使用了pDO,但與Sql的純手工拼湊無異。這也是一種非常危險的做法。

下面也有答案(某知名編程問答網(wǎng)站):

你看到了嗎?這是糟糕的代碼網(wǎng)站開發(fā),但它仍然被接受。編碼者接受的概念是“使用pDO防止sql注入”,但是他們不知道pDO還有一個防止注入的前提,那就是必須用“?占位符綁定來寫SQL,然后,然后”,否則沒用。

不要低估()

也許你覺得()的執(zhí)行沒有什么問題?至少不要刪除你的數(shù)據(jù)庫。 () 易于識別,通常在此階段危害不大。但是通過盲注Fuzz測試數(shù)據(jù),可以執(zhí)行大量查詢,快速找到有效的攻擊EXp。

其實這就是死核函數(shù)。這種想法的一個問題是,在依賴于 UX/UI 的生產(chǎn) Web 項目中,通常的做法是將代碼執(zhí)行用戶限制為只有權限,而不是給他 DROp 權限。但是()只需要權限就可以使用。

如何禁止?

因為只需要使用功能,所以不需要權限。并且可以作為“最安全”的命令執(zhí)行。

這只是一個SQL注入漏洞,您不能使用定時攻擊來暫停數(shù)據(jù)庫執(zhí)行或瀏覽數(shù)據(jù)(或轉(zhuǎn)儲)。而且一般情況下,不能通過簡單的配置來禁用功能。您可以在數(shù)據(jù)庫、表和列級別限制權限。當然,如果有辦法簡單地禁止某些危險功能,也是有道理的(比如php.ini中的配置)。

其實也給了我們一個防御思路,基于對關鍵字的檢測來實現(xiàn)SQL攻擊預警和防御。例如,基于此檢測原理開發(fā)了 Web 防火墻 App-Waf(://App-Waf)。通過分析訪問日志中的關鍵字360 php防注入代碼,它包括功能。以下是我使用的關鍵字。規(guī)則(部分)。

本文中bug和大家用()函數(shù)作為介入來討論Sql注入的問題。一般來說,可以使用()來枚舉SQL漏洞。 pDO綁定參數(shù)的方法可以防止Sql注入。 ( ) 一般無害,一般情況下也很少使用,但可以變身寶物,作為檢測攻擊的手段。

更多安全和Sql注入問題,關注bug,bug會寫文章和大家一起學習。

網(wǎng)站題目:360php防注入代碼慢查詢?nèi)罩静僮饔惺裁从??為什么要用它呢?phppdo防注入
文章起源:http://www.muchs.cn/news38/296488.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供面包屑導航、App開發(fā)、動態(tài)網(wǎng)站、品牌網(wǎng)站建設、網(wǎng)站導航、營銷型網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營