PHP Web安全開(kāi)發(fā)實(shí)戰(zhàn)
定 價(jià):59 元
叢書(shū)名:高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育教材精選
- 作者:湯青松
- 出版時(shí)間:2018/9/1
- ISBN:9787302511274
- 出 版 社:清華大學(xué)出版社
- 中圖法分類(lèi):TP393.092
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)結(jié)合在安全方面的開(kāi)發(fā)經(jīng)驗(yàn),站在開(kāi)發(fā)者的角度,循序漸進(jìn)地介紹了大量實(shí)際發(fā)生的漏洞案例,并給出了技術(shù)解決方案,包括:常見(jiàn)的網(wǎng)絡(luò)攻擊、代碼安全、前端腳本安全、后端應(yīng)用安全、賬戶(hù)安全、加解密認(rèn)證、SQL注入以及服務(wù)器配置等內(nèi)容。通過(guò)閱讀本書(shū),讀者能夠?qū)φ麄(gè)網(wǎng)絡(luò)安全有一個(gè)全新的認(rèn)識(shí)和深入的理解,從而成為一位懂安全、會(huì)防護(hù)的工程師,避免在工作中成為黑客攻擊的對(duì)象。本書(shū)適合PHP開(kāi)發(fā)人員、網(wǎng)絡(luò)維護(hù)人員以及對(duì)網(wǎng)絡(luò)安全攻防技術(shù)感興趣的讀者閱讀。
從常見(jiàn)的網(wǎng)絡(luò)攻擊入手,介紹代碼安全、前端腳本安全、后端應(yīng)用安全、賬戶(hù)安全、加解密及認(rèn)證技術(shù)、SQL注入以及服務(wù)器配置防護(hù)等安全知識(shí),以案例揭示安全漏洞并提供解決方案。
前 言在準(zhǔn)備寫(xiě)這本書(shū)的時(shí)候參考了很多Web安全方面的資料和書(shū)籍,我發(fā)現(xiàn)很多書(shū)籍和資料都是從攻擊者的角度來(lái)講述Web安全的。為了防止本書(shū)和其他的書(shū)籍以及相關(guān)資料同質(zhì)化,在規(guī)劃本書(shū)的時(shí)候,特意從PHP開(kāi)發(fā)者的角度出發(fā),目的是讓開(kāi)發(fā)者提升安全開(kāi)發(fā)的能力,書(shū)中會(huì)講到目前Web安全中的常見(jiàn)漏洞、相關(guān)的漏洞案例、最佳的安全防范方法,以及我自己的觀點(diǎn),希望能幫到需要提升安全知識(shí)的PHP從業(yè)者。本書(shū)內(nèi)容第1章 信息泄露此書(shū)面向安全意識(shí)薄弱的開(kāi)發(fā)者,因此在第1章中帶領(lǐng)讀者入門(mén),主要介紹攻擊者在攻擊服務(wù)器時(shí)在前期如何探查服務(wù)器信息,攻擊者有哪些手段來(lái)挖掘漏洞,讓讀者能夠快速了解漏洞是如何被發(fā)現(xiàn)的。第2章 常規(guī)漏洞講解開(kāi)發(fā)者在編碼過(guò)程中,因缺乏安全意識(shí)或遺漏而導(dǎo)致的安全問(wèn)題;同時(shí)通過(guò)生動(dòng)的案例分析來(lái)說(shuō)明攻擊者是如何發(fā)現(xiàn)此類(lèi)安全問(wèn)題的;最后在章節(jié)末尾會(huì)提到開(kāi)發(fā)者如何規(guī)避這些編碼導(dǎo)致的安全問(wèn)題。第3章 業(yè)務(wù)邏輯安全在設(shè)計(jì)一些業(yè)務(wù)的時(shí)候,不僅編碼會(huì)產(chǎn)生安全漏洞,業(yè)務(wù)同樣會(huì)產(chǎn)生大問(wèn)題,比如常見(jiàn)的越權(quán)漏洞、支付漏洞、驗(yàn)證碼問(wèn)題,這些問(wèn)題其實(shí)在設(shè)計(jì)功能之初就應(yīng)該考慮到項(xiàng)目計(jì)劃中去。第4章 LANMP安全配置對(duì)于PHP開(kāi)發(fā)者來(lái)說(shuō),一定離不開(kāi)Nginx、Apache、MySQL、PHP、Redis等配置,不過(guò)這些配置并不會(huì)經(jīng)常用到,通常是配置一次,后面就不用再理會(huì)。這也導(dǎo)致了開(kāi)發(fā)者因?yàn)閷?duì)配置的陌生而出現(xiàn)不少安全問(wèn)題,本章會(huì)總結(jié)出因?yàn)榕渲貌划?dāng)而帶來(lái)的安全問(wèn)題,同時(shí)也會(huì)給出正確的安全配置建議。第5章 認(rèn)證與加密在進(jìn)行業(yè)務(wù)開(kāi)發(fā)的過(guò)程中,我們很頻繁地使用加密與解密,但對(duì)其底層原理卻了解得甚少,甚至部分開(kāi)發(fā)者無(wú)法分清認(rèn)證與加密的區(qū)別,本章主要介紹加密和認(rèn)證的相關(guān)技術(shù),以幫助開(kāi)發(fā)人員了解其技術(shù)特點(diǎn),從而開(kāi)發(fā)出安全的應(yīng)用。第6章 其他Web安全主題攻擊者的攻擊方式是多樣的,我們?cè)诜婪栋踩珕?wèn)題的同時(shí),一定要有重點(diǎn)目標(biāo),所以本章會(huì)提到漏洞的危險(xiǎn)等級(jí)劃分、CMS引起的漏洞如何防御、對(duì)自身的業(yè)務(wù)如何安全測(cè)試、在測(cè)試的同時(shí)如何提升效率,本章還會(huì)介紹兩款經(jīng)典的安全檢測(cè)工具: Burp Suite和SQLMap,讓讀者能夠?qū)ψ约洪_(kāi)發(fā)的產(chǎn)品進(jìn)行安全檢測(cè)。本書(shū)讀者對(duì)象這本書(shū)面向懂PHP開(kāi)發(fā)但不擅長(zhǎng)安全方面的開(kāi)發(fā)者,可以通過(guò)此書(shū)讓你在Web安全方面快速成長(zhǎng),在書(shū)中列出了很多互聯(lián)網(wǎng)的漏洞案例,目的是讓讀者看了之后更加了解攻擊者是如何發(fā)現(xiàn)漏洞的,從而讓開(kāi)發(fā)者在開(kāi)發(fā)時(shí)能夠?qū)ΠY下藥。由于編者水平有限,雖已盡力,但書(shū)中肯定還會(huì)存在許多不妥甚至謬誤,敬請(qǐng)廣大讀者和專(zhuān)家不吝指教,非常感謝。
湯青松2018年4月于北京
湯青松,2017 PHP全球開(kāi)發(fā)者大會(huì)安全話(huà)題演講嘉賓,前烏云眾測(cè)研發(fā)工程師,慕課網(wǎng)Web安全方向高級(jí)講師;現(xiàn)工作于中國(guó)婚博會(huì),負(fù)責(zé)技術(shù)實(shí)現(xiàn)與數(shù)據(jù)安全方面的工作。
目 錄第1章 信息泄露11.1 主機(jī)信息11.1.1 子域名信息21.1.2 端口信息51.1.3 域名注冊(cè)信息101.1.4 網(wǎng)站后臺(tái)地址121.2 源碼泄露141.2.1 Git源碼泄露151.2.2 SVN源碼泄露171.2.3 .DS_Store文件泄露181.2.4 網(wǎng)站備份壓縮文件201.2.5 WEB-INF/web.xml泄露211.2.6 防御方案241.3 賬戶(hù)弱口令241.3.1 漏洞成因241.3.2 漏洞危害251.3.3 漏洞案例261.3.4 防范方法29第2章 常規(guī)漏洞312.1 SQL注入312.1.1 注入方式322.1.2 漏洞的3種類(lèi)型392.1.3 檢測(cè)方法412.1.4 防范方法432.1.5 代碼審查452.1.6 小結(jié)472.2 XSS跨站472.2.1 XSS漏洞類(lèi)型482.2.2 漏洞危害512.2.3 防范方法542.2.4 操作實(shí)踐562.2.5 代碼審查582.2.6 小結(jié)592.3 代碼注入與命令執(zhí)行592.3.1 漏洞類(lèi)型602.3.2 漏洞案例622.3.3 防御方法652.3.4 命令執(zhí)行652.3.5 小結(jié)672.4 CSRF跨站請(qǐng)求偽造672.4.1 原理分析672.4.2 漏洞案例682.4.3 操作實(shí)踐722.4.4 防御方法732.4.5 防御代碼示例742.4.6 小結(jié)752.5 文件包含762.5.1 漏洞成因762.5.2 本地文件包含762.5.3 遠(yuǎn)程文件包含792.5.4 測(cè)試方法822.5.5 使用PHP封裝協(xié)議832.5.6 小結(jié)842.6 文件上傳漏洞852.6.1 利用方式852.6.2 上傳檢測(cè)862.6.3 解析漏洞872.6.6 小結(jié)92第3章 業(yè)務(wù)邏輯安全933.1 驗(yàn)證碼安全933.1.1 圖片驗(yàn)證碼943.1.2 數(shù)字暴力破解983.1.3 空驗(yàn)證碼突破993.1.4 繞過(guò)測(cè)試1013.1.5 憑證返回1023.1.6 小結(jié)1033.2 密碼找回1033.2.1 敏感信息泄露1043.2.2 郵箱弱token1053.2.3 驗(yàn)證的有效性1063.2.4 注冊(cè)覆蓋1073.2.5 小結(jié)1093.3 接口盜用1093.3.1 API盜用1093.3.2 短信轟炸1113.4 賬戶(hù)越權(quán)1163.4.1 未授權(quán)訪問(wèn)1163.4.2 水平越權(quán)1183.4.3 垂直越權(quán)1203.4.4 小結(jié)1213.5 支付漏洞1213.5.1 支付流程分析1223.5.2 金額數(shù)據(jù)篡改1233.5.3 商品數(shù)量篡改1253.5.4 運(yùn)費(fèi)金額修改1273.5.5 小結(jié)1283.6 SSRF服務(wù)端請(qǐng)求偽造1293.6.1 漏洞成因1293.6.2 漏洞案例1313.6.3 總結(jié)134第4章 LANMP安全配置1354.1 PHP安全配置1354.2 PHP安全擴(kuò)展1394.2.1 taint簡(jiǎn)介1394.2.2 安裝taint1404.2.3 測(cè)試驗(yàn)證1414.2.4 小結(jié)1444.3 Apache安全配置1444.3.1 屏蔽版本信息1444.3.2 目錄權(quán)限隔離1454.3.3 關(guān)閉默認(rèn)主機(jī)1454.3.4 低權(quán)限運(yùn)行1454.3.5 防止用戶(hù)自定義設(shè)置1454.3.6 禁止顯示目錄1464.4 Nginx安全配置1484.4.1 配置防御1484.4.2 防止權(quán)限擴(kuò)大1494.4.3 WAF擴(kuò)展1504.4.4 Nginx解析漏洞1524.5 Redis配置1544.5.1 漏洞成因1544.5.2 漏洞案例1564.5.3 小結(jié)1574.6 MySQL安全配置1574.6.1 權(quán)限安全1574.6.2 網(wǎng)絡(luò)配置1624.6.3 MySQL日志1634.6.4 主機(jī)配置1644.6.5 啟動(dòng)選項(xiàng)165第5章 認(rèn)證與加密1675.1 數(shù)據(jù)加密與簽名1675.1.1 對(duì)稱(chēng)加密與非對(duì)稱(chēng)加密1675.1.2 數(shù)字簽名1695.1.3 數(shù)字證書(shū)1705.2 HTTPS安全1715.2.1 HTTPS簡(jiǎn)介1715.2.2 HTTPS被攻擊的方式1735.2.3 常見(jiàn)誤區(qū)1745.3 密碼加密策略1755.3.1 密碼存儲(chǔ)1765.3.2 密碼傳輸1785.3.3 漏洞案例1785.3.4 總結(jié)180第6章 其他Web安全主題1816.1 DDoS攻擊1816.1.1 DDoS分類(lèi)1826.1.2 應(yīng)對(duì)方案1836.1.3 漏洞案例1846.1.4 小結(jié)1866.2 CMS通用漏洞1866.2.1 漏洞簡(jiǎn)介1866.2.2 等級(jí)劃分1876.2.3 漏洞案例1886.2.4 防御方法1916.3 網(wǎng)頁(yè)掛馬1926.3.1 掛馬類(lèi)型1936.3.2 掛馬檢測(cè)1946.3.3 小結(jié)1966.4 Burp Suite1966.4.1 攔截?cái)?shù)據(jù)包1976.4.2 修改數(shù)據(jù)包1986.4.3 頁(yè)面鏈接抓取1996.4.4 自動(dòng)化挖掘2016.4.5 暴力破解2016.5 SQLMap2036.5.1 查看數(shù)據(jù)庫(kù)賬戶(hù)2056.5.2 查看數(shù)據(jù)庫(kù)中的所有賬戶(hù)2066.5.3 獲取所有數(shù)據(jù)庫(kù)名稱(chēng)2076.5.4 獲取數(shù)據(jù)庫(kù)表名稱(chēng)2086.5.5 查看表結(jié)構(gòu)2096.5.6 導(dǎo)出數(shù)據(jù)210