核心内容摘要
“喿辶臿辶喿辶喿”
渗é€�测试 Web安全一ã€�Web 安全概述一Web 安全的定义ä¸�é‡�è¦�性1ã€�定义Web 安全是指ä¿�护Web 应用程åº�å…�å�—å�„ç§�网络å¨�èƒ�ç¡®ä¿� Web æœ�务的ä¿�密性ã€�完整性和å�¯ç”¨æ€§ã€‚在当今数å—化时代Web 应用广泛å˜åœ¨äº�å�„个领域ä»�电å�商务到社交媒体ä»�ä¼�业内部系统到政府公共æœ�务平å�°ã€‚Web å®‰å…¨æ—¨åœ¨é˜²æ¢æ�¶æ„�攻击者利用 Web 应用ä¸çš„æ¼�æ´�窃å�–æ•�感信æ�¯ã€�篡改数æ�®æˆ–ç ´å��æœ�务。2ã€�é‡�è¦�性对äº�ä¼�业而言Web 安全关系到商业机密ã€�客户信æ�¯çš„ä¿�护一旦é�å�—攻击å�¯èƒ½é�¢ä¸´å·¨å¤§çš„ç»�æµ�æ�Ÿå¤±ã€�声誉æ�Ÿå®³å’Œæ³•律é£�险。例如电商平å�°å¦‚æ�œé�å�—攻击导致用户信用å�¡ä¿¡æ�¯æ³„露ä¸�仅会失å�»ç”¨æˆ·ä¿¡ä»»è¿˜å�¯èƒ½é�¢ä¸´å·¨é¢�èµ”å�¿ã€‚对äº�个人用户æ�¥è¯´Web 安全ä¿�护个人éš�ç§�ä¿¡æ�¯å¦‚登录密ç �ã€�个人资料ç‰ä¸�被窃å�–。二Web 应用的æ�¶æ�„ä¸�安全é£�险1ã€�æ�¶æ�„Web 应用通常由å‰�端æµ�览器端ã€�å��端æœ�务器端和数æ�®åº“组æˆ�。å‰�端主è¦�负责展示用户界é�¢é€šè¿‡ HTMLè¶…æ–‡æœ¬æ ‡è®°è¯è¨€æ�„建页é�¢ç»“æ�„CSS层å� æ ·å¼�è¡¨è¿›è¡Œæ ·å¼�设计JavaScript å®�ç�°äº¤äº’功能。å��端负责处ç�†ä¸šåŠ¡é€»è¾‘å¦‚æ�¥æ”¶å‰�端请求ã€�ä¸�æ•°æ�®åº“交互ã€�生æˆ�动æ€�页é�¢å†…容ç‰å¸¸è§�çš„å��端è¯è¨€æœ‰ PythonFlaskã€�Django ç‰æ¡†æ�¶ã€�Javaã€�PHP ç‰ã€‚æ•°æ�®åº“则用äº�å˜å‚¨ Web 应用的数æ�®å¦‚用户信æ�¯ã€�商å“�ä¿¡æ�¯ç‰å¸¸è§�的数æ�®åº“有 MySQLã€�Oracleã€�SQLite ç‰ã€‚2ã€�安全é£�险这ç§�æ�¶æ�„çš„å¤�æ�‚性带æ�¥äº†è¯¸å¤šå®‰å…¨é£�险。å‰�端å�¯èƒ½é�¢ä¸´è·¨ç«™è„šæœ¬æ”»å‡»XSSå��端å�¯èƒ½å˜åœ¨ SQL 注入ã€�命令注入ç‰é£�险数æ�®åº“å�¯èƒ½è¢«é��法访问和篡改。例如由äº�å‰�ç«¯è¾“å…¥æ¡†æ²¡æœ‰å¯¹ç”¨æˆ·è¾“å…¥è¿›è¡Œä¸¥æ ¼è¿‡æ»¤å�¯èƒ½å¯¼è‡´æ�¶æ„�脚本被注入并在用户æµ�è§ˆå™¨ä¸æ‰§è¡Œå��端如æ�œæ²¡æœ‰å¯¹ SQL 查询è¯å�¥ä¸çš„用户输入进行æ£ç¡®å¤„ç�†å°±å�¯èƒ½è¢«æ”»å‡»è€…利用进行 SQL 注入攻击ä»�而è�·å�–或篡改数æ�®åº“ä¸çš„æ•°æ�®ã€‚二ã€�常è§� Web 安全æ¼�æ´�一跨站脚本攻击XSS1ã€�ç±»å�‹ä¸�å�Ÿç�†å��å°„å�‹ XSS攻击者æ�„é€ æ�¶æ„�çš„ URLå…¶ä¸åŒ…å�«æ�¶æ„�脚本。当用户点击这个 URL æ—¶æœ�务器会将æ�¶æ„�脚本å��å°„å›�用户æµ�览器并执行。例如攻击者在æ�œç´¢æ¡†ä¸è¾“å…¥æ�¶æ„�脚本然å��将包å�«æ�¶æ„�脚本的æ�œç´¢ç»“æ�œé¡µé�¢çš„ URL å�‘é€�ç»™å�—害者å�—害者点击该 URL å��æ�¶æ„�脚本就在其æµ�è§ˆå™¨ä¸æ‰§è¡Œã€‚å˜å‚¨å�‹ XSS攻击者将æ�¶æ„�脚本å˜å‚¨åœ¨ç›®æ ‡ Web 应用ä¸å¦‚论å�›çš„帖å�内容ã€�评论区ç‰ã€‚当其他用户访问包å�«æ�¶æ„�脚本的页é�¢æ—¶è„šæœ¬å°±ä¼šåœ¨ä»–ä»¬çš„æµ�è§ˆå™¨ä¸æ‰§è¡Œã€‚è¿™ç§�ç±»å�‹çš„ XSS å�±å®³æ›´å¤§å› 为它ä¸�需è¦�å�—害者点击特定的 URLå�ªè¦�访问å�—感染的页é�¢å°±å�¯èƒ½è¢«æ”»å‡»ã€‚2ã€�å�±å®³ä¸�防范å�±å®³XSS 攻击å�¯ä»¥çªƒå�–用户的登录å‡è¯�如 Cookieã€�篡改页é�¢å†…容ã€�进行钓鱼攻击ç‰ã€‚例如通过窃å�– Cookie攻击者å�¯ä»¥ä¼ªè£…æˆ�å�—害者登录 Web 应用è�·å�–å�—害者的æ�ƒé™�ã€‚é˜²èŒƒå¯¹ç”¨æˆ·è¾“å…¥è¿›è¡Œä¸¥æ ¼çš„è¿‡æ»¤å’ŒéªŒè¯�对输出进行编ç �。例如在 PHP ä¸å�¯ä»¥ä½¿ç”¨ htmlspecialchars 函数对输出到 HTML 页é�¢çš„内容进行编ç �防æ¢è„šæœ¬è¢«æ‰§è¡Œåœ¨ JavaScript ä¸å�¯ä»¥ä½¿ç”¨ DOMPurify 库对 DOM æ“�作进行安全处ç�†ã€‚二SQL 注入1ã€�å�Ÿç�†ä¸�示例å�Ÿç�†æ˜¯æ”»å‡»è€…通过在 Web 应用的输入框如登录框ã€�æ�œç´¢æ¡†ç‰ä¸è¾“å…¥æ�¶æ„�çš„ SQL è¯å�¥åˆ©ç”¨ Web 应用ä¸�æ•°æ�®åº“交互时没有对输入进行æ£ç¡®å¤„ç�†çš„æ¼�æ´�使æ�¶æ„� SQL è¯å�¥åœ¨æ•°æ�®åº“䏿‰§è¡Œã€‚例如在一个登录页é�¢å¦‚æ�œæ²¡æœ‰å¯¹ç”¨æˆ·å��和密ç �的输入进行æ£ç¡®å¤„ç�†æ”»å‡»è€…å�¯èƒ½è¾“入类似 “’ or ‘1’1â€� 的用户å��密ç �éš�ä¾¿è¾“å…¥è¿™æ ·æ�„é€ çš„ SQL è¯å�¥å�¯èƒ½ç»•过登录验è¯�ç›´æ�¥è�·å�–登录æ�ƒé™�。2ã€�å�±å®³ä¸�防御å�±å®³å�¯ä»¥è�·å�–æ•°æ�®åº“ä¸çš„æ•�感信æ�¯å¦‚用户信æ�¯ã€�商业机密ç‰ã€�篡改数æ�®åº“æ•°æ�®ã€�åˆ é™¤æ•°æ�®åº“表ç‰ã€‚防御使用å�‚数化查询在 PHP ä¸å�¯ä»¥ä½¿ç”¨ PDO 或 MySQLi 的预处ç�†è¯å�¥ã€�å¯¹ç”¨æˆ·è¾“å…¥è¿›è¡Œä¸¥æ ¼çš„éªŒè¯�和过滤é�¿å…�将用户输入直æ�¥æ‹¼æ�¥åˆ° SQL è¯å�¥ä¸ã€‚ä¸‰æ–‡ä»¶ä¸Šä¼ æ¼�æ´�1ã€�å�Ÿç�†ä¸�é£�险å�Ÿç�†æ˜¯ Web 应用å…�è®¸ç”¨æˆ·ä¸Šä¼ æ–‡ä»¶ä½†æ²¡æœ‰å¯¹ä¸Šä¼ çš„æ–‡ä»¶è¿›è¡Œä¸¥æ ¼çš„ç±»å�‹ã€�大å°�ã€�å†…å®¹ç‰æ–¹é�¢çš„æ£€æŸ¥ã€‚攻击者å�¯ä»¥ä¸Šä¼ æ�¶æ„�文件如 WebShell一ç§�å�¯ä»¥åœ¨ Web æœ�务器上执行命令的脚本文件。例如攻击者将一个包å�«æ�¶æ„� PHP 代ç �的文件伪装æˆ�图片文件修改文件扩展å��ä¸Šä¼ åˆ°æœ�务器如æ�œæœ�åŠ¡å™¨æ²¡æœ‰è¿›è¡Œä¸¥æ ¼æ£€æŸ¥å°±å�¯èƒ½å°†è¿™ä¸ªæ�¶æ„�文件ä¿�å˜åˆ°æœ�务器上攻击者就å�¯ä»¥é€šè¿‡è®¿é—®è¿™ä¸ªæ–‡ä»¶æ�¥æ‰§è¡Œæ�¶æ„�代ç �ä»�而è�·å�–æœ�务器的æ�§åˆ¶æ�ƒã€‚2ã€�防范æ�ªæ–½å¯¹ä¸Šä¼ 文件的类å�‹è¿›è¡Œä¸¥æ ¼é™�制å�ªå…�è®¸ä¸Šä¼ å�ˆæ³•的文件类å�‹æ£€æŸ¥æ–‡ä»¶çš„æ‰©å±•å��ä¸�文件内容是å�¦åŒ¹é…�å¯¹ä¸Šä¼ æ–‡ä»¶è¿›è¡Œé‡�命å��é�¿å…�使用å�Ÿå§‹çš„å�¯èƒ½è¢«æ”»å‡»è€…利用的文件å��é™�åˆ¶ä¸Šä¼ æ–‡ä»¶çš„å¤§å°�ç‰ã€‚三ã€�Web 安全工具一æ¼�æ´�扫æ��工具1ã€�Burp Suite功能这是一款é��常æµ�行的 Web 应用程åº�安全测试工具。它å�¯ä»¥æ‹¦æˆªå’Œä¿®æ”¹ HTTP/HTTPS 请求和å“�应进行æ¼�æ´�扫æ��如检测 XSSã€�SQL æ³¨å…¥ç‰æ¼�æ´�。它还å�¯ä»¥å¯¹ Web 应用进行爬虫å�‘ç�°éš�è—�的页é�¢å’Œæ�¥å�£æ–¹ä¾¿å®‰å…¨æµ‹è¯•人员全é�¢è¯„ä¼° Web 应用的安全性。使用示例在测试一个 Web 应用时å�¯åЍ Burp Suiteå°†æµ�览器的代ç�†è®¾ç½®ä¸º Burp Suite 的代ç�†åœ°å�€å’Œç«¯å�£ã€‚ç„¶å��在æµ�è§ˆå™¨ä¸æ£å¸¸è®¿é—® Web 应用Burp Suite å°±å�¯ä»¥æ‹¦æˆªåˆ°æ‰€æœ‰çš„请求和å“�应。安全测试人员å�¯ä»¥å¯¹æ‹¦æˆªçš„请求进行修改例如在å�‚æ•°ä¸æ³¨å…¥æ�¶æ„�代ç �ç„¶å��观察æœ�务器的å“�åº”åˆ¤æ–æ˜¯å�¦å˜åœ¨æ¼�æ´�。2ã€�Nessus功能是一款功能强大的æ¼�æ´�扫æ��工具å�¯ä»¥æ‰«æ�� Web 应用以å�Šæ•´ä¸ªç½‘络ä¸çš„å�„ç§�安全æ¼�æ´�。它拥有åº�大的æ¼�æ´�库能够准确地检测出已知的æ¼�æ´�å¹¶æ��供详细的æ¼�æ´�报告。除了 Web æ¼�æ´�还能扫æ��æ“�作系统æ¼�æ´�ã€�网络设备æ¼�æ´�ç‰ã€‚使用示例安装并é…�ç½® Nessus å��创建一个新的扫æ��任务指定è¦�扫æ��çš„ç›®æ ‡å�¯ä»¥æ˜¯å�•个 Web 应用的 URL 或者整个网络的 IP 范围。然å��å�¯åŠ¨æ‰«æ��任务Nessus 会自动进行æ¼�æ´�扫æ��扫æ��完æˆ�å��æŸ¥çœ‹æŠ¥å‘Šæ ¹æ�®æŠ¥å‘Šä¸çš„æ¼�æ´�ä¿¡æ�¯é‡‡å�–相应的防范æ�ªæ–½ã€‚二Web 安全防护工具1ã€�Web 应用防ç�«å¢™WAF**功能**WAF ä½�äº� Web 应用和外部网络之间用äº�检测和阻æ¢é’ˆå¯¹ Web 应用的å�„ç§�攻击。它å�¯ä»¥æ ¹æ�®é¢„定义的规则或者机器å¦ä¹ ç®—æ³•è¯†åˆ«å’Œé˜»æ¢ XSSã€�SQL 注入ã€�æ�¶æ„�æ–‡ä»¶ä¸Šä¼ ç‰æ”»å‡»ã€‚例如当检测到一个包å�«æ�¶æ„� SQL è¯å�¥çš„请求时WAF 会直æ�¥é˜»æ–这个请求防æ¢å…¶åˆ°è¾¾ Web 应用æœ�务器。**常è§�ç±»å�‹ä¸�选择**有基äº�软件的 WAF如 ModSecurity它å�¯ä»¥é›†æˆ�到 Apache 或 Nginx ç‰ Web æœ�务器ä¸å’ŒåŸºäº�硬件的 WAF。在选择 WAF 时需è¦�考虑 Web 应用的规模ã€�预算ã€�性能è¦�求ç‰å› ç´ ã€‚å¯¹äº�å°�å�‹ Web 应用å�¯ä»¥é€‰æ‹©å¼€æº�的基äº�软件的 WAF对äº�大å�‹ä¼�业级 Web 应用å�¯èƒ½éœ€è¦�选择商业的ã€�高性能的基äº�硬件或云æœ�务的 WAF。四ã€�Web 安全最佳å®�践一安全开å�‘æµ�程1ã€�需求分æ��阶段在这个阶段安全团队和开å�‘团队需è¦�å…±å�Œå�‚ä¸�识别 Web 应用å�¯èƒ½é�¢ä¸´çš„安全å¨�èƒ�并将安全需求纳入项目需求文档。例如如æ�œ Web 应用涉å�Šç”¨æˆ·ç™»å½•就需è¦�æ˜�ç¡®è¦�求对用户密ç �è¿›è¡ŒåŠ å¯†å˜å‚¨å’Œå®‰å…¨ä¼ 输。2ã€�设计阶段设计安全的æ�¶æ�„例如采用分层æ�¶æ�„将表示层ã€�业务逻辑层和数æ�®è®¿é—®å±‚åˆ†å¼€è¿™æ ·å�¯ä»¥é™�ä½�安全é£�é™©çš„ä¼ æ’。å�Œæ—¶è€ƒè™‘采用安全的设计模å¼�如身份验è¯�å’Œæ�ˆæ�ƒæ¨¡å¼�ç¡®ä¿�å�ªæœ‰æ�ˆæ�ƒç”¨æˆ·èƒ½å¤Ÿè®¿é—®æ•�感资æº�。3ã€�ç¼–ç �阶段é�µå¾ªå®‰å…¨ç¼–ç �规范如é�¿å…�使用ä¸�安全的函数如在 PHP ä¸é�¿å…�使用 eval å‡½æ•°å› ä¸ºå®ƒå�¯èƒ½å¯¼è‡´ä»£ç �注入é£�é™©å¯¹ç”¨æˆ·è¾“å…¥è¿›è¡Œä¸¥æ ¼çš„éªŒè¯�和过滤æ£ç¡®å¤„ç�†é”™è¯¯ä¿¡æ�¯é�¿å…�将详细的错误信æ�¯æš´éœ²ç»™æ”»å‡»è€…。4ã€�测试阶段进行全é�¢çš„安全测试包括æ¼�æ´�扫æ��ã€�渗é€�测试ç‰ã€‚æ¼�æ´�扫æ��å�¯ä»¥ä½¿ç”¨å·¥å…·å¦‚ Burp Suiteã€�Nessus ç‰å�‘ç�°å·²çŸ¥çš„æ¼�æ´�渗é€�测试则模拟攻击者的行为ä»�外部å°�试入侵 Web 应用å�‘ç�°æ½œåœ¨çš„安全æ¼�æ´�。5ã€�部署ä¸�维护阶段在部署 Web 应用时确ä¿�æœ�务器ç�¯å¢ƒçš„安全如安装最新的æ“�作系统补ä¸�ã€�Web æœ�务器软件补ä¸�ç‰ã€‚在维护阶段定期进行安全评估和æ¼�æ´�扫æ��å�Šæ—¶ä¿®å¤�å�‘ç�°çš„æ¼�æ´�。二安全æ„�识培è®1ã€�å¼€å�‘人员培è®å¼€å�‘人员需è¦�æ�¥å�— Web 安全知识培è®äº†è§£å¸¸è§�的安全æ¼�æ´�和防范æ�ªæ–½ã€‚例如å¦ä¹ 如何编写安全的 SQL 查询è¯å�¥å¦‚何防范 XSS 攻击ç‰ã€‚通过培è®å�¯ä»¥æ��高开å�‘人员的安全æ„�识使他们在开å�‘过程ä¸è‡ªè§‰é�µå¾ªå®‰å…¨è§„范。2ã€�普通员工培è®å¯¹äº�普通员工尤其是ä¸� Web 应用有交互的员工如客æœ�人员ã€�市场人员ç‰ä¹Ÿéœ€è¦�进行安全æ„�识培è®ã€‚培è®å†…容包括如何识别钓鱼邮件ã€�ä¸�éš�æ„�点击å�¯ç–‘链æ�¥ç‰é˜²æ¢å› 为员工的ç–�忽导致 Web 应用é�å�—攻击。通过以上全é�¢çš„ Web 安全基础教程ä»�了解 Web 安全的概念ã€�常è§�æ¼�æ´�ã€�安全工具到最佳å®�践希望读者能够ä»�零基础入门 Web 安全领域并é€�æ¥ç²¾é€šç›¸å…³çŸ¥è¯†å’ŒæŠ€èƒ½ä»�而在æ�„建和维护 Web 应用时能够有效地ä¿�障其安全性。网络安全å¦ä¹ 资æº�网上虽然也有很多的å¦ä¹ 资æº�但基本上都残缺ä¸�全的这是我们和网安大å�‚360å…±å�Œç ”å�‘的的网安视频教程内容涵盖了入门必备的æ“�作系统ã€�计算机网络和编程è¯è¨€ç‰åˆ�级知识而且包å�«äº†ä¸çº§çš„å�„ç§�渗é€�技术并且还有å��期的CTF对抗ã€�区å�—链安全ç‰é«˜é˜¶æŠ€æœ¯ã€‚总共200多节视频100多本网安电å�书最新å¦ä¹ 路线图和工具安装包都有ä¸�用担心å¦ä¸�全。这些东西我都å�¯ä»¥å…�费分享给大家需è¦�çš„å�¯ä»¥ç‚¹è¿™é‡Œè‡ªå�–:网安入门到进阶资æº