❶ 掃描發現一個sql注入,請問如何驗證這個注入,請給我詳細過程,謝謝,好的話還可以加分
掃描是如何進行的,驗證是否存在也是一樣的!
掃描是用某一地址後加上了and 1=1取得的結果進行與and 1=2取得的結果進行比較而確認存在的!有時直接可以對and 1=2進行分析.如果內容沒有顯示完或是顯示有部分錯誤時,一般會報資料庫錯誤!可以知道這存在一個SQL 注入的!
然後就是直接的注入了!以手動為例,第一步猜表名:使用(select count(*) from admin)>0將語句中的1=2代替,查看反回結果,若是與1=2的界面一樣出現錯誤或是顯示不完全,則說明不存在admin表,一步一步到試表名,常用的一般是admin,administrator,manager等表名的!
第二步從猜到的表名中猜列名
(select count(*) from admin where len(username)>=1)>0
如果顯示完全則表明存在username列名,當然還要猜一個密碼的列名,一個是user,username之類,密碼是password之類.
第三步,從猜到的表名或列名中猜管理員的名稱.
如果是論壇的形式,有些設計上有不好的地方,就是管理員在論壇中發言的那個名稱往往就是管理員的名稱,因為圖省事,發言所用的昵稱與登陸所用的用戶名是同一個.如果是,則好辦,否則也是猜的!
一般我會找一個最長的管理員名稱猜或者先猜出長度!如:len(username)>=5時正常,而大於等於6時出錯!那麼長度一定是5位!
然後用
(select count(*) from admin where len(username)=5 and left(username,1)>='a')>0
出錯則第一個字元小於a,根據字元的編碼去猜吧,可以找到猜到left(username,1)>="A"時正常,而>="B"時不正常.那麼第一個字元就是"A",直到5個都猜完,比如得到"Admin"就知道了其用戶名!
第四步猜密碼:
(select count(*) from admin where username ='Admin' and left(password,1)>='a')>0
同樣的方式可以猜到密碼,最好先猜一下密碼長度,如果是16位或是32位時往往使用了MD5加密,猜到的是加密過的字元而不是真正的密碼!
第五步,其實第五步也是提前確認的,不然我們作的都是無用功!找後台登陸頁面.
在後台登陸,當然如果網站為了安全,使用了JS先對密碼進行加密的話,可以讓JS不運行或是下載頁面進行改造,不讓其加密你的密碼,這時你可以在密碼中直接輸入第四步的MD5的值.如果密碼是明文傳播,也就是在伺服器端進行校驗時,只有將第四步得到的MD5匹配,不叫反解MD不能反解,但可以在網站上得到一個匹配,也就是說某一個密碼可以生成同樣的MD5值,那這個密碼就可以用!當然,如果明文存在資料庫中就更好玩了!直接輸入吧!
第六步,進入後台後,添加管理員帳戶!以後想怎麼玩就怎麼玩,要是一個不細心的網管,再不查一下後台的管理員,你想他的後果是什麼?
第七步,可能嗎?大部分的管理員不是弱智,所以第六步往往只是一個障眼法!因為添加管理員很容易被發現的!添加木馬程序!或者寫一個頁面,這個頁面的名字與地址你自己記好,然後隱藏,一般管理員都不會在意的!這個頁面是顯示其特定資料庫的!你也想了顯示哪個呢?肯定管理員了!
以後你也登陸,如果添加的帳戶登陸不上,就調用那個隱藏的地址,顯示出真正管理員的密碼或是MD5值,同上邊一樣登陸進行!再建一個管理員迷惑他!
當然,如果資料庫允許插入的話,也好玩!不必狂管理員的帳戶與密碼,直接使用insert into語句插入一個管理員和密碼就可以了!但是由於admin表中除這兩項外,還有不允許為空時我們要麼再猜其他欄位(這個很難),很難插入的!
如果是SQL資料庫,而他們開的恰恰又是sa帳戶的話,好玩的事更多了!因為sa的許可權很大,直接可以從系統表中查詢各個表的名稱等,
這只是手動的一個例子,做為新手可以實現注入.但記著不要給人家網站添麻煩,都不容易!
❷ 室友突發奇想想做一個 web工具,基礎不高,想找幾個 sql掃描檢測的框架,python的最好
sqlmap 了解一下吧
❸ 如何用sqlmap掃描sql注入漏洞
下載sqlmap
打開http://sqlmap.org/並下載
安裝sqlmap
解壓下載的sqlmap壓縮包,裡面是sqlmap源碼,無需安裝,可直接使用
3
使用sqlmap
對於存在漏洞的url如:http://www.xxxxx.com/abc.php?id=1
打開cmd在sqlmap目錄下輸入如下語句:python sqlmap.py -u http://www.xxxxx.com/abc.php?id=1
❹ sqlmap掃描到的sql注入,怎樣解決
1、首先是burp設置記錄log 2、把記錄的log文件放sqlmap目錄下 3、sqlmap讀log自動測試: python sqlmap.py -l 文件名 --batch -smart batch:自動選yes。 smart:啟發式快速判斷,節約時間。 4、最後能注入的url會保存到out文件夾下。
❺ python sql注入語法是什麼意思
https://wenku..com/view/.html?from=search
❻ python怎麼防止sql注入
最簡單最容易的是限制用戶輸入。簡單點的就是不允許用戶輸入單引號 和 --,因為單引號號--在SQL中都是影響執行的,兩種方式一種是在JSP中加判斷。
另一種是在SQL拼接是對單引號和--等進行轉義,例如:str = str.replace("'", "''");
等等,還有其他很多方法。
❼ 用python如何去匹配sql注入出來的數據
除了
SUM還可以用
avg,
max,
min
SUM(3,
2)
等於5。
SUM("3",
2,
TRUE)
等於6,因為文本值被轉換成數字,而邏輯值
"TRUE"
被轉換成數字1。
不同於前例,如果
A1
包含
"3",而
B1
包含TRUE,則:SUM(A1,
B1,
2)
等於
2,因為對非數值型的值的引用不能被轉換成數值。
如果單元格
A2:E2
包含
5,15,30,40
和
50,則:SUM(A2:C2)
等於50;SUM(B2:E2,
15)
等於
150。
運用SUM算余額
只要在D3輸入好公式,下面的可以從D3單元格下拉復制格式:
同理適用於其他數據運算
❽ Python的sql注入
注入式攻擊貌似舉例比網站用戶名密碼驗證採用字元串拼接式例
"select UName from Users where Uname='"+name+"'"我輸入用戶名候輸入 hello' and 1=1 drop table Users -- 網站廢利用單引號另注釋符
❾ SQL注入漏洞掃描工具有哪些
WebCruiser Web Vulnerability Scanner是一個功能不凡的Web應用漏洞掃描器,能夠對整個網站進行漏洞掃描,並能夠對發現的漏洞(SQL注入,跨站腳本)進行驗證;它也可以單獨進行漏洞驗證。
網站爬蟲(目錄及文件);
漏洞掃描(SQL注入,跨站腳本);
漏洞驗證(SQL注入,跨站腳本);
SQL Server明文/欄位回顯/盲注;
MySQL欄位回顯/盲注;
Oracle欄位回顯/盲注;
DB2欄位回顯/盲注;
Access欄位回顯/盲注;
管理入口查找;
GET/Post/Cookie 注入;
搜索型注入延時;
自動從自帶瀏覽器獲取Cookie進行認證;
自動判斷資料庫類型;
自動獲取關鍵詞;
多線程;
高級:代理、敏感詞替換/過濾;
報告;WebCruiser Web Vulnerability Scanner是一個功能不凡的Web應用漏洞掃描器,能夠對整個網站進行漏洞掃描,並能夠對發現的漏洞(SQL注入,跨站腳本)進行驗證;它也可以單獨進行漏洞驗證。
網站爬蟲(目錄及文件);
漏洞掃描(SQL注入,跨站腳本);
漏洞驗證(SQL注入,跨站腳本);
SQL Server明文/欄位回顯/盲注;
MySQL欄位回顯/盲注;
Oracle欄位回顯/盲注;
DB2欄位回顯/盲注;
Access欄位回顯/盲注;
管理入口查找;
GET/Post/Cookie 注入;
搜索型注入延時;
自動從自帶瀏覽器獲取Cookie進行認證;
自動判斷資料庫類型;
自動獲取關鍵詞;
多線程;
高級:代理、敏感詞替換/過濾;
報告;