黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  應(yīng)聘面試  >  網(wǎng)絡(luò)安全面試題  > PHP安全:SQL注入漏洞

PHP安全:SQL注入漏洞

來(lái)源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2022-10-28 10:45:00 1666925100

  本文介紹由于PHP的不安全編碼引起的各類SQL注入。經(jīng)常看到網(wǎng)站被拖庫(kù),造成信息泄露,主要就是SQL注入漏洞造成的。

  1、什么是SQL注入

  SQL注入漏洞為PHP研發(fā)人員所熟知,它是所有漏洞類型中危害最嚴(yán)重的漏洞之一。SQL注入漏洞,主要是通過(guò)偽造客戶端請(qǐng)求,把SQL命令提交到服務(wù)端進(jìn)行非法請(qǐng)求的操作,最終達(dá)到欺騙服務(wù)器從而執(zhí)行惡意的SQL命令。

  研發(fā)人員在處理應(yīng)用程序和數(shù)據(jù)庫(kù)交互時(shí),未對(duì)用戶可控參數(shù)進(jìn)行嚴(yán)格的校驗(yàn)防范,例如使用字符串拼接的方式構(gòu)造SQL語(yǔ)句在數(shù)據(jù)庫(kù)中進(jìn)行執(zhí)行,很容易埋下安全隱患。

  SQL注入可以造成數(shù)據(jù)庫(kù)信息泄露,特別是數(shù)據(jù)庫(kù)中存放的用戶隱私信息的泄露。通過(guò)操作數(shù)據(jù)庫(kù)對(duì)特定網(wǎng)頁(yè)進(jìn)行篡改,修改數(shù)據(jù)庫(kù)一些字段的值,嵌入惡意鏈接,進(jìn)行掛馬攻擊,傳播惡意軟件。服務(wù)器還容易被遠(yuǎn)程控制,被安裝后門,經(jīng)由數(shù)據(jù)庫(kù)服務(wù)器提供的操作系統(tǒng)支持,讓攻擊者得以修改或控制操作系統(tǒng)以及破壞硬盤數(shù)據(jù),癱瘓全系統(tǒng)。

  目前常見(jiàn)的SQL注入的攻擊方式有報(bào)錯(cuò)注入、普通注入、隱式類型注入、盲注、寬字節(jié)注入、二次解碼注入。下面對(duì)每一種注入威脅舉例說(shuō)明,以幫助您在編碼過(guò)程中有效地避免漏洞的產(chǎn)生。

  為了能更直觀地了解SQL注入,先在數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名叫hacker的用戶表。下面是數(shù)據(jù)表的結(jié)構(gòu),示例都是通過(guò)這個(gè)表結(jié)構(gòu)來(lái)說(shuō)明的。

PHP安全:SQL注入漏洞1

  下面的一段PHP代碼,主要功能是在數(shù)據(jù)庫(kù)中通過(guò)用戶名查詢用戶的具體信息。通過(guò)這段代碼,來(lái)介紹SQL注入以及它對(duì)系統(tǒng)的危害。

PHP安全:SQL注入漏洞2

  2、報(bào)錯(cuò)注入

  報(bào)錯(cuò)注入是指惡意攻擊者用特殊的方式使數(shù)據(jù)庫(kù)發(fā)生錯(cuò)誤并產(chǎn)生報(bào)錯(cuò)信息,從而獲得數(shù)據(jù)庫(kù)和系統(tǒng)信息,方便攻擊者進(jìn)行下一步攻擊。

  需要注意,在研發(fā)過(guò)程中,如果傳入查詢參數(shù)且沒(méi)有對(duì)參數(shù)進(jìn)行嚴(yán)格處理,通常會(huì)造成SQL報(bào)錯(cuò)注入。

