滲透之 SQL注入點檢測方法

2021-09-02 22:10:18 字數 1287 閱讀 5922

現在有很多防注入程式遮蔽了 and、1=1、1=2 類似這樣的關鍵字,使用這樣的方法有時不能探測到注入點了。那麼是否有新的方法能夠探測注入點呢? 經過一段時間的研究,發現了更好的方法。特此共享一下。

現在假設有乙個新聞頁面,url 是

1. 在瀏覽器中開啟,可以看到乙個正常的新聞頁面;

2. 在url位址後面加上-1,url變成:如果返回的頁面和前面不同,是另一則新聞,則表示有注入漏洞,是數字型的注入漏洞;在 url位址後面加上 -0,url變成 返回的頁面和前面的頁面相同,加上-1,返回錯誤頁面,則也表示存在注入漏洞,是數字型的。

否則:3. 在url的位址後面加上'%2b',url位址變為:'%2b',返回的頁面和1同;加上'%2b'asdf,url位址變為:'%2basdf,返回的頁面和1不同,或者說未發現該條記錄,或者錯誤,則表示存在注入點,是文字型的。

為什麼這樣可以呢?

我們可以從程式的角度來考慮一下。程式設計師的這條語句大致應該是這樣的:

select * from news where id=123
當我們在後面加上 -1 後,語句變為

select * from news where id=123-1
sql伺服器在執行這條語句時會進行運算,實際執行的是:

select * from news where id=122
這樣選出來的就是另外一條新聞記錄了。如果該記錄存在,就是另一則新聞;否則會顯示記錄不存在,或者出錯。這也同時表示程式未對輸入的資料進行過濾,存在數值型的注入漏洞。

如果 sql 語句時這樣的:

select * from news where id='123'
那麼我們在後面加上 '%2b' 之後,語句變為

select * from news where id='123'+''
%2b 是 + 的url編碼。 這樣之後,sql伺服器實際執行的是:

select * from news where id='123'
會返回同樣的頁面。

加上 '%2b'asdf 之後,語句變為

select * from news where id='123'+'asdf'
實際執行的是:

select * from news where id='123asdf'
返回頁面不存在,或者顯錯。 這就表示有文字型的注入漏洞。

滲透測試基礎之sql注入

1 什麼是sql注入?sql注入攻擊是通過將惡意的sql查詢或新增語句插入到應用的輸入引數中,再在後台sql伺服器上解析執行進行的攻擊,它目前是黑客對資料庫進行攻擊的最常用的手段之一。2 sql注入能帶來的威脅?猜解後台資料庫,這是利用最多的方式,盜取 的敏感資訊。繞過認證,列如繞過驗證登入 後台。...

角點檢測方法

看了將近十來天的opencv了,無論是從官方文件,還是learning opencv,還是看各論壇,心裡總有種感覺是 無法把自己看的知識聯絡在一起,感覺都是各有特色功能的函式,可是這些各有特色功能的函式怎麼組合在一起,實現什麼樣的功能就不得而知了。下面從角點的角度來講講吧 要說的是有些並非是本人所寫...

Mac滲透測試 之SQL注入Demo

二 sql注入 三 參考文章 2 驗證sqlmap安裝成功 1 首先網上找到了sql 注入靶場 基礎語法 sqlmap.py u 注入位址 dbs 列舉資料庫 sqlmap.py u 注入位址 current db 當前資料庫 sqlmap.py u 注入位址 users 列資料庫使用者 sqlma...