create database test
use test
error_number() 返回錯誤號。
error_severity() 返回嚴重性。
error_state() 返回錯誤狀態號。
error_procedure() 返回出現錯誤的儲存過程或 觸發器的名稱。
error_line() 返回導致錯誤的例程中的行 號。
error_message() 返回錯誤訊息的完整文字。
create table logtable
id int identity(1,1),--錯誤序號
errornumber int,--錯誤號
errorseverity int,--嚴重性
errorstate int,--錯誤狀態號
errorproducure varchar(200),--出現錯誤的儲存過程或 觸發器的名稱
errorline int,--導致錯誤的例程中的行號
errormessage varchar(200)--錯誤訊息的完整文字
--***************除數不為0的異常捕獲***************==--
if exists (select * from sysobjects where id=object_id(n'getwrong') and xtype='p')
drop proc getwrong
gocreate proc getwrong
asbegin
-----------------製造異常
begin try
select 1/0;
-----------------捕獲異常
end try
begin catch
insert into logtable values(error_number(),error_severity(),error_state(),error_procedure(), error_line() ,error_message())
end catch
end--執行儲存過程
exec getwrong
--檢視日誌表
select * from logtable
--檢視系統日誌表
select * from sys.messages where message_id=8134 and language_id=2052
SQL報錯注入
報錯注入的原理分析sql報錯注入就是利用資料庫的某些機制,人為地製造錯誤條件,使得查詢結果能夠出現在錯誤資訊中。這種手段在聯合查詢受限且能返回錯誤資訊的情況下比較好用。一般是在頁面沒有顯示位 但用echo mysql error 輸出了錯誤資訊的時候使用,它的特點是注入速度快,但是語句較複雜,不能用...
sql報錯注入
當場景中僅僅將sql語句帶入查詢返回頁面正確,沒有返回點的時候,需要報錯注入,用報錯的回顯。裡面用slect語句,不能用 union select 1.功能 將多個字串連線成乙個字串。2.語法 concat str1,str2,返回結果為連線引數產生的字串,如果有任何乙個引數為null,則返回值為n...
SQL注入 報錯注入
乙個帶get引數的 並且不從資料庫返回資料,但存在報錯資訊 檢視字段情況 報錯注入語句格式 and 1 2 union select1,2,3 from select count concat floor rand 0 2 sql語句 a from information schema.tables...