PHP安全:SQL注入漏洞3

  如果對(duì)$username傳入?yún)?shù)hacker'attack,完整請(qǐng)求http://localhost:8080/mysql.php?name=hacker'attack,查詢語(yǔ)句將變成以下形式。PHP安全:SQL注入漏洞4

  這可以導(dǎo)致數(shù)據(jù)庫(kù)報(bào)錯(cuò),攻擊者就可以通過(guò)這種方式獲取MySQL的各類信息,從而對(duì)系統(tǒng)進(jìn)行下一步的攻擊和破壞。

  為了防止報(bào)錯(cuò)信息被攻擊者直接看到,網(wǎng)站上線后需要設(shè)置display_errors=Off。

  3、普通注入

  下面的示例是普通注入。攻擊者在地址欄輸入下面帶有部分SQL語(yǔ)句的請(qǐng)求。

PHP安全:SQL注入漏洞5

  最終的SQL語(yǔ)句變成如下形式。PHP安全:SQL注入漏洞6

  從而輸入任何參數(shù)都可以滿足查詢條件,使其變成一個(gè)萬(wàn)能查詢語(yǔ)句。同樣,可以使用UNION和多語(yǔ)句進(jìn)行查詢,獲取數(shù)據(jù)庫(kù)的全部信息。

  完整請(qǐng)求URL:

PHP安全:SQL注入漏洞7

  數(shù)據(jù)庫(kù)當(dāng)前表中的數(shù)據(jù)將被全部備份在/tmp/backup.sql文件中。當(dāng)攻擊者再利用其他漏洞找到下載方式,將文件下載或者復(fù)制走,最終造成被拖庫(kù)時(shí),Web站點(diǎn)的數(shù)據(jù)就會(huì)全部暴露。

  如果執(zhí)行下面請(qǐng)求,將發(fā)生更可怕的事情。PHP安全:SQL注入漏洞8

  執(zhí)行上面的請(qǐng)求后,在原有的SQL語(yǔ)句后面拼接了name';DELETE FROM hacker;SELECT * FROM username WHERE 'a'='a,查詢語(yǔ)句變成了以下形式。

PHP安全:SQL注入漏洞9

  數(shù)據(jù)庫(kù)里的數(shù)據(jù)被攻擊者完全刪除。如果沒(méi)有提前對(duì)數(shù)據(jù)進(jìn)行備份,這對(duì)于系統(tǒng)造成的傷害將是毀滅性的。

  4、隱式類型注入

  以數(shù)據(jù)表結(jié)構(gòu)為例,編寫以下查詢語(yǔ)句。

PHP安全:SQL注入漏洞10

  該查詢語(yǔ)句的作用是通過(guò)email查詢相應(yīng)的用戶信息,由于將email的值誤寫為0,在圖1的執(zhí)行結(jié)果中可以看到數(shù)據(jù)庫(kù)返回了表中的所有內(nèi)容。

  為什么會(huì)這樣呢?因?yàn)樵贛ySQL中執(zhí)行SQL查詢時(shí),如果SQL語(yǔ)句中字段的數(shù)據(jù)類型和對(duì)應(yīng)表中字段的數(shù)據(jù)類型不一致,MySQL查詢優(yōu)化器會(huì)將數(shù)據(jù)的類型進(jìn)行隱式轉(zhuǎn)換。表1中列出了SQL執(zhí)行過(guò)程中MySQL變量類型轉(zhuǎn)換規(guī)則,在研發(fā)過(guò)程中需要注意它的影響。

  通過(guò)表中的轉(zhuǎn)換關(guān)系可以看出,在上面的查詢語(yǔ)句中,MySQL將數(shù)據(jù)類型轉(zhuǎn)換為DOUBLE后進(jìn)行查詢,由于STRING轉(zhuǎn)換后的值為0,同時(shí)查詢條件中的值也為0,所以匹配到了整張表的內(nèi)容。

  5、盲注

  報(bào)錯(cuò)注入和普通注入顯而易見(jiàn),盲注有時(shí)容易被忽略。

  在頁(yè)面無(wú)返回的情況下,攻擊者也可以通過(guò)延時(shí)等技術(shù)實(shí)現(xiàn)發(fā)現(xiàn)和利用注入漏洞。

PHP安全:SQL注入漏洞11

  判斷數(shù)據(jù)庫(kù)版本,執(zhí)行成功,瀏覽器返回會(huì)延時(shí)并利用BENCHMARK()函數(shù)進(jìn)行延時(shí)注入。PHP安全:SQL注入漏洞12

  該請(qǐng)求會(huì)使MySQL的查詢睡眠5秒,攻擊者可以通過(guò)添加判斷條件到SQL語(yǔ)句中,如果睡眠了5秒,那么說(shuō)明MySQL版本為5,否則不是。通過(guò)盲注可以掌握數(shù)據(jù)庫(kù)和服務(wù)器的相關(guān)信息,為攻擊提供便利。

  6、寬字節(jié)注入

  要觸發(fā)寬字節(jié)注入,有一個(gè)前提條件,即數(shù)據(jù)庫(kù)和程序編碼都是GBK的。下面的示例代碼以GBK編碼格式保存。

PHP安全:SQL注入漏洞13

  在這個(gè)SQL語(yǔ)句前面,使用了一個(gè)addslashes()函數(shù),將$id的值進(jìn)行轉(zhuǎn)義處理。只要輸入?yún)?shù)中有單引號(hào),就逃逸不出限制,無(wú)法進(jìn)行SQL注入,具體如下。

PHP安全:SQL注入漏洞14

  上面兩個(gè)請(qǐng)求都通過(guò)了addslashes,不會(huì)引起SQL注入。要實(shí)現(xiàn)注入就要逃過(guò)addslashes的限制,addslashes()函數(shù)的作用是讓“'”變成”'”,進(jìn)行了轉(zhuǎn)義。攻擊者一般的繞過(guò)方式就是想辦法處理“'”前面的“\”。

  PHP在使用GBK編碼的時(shí)候,會(huì)認(rèn)為兩個(gè)字符是一個(gè)漢字。當(dāng)輸入的第一個(gè)字符的ASCII碼大于128時(shí),看看會(huì)發(fā)生什么情況,例如輸入“%81'”。

  MySQL報(bào)告出現(xiàn)語(yǔ)法SQL錯(cuò)誤,原因是多輸入了一個(gè)引號(hào),然而前面的反斜杠不見(jiàn)了,一旦出現(xiàn)數(shù)據(jù)庫(kù)報(bào)錯(cuò),就說(shuō)明可以進(jìn)行SQL注入了。

  原因是GBK是多字節(jié)編碼,PHP認(rèn)為兩個(gè)字節(jié)代表一個(gè)漢字,所以%81和后面的反斜杠%5c變成了一個(gè)漢字“乗”,造成反斜杠消失。

  7、二次解碼注入

  通常情況下,為了防止SQL注入的發(fā)生,采取轉(zhuǎn)義特殊字符,例如對(duì)用戶輸入的單引號(hào)(')、雙引號(hào)(")進(jìn)行轉(zhuǎn)義變成“'"”。有一個(gè)誤區(qū)就是通過(guò)配置PHP的GPC開(kāi)關(guān)進(jìn)行自動(dòng)轉(zhuǎn)義。

  當(dāng)攻擊者將參數(shù)二次編碼時(shí),PHP的自動(dòng)轉(zhuǎn)義將無(wú)法識(shí)別用戶的惡意輸入。

  用前面的URL,來(lái)構(gòu)造如下新的請(qǐng)求。

PHP安全:SQL注入漏洞15

  當(dāng)PHP接收到請(qǐng)求時(shí)會(huì)自動(dòng)進(jìn)行一次URL解碼,變?yōu)閚ame%27,然后代碼里又使用urldecode()函數(shù)或rawurldecode()函數(shù)進(jìn)行解碼,%27變成了單引號(hào),URL最終變成name=name'引發(fā)SQL注入。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
網(wǎng)絡(luò)安全面試題及答案

1.什么是網(wǎng)絡(luò)安全?為什么網(wǎng)絡(luò)安全重要?答:網(wǎng)絡(luò)安全是保護(hù)計(jì)算機(jī)網(wǎng)絡(luò)和網(wǎng)絡(luò)連接的機(jī)制和措施,防止未經(jīng)授權(quán)的訪問(wèn)、攻擊和損害。網(wǎng)絡(luò)安全對(duì)于保...詳情>>

2023-07-20 15:29:47
什么是防火墻?

我們知道,原是指古代人們房屋之間修建的那道墻,這道墻可以防止火災(zāi)發(fā)生的時(shí)候蔓延到別的房屋。 而這里所說(shuō)的防火墻當(dāng)然不是指物理上的防火墻...詳情>>

2022-10-28 09:50:00
常見(jiàn)6種WAF繞過(guò)和防護(hù)原理

今天就聊聊關(guān)于上傳繞過(guò)WAF的姿勢(shì),WAF(Web Application Firewall)簡(jiǎn)單的來(lái)說(shuō)就是執(zhí)行一系列針對(duì)HTTP/HTTPS的安全策略來(lái)專門為Web應(yīng)用提供保護(hù)...詳情>>

2022-10-28 09:37:00
網(wǎng)絡(luò)安全方面的崗位面試題目集合(二)

單針對(duì)金融業(yè)務(wù)的 主要是數(shù)據(jù)的篡改(涉及金融數(shù)據(jù),或部分業(yè)務(wù)的判斷數(shù)據(jù)),由競(jìng)爭(zhēng)條件或者設(shè)計(jì)不當(dāng)引起的薅羊毛,交易/訂單信息泄露,水平越權(quán)...詳情>>

2022-07-21 17:50:00
【SQL篇】大廠網(wǎng)絡(luò)安全面試題集合(一)

SQL 注入防護(hù)1、使用安全的 API2、對(duì)輸入的特殊字符進(jìn)行 Escape 轉(zhuǎn)義處理3、使用白名單來(lái)規(guī)范化輸入驗(yàn)證方法 4、對(duì)客戶端輸入進(jìn)行控制,不允許...詳情>>

2022-07-14 13:44:00
精品国产一级毛片| 欧美激情一区二区三区视频高清 | a级毛片免费观看网站| 午夜精品国产自在现线拍| 色综合久久天天综线观看| 国产伦久视频免费观看 视频| 精品国产一区二区三区精东影业 | 天天做日日爱夜夜爽| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 亚洲第一页色| 毛片成人永久免费视频| 一级片片| 精品国产一区二区三区精东影业 | 免费的黄色小视频| 国产成人欧美一区二区三区的| 麻豆午夜视频| 久久福利影视| 尤物视频网站在线| 久久国产一区二区| 国产麻豆精品高清在线播放| 香蕉视频久久| 午夜在线亚洲男人午在线| 一 级 黄 中国色 片| 成人影院一区二区三区| a级毛片免费全部播放| 黄视频网站免费| 成人免费观看视频| 国产成人精品综合| 国产一区二区精品久久| 国产一区精品| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 色综合久久天天综线观看| 国产综合91天堂亚洲国产| 成人影视在线观看| 精品视频免费在线| 二级特黄绝大片免费视频大片| 日韩专区第一页| 999久久狠狠免费精品| 欧美大片a一级毛片视频| 久久国产精品只做精品| 久久精品免视看国产明星| 成人免费一级纶理片| 精品视频在线看| 四虎影视久久久| 日韩免费在线视频| 超级乱淫伦动漫| 日韩欧美一二三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产不卡在线观看视频| 可以免费看污视频的网站| 99久久视频| 一级毛片视频播放| 国产麻豆精品视频| 国产91丝袜在线播放0| 国产91丝袜高跟系列| 成人免费一级毛片在线播放视频| 青青久久精品| 国产精品免费精品自在线观看| 免费国产在线观看| 精品视频在线观看一区二区三区| 91麻豆精品国产自产在线观看一区| 成人免费观看男女羞羞视频| 久久99欧美| 99久久精品国产麻豆| 久久精品店| 日韩一级黄色大片| 欧美18性精品| 美女免费毛片| 欧美大片一区| 999精品视频在线| 国产国产人免费视频成69堂| 99久久精品国产麻豆| 尤物视频网站在线| 四虎影视久久| 成人免费一级纶理片| 欧美激情影院| 中文字幕97| 91麻豆国产| 99热视热频这里只有精品| 青青久久网| 亚洲女初尝黑人巨高清在线观看| 国产国语在线播放视频| 九九精品影院| 国产网站免费视频| 国产一区二区精品久久91| 黄色免费三级| 欧美大片毛片aaa免费看| 99久久精品国产免费| 韩国三级一区| 一级女性全黄生活片免费| 久久久成人影院| 天天做日日爱| 欧美电影免费看大全| 精品视频在线观看免费| 成人免费观看视频| 国产国语在线播放视频| 国产成人啪精品| 亚洲女初尝黑人巨高清在线观看| 国产91精品一区二区| 久久精品免视看国产成人2021| 韩国三级视频网站| 九九免费高清在线观看视频 | 高清一级做a爱过程不卡视频| 国产网站在线| 日韩av片免费播放| 日日日夜夜操| 99热精品在线| 欧美激情在线精品video| 99色视频在线| 香蕉视频久久| 国产成a人片在线观看视频| 国产欧美精品| 欧美激情一区二区三区在线播放| 青青青草视频在线观看| 欧美激情影院| 一级女人毛片人一女人| 成人影院一区二区三区| 九九精品影院| 九九久久99综合一区二区| 日韩字幕在线| 九九热国产视频| 国产视频一区在线| 黄视频网站在线观看| 国产91丝袜高跟系列| 午夜激情视频在线观看| 国产视频一区二区在线播放| 国产精品123| 国产精品自拍亚洲| 欧美日本免费| 欧美一级视频免费| 黄色免费三级| 国产视频一区在线| 天堂网中文在线| 欧美国产日韩在线| 韩国三级视频在线观看| 欧美国产日韩精品| 亚洲精品久久玖玖玖玖| 黄色福利| 欧美一级视频免费| 欧美一区二区三区在线观看| 国产亚洲精品成人a在线| 久久国产影视免费精品| 国产亚洲免费观看| 日韩专区一区| 天天做人人爱夜夜爽2020毛片| 欧美另类videosbestsex高清| 欧美大片毛片aaa免费看| 成人av在线播放| 国产麻豆精品hdvideoss| 日韩在线观看视频免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩免费在线| 欧美一级视频免费| 久久精品免视看国产明星| 二级特黄绝大片免费视频大片| 91麻豆国产福利精品| 欧美1区2区3区| 精品视频在线观看一区二区三区| 免费国产一级特黄aa大片在线| 美女免费毛片| 国产一级强片在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产成人欧美一区二区三区的| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人a大片在线观看| 日韩免费在线| 国产成人欧美一区二区三区的| 国产a毛片| 亚洲精品影院| 国产91精品系列在线观看| 美女免费毛片| 一级女性全黄久久生活片| 韩国三级视频网站| 国产成人啪精品| 青青久热| 九九干| 日本特黄一级| 国产伦理精品| 99久久精品国产国产毛片| 日韩av片免费播放| 国产视频一区在线| 亚洲第一页乱| 国产成人精品综合在线| 毛片高清| 国产一区二区精品久久| 日韩中文字幕一区| 欧美日本二区| 精品视频免费在线| 色综合久久天天综合绕观看| 久久精品免视看国产成人2021| 日本特黄一级| 精品国产香蕉在线播出| 四虎影视久久久| 日本特黄特色aaa大片免费| 久久久久久久免费视频| 国产91精品一区二区| 欧美日本二区| 黄色免费三级| 精品久久久久久综合网| 韩国毛片基地|