十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Web安全攻防

Web安全攻防 一、实验目的掌握SQL注入漏洞的原理与利用方法学会手工注入和sqlmap自动化注入工具的使用理解跨站脚本攻击XSS的原理掌握反射型XSS和存储型XSS的利用方法掌握文件上传漏洞的原理与利用方式能够上传Webshell并验证命令执行理解命令注入漏洞的原理掌握通过拼接系统命令实现任意命令执行的方法掌握Burp Suite抓包改包工具的使用学会拦截、修改、重放HTTP请求理解各类Web漏洞的防御措施建立安全编码意识二、实验环境类别配置说明宿主机OSWindows 10运行DVWA靶场Web服务器nginx 1.15.11PHP 7.3.4数据库MySQL数据库名dvwa123Web靶场DVWA v1.10安全级别Low攻击工具sqlmap、Burp Suite Professional 2026.4、浏览器Firefox辅助工具HackBar浏览器插件三、实验原理Web安全是网络安全的重要组成部分OWASP Top 10列出了最常见的Web应用安全风险。本次实验涵盖了其中最典型的几类漏洞SQL注入、XSS跨站脚本、文件上传漏洞、命令注入等。SQL注入Web应用将用户输入直接拼接到SQL语句中若未对输入进行过滤和转义攻击者可以构造恶意的SQL语句改变查询逻辑实现越权查询、数据泄露、甚至写入Webshell获取服务器权限。SQL注入分为联合查询注入、报错注入、布尔盲注、时间盲注等多种类型。XSS跨站脚本攻击者向Web页面中注入恶意脚本代码当用户访问页面时脚本在浏览器中执行从而窃取用户Cookie、进行钓鱼攻击、篡改页面内容等。XSS分为反射型、存储型和DOM型三种。反射型XSS的payload通过URL参数传递存储型XSS的payload存储在数据库中每次访问页面都会触发。文件上传漏洞Web应用对用户上传的文件未进行严格的类型和内容校验导致攻击者可以上传恶意的脚本文件如PHP Webshell访问上传的文件即可执行任意系统命令获取服务器控制权。命令注入Web应用将用户输入拼接到系统命令中执行若未对输入进行过滤攻击者可以通过分号、、||等命令连接符注入额外的系统命令实现任意命令执行。Burp SuiteWeb应用安全测试的集成平台通过代理方式拦截和修改HTTP请求支持抓包改包、重放攻击、暴力破解、漏洞扫描等功能是Web渗透测试的必备工具。四、实验内容与步骤1、实验内容1SQL注入漏洞利用 — 手工注入操作过程登录DVWA将安全级别设置为Low进入SQL Injection模块测试注入点输入单引号观察是否报错确认存在字符型注入测试列数使用ORDER BY语句确定查询返回的列数为2联合查询注入构造UNION SELECT语句查询用户名和密码注入PayloadsqlSQL注入Payload#测试注入点1 OR 11# 联合查询用户名和密码1 UNION SELECT user, password FROM users#截图图4-1 手工SQL注入联合查询结果结果说明手工SQL注入成功通过UNION SELECT语句成功查询出users表中的所有用户数据。返回结果显示了5个用户的ID、名字、姓氏和密码哈希值包括admin、gordonb、1337、pablo、smithy等用户。密码字段为MD5哈希格式需要进一步破解才能得到明文密码。2SQL注入漏洞利用 — sqlmap自动化注入操作命令/过程复制SQL注入页面的完整URL包含id参数使用sqlmap检测注入点并获取数据库信息枚举数据库中的表名枚举表中的列名导出用户表中的所有数据自动破解MD5哈希bashsqlmap注入命令#检测注入点并列出数据库sqlmap -u http://www.dvwa/vulnerabilities/sqli/?id1SubmitSubmit# --batch --dbs# 枚举dvwa123数据库中的表sqlmap -u ... --batch -D dvwa123 --tables# 枚举users表中的列sqlmap -u ... --batch -D dvwa123 -T users --columns# 导出users表数据并自动破解密码sqlmap -u ... --batch -D dvwa123 -T users --dump截图图4-2 sqlmap检测注入点与数据库信息图4-3 sqlmap枚举数据库表图4-4 sqlmap枚举表字段图4-5 sqlmap导出用户数据并破解密码结果说明sqlmap自动化注入成功检测到4种SQL注入类型布尔盲注、报错注入、时间盲注、联合查询。识别出后端数据库为MySQLWeb应用技术为PHP 7.3.4 Nginx 1.15.11。共发现2个数据库dvwa123和information_schema。dvwa123数据库中包含2张表guestbook和users。users表包含8个字段user、avatar、failed_login、first_name、last_login、password、user_id等。成功导出users表中的5条用户记录sqlmap自动识别密码为MD5哈希并使用内置字典进行破解成功破解出4个明文密码admin→ passwordgordonb→ abc123pablo→ letmeinsmithy→ password1337→ charley3跨站脚本攻击 — 反射型XSS操作过程进入DVWA的XSS (Reflected)模块在输入框中输入XSS测试脚本点击提交观察是否弹出警告框Payloadhtml反射型XSS Payloadscriptalert(XSS)/script截图图4-6 反射型XSS攻击成功结果说明反射型XSS攻击成功输入的script标签被浏览器解析执行弹出了显示XSS的警告框。说明应用程序未对用户输入进行任何过滤和编码直接将输入内容反射到页面中导致恶意脚本执行。反射型XSS通常通过URL链接传播诱导用户点击后触发。4跨站脚本攻击 — 存储型XSS操作过程进入DVWA的XSS (Stored)模块在姓名和信息输入框中输入XSS脚本点击Sign Guestbook提交留言刷新页面或重新访问验证脚本是否被存储并自动执行Payloadhtml存储型XSS Payloadscriptalert(1)/script截图图4-7 存储型XSS留言板页面图4-8 存储型XSS攻击成功结果说明存储型XSS攻击成功输入的恶意脚本被存储到数据库中。每次访问该留言板页面时存储的脚本都会被自动执行弹出警告框。与反射型XSS相比存储型XSS的危害更大因为它不需要用户点击特定链接只要访问页面就会被攻击且可以持久化地影响所有访问该页面的用户。5文件上传漏洞利用操作过程进入DVWA的File Upload模块创建PHP一句话木马文件4.php直接上传PHP文件Low级别无校验访问上传后的文件路径验证PHP代码执行Webshell代码phpPHP一句话木马?php phpinfo(); ?截图图4-9 文件上传漏洞 - phpinfo执行成功结果说明文件上传漏洞利用成功PHP文件成功上传到服务器的hackable/uploads目录下。访问上传的4.php文件后phpinfo()函数成功执行显示了完整的PHP环境信息包括PHP版本7.3.4、服务器系统Windows NT、服务器API等详细信息。这说明服务器未对上传文件的类型进行任何校验攻击者可以上传任意PHP脚本文件进一步上传功能更强大的Webshell即可获取服务器的完全控制权。6命令注入漏洞利用操作过程进入DVWA的Command Injection模块该功能用于ping指定IP地址在IP输入框中使用命令连接符注入额外命令观察返回结果验证命令是否执行注入Payloadbash命令注入Payload#使用分号分隔命令127.0.0.1; whoami# 使用连接命令127.0.0.1 ipconfig截图图4-10 命令注入页面图4-11 命令注入执行成功结果说明命令注入漏洞利用成功。通过在IP地址后添加分号和whoami命令成功执行了系统命令。返回结果中显示了ping命令的输出以及whoami命令的执行结果desktop-c91u6va\zake即当前Web服务器运行的用户身份。命令注入漏洞的危害极大攻击者可以执行任意系统命令包括查看文件、下载后门、添加用户等最终可能完全控制服务器。7Burp Suite抓包与改包操作过程配置浏览器代理指向Burp Suite127.0.0.1:8080Burp Suite中开启拦截功能Intercept is on在浏览器中提交DVWA登录请求Burp成功拦截登录请求查看POST参数修改password参数值Forward转发请求使用Repeater模块重放请求观察响应变化截图图4-12 Burp Suite拦截登录请求图4-13 Burp拦截功能演示图4-14 Burp Repeater重放请求与响应结果说明Burp Suite抓包改包功能正常工作。成功拦截到DVWA的登录请求请求方法为POST提交的参数包括username、password、Login按钮和user_token防CSRF令牌。请求头中包含Cookie信息PHPSESSID用于会话管理securitylow表示当前安全级别。修改password参数为错误值后转发请求页面返回Login failed验证了参数修改的效果。在Repeater模块中可以方便地修改请求参数并重放观察响应的变化。正常登录成功时服务器返回302 Found重定向响应同时设置新的PHPSESSID。Burp Suite是Web渗透测试的核心工具抓包改包是最基础也是最重要的功能。2、实验方法本次Web安全攻防实验采用理论与实践相结合的方法按照漏洞类型分类进行验证手工验证 自动化工具结合SQL注入部分先进行手工注入理解原理再使用sqlmap自动化工具提高效率对比两种方法的优缺点分类验证法按OWASP Top 10分类依次验证SQL注入、XSS、文件上传、命令注入等典型漏洞每类漏洞都包含原理讲解、利用步骤、结果验证三个环节工具辅助法使用Burp Suite作为辅助工具进行抓包改包、请求重放深入理解HTTP协议层面的攻击原理结果对比法通过对比正常请求和恶意请求的响应差异验证漏洞是否存在以及攻击是否成功五、实验结果1、关键结果汇总实验项预期结果实际结果是否成功手工SQL注入联合查询获取用户数据成功查询5条用户记录是sqlmap自动化注入获取数据库、表、字段、数据完整获取并自动破解4个密码是反射型XSS弹出alert警告框成功弹出XSS警告框是存储型XSS脚本持久化存储并执行留言存储成功每次访问都弹窗是文件上传漏洞上传PHP文件并执行phpinfo()成功执行是命令注入执行任意系统命令whoami命令成功执行是Burp抓包改包拦截并修改HTTP请求成功拦截登录请求并修改参数是2、漏洞利用成果汇总漏洞类型危害等级利用成果SQL注入高危获取5个用户账号密码可直接登录系统可读取数据库所有数据潜在可写入Webshell获取服务器权限存储型XSS高危脚本持久化存储所有访问用户均受影响可窃取用户Cookie进行会话劫持可进行钓鱼攻击、网页挂马文件上传高危可上传任意PHP脚本可上传Webshell获取服务器命令执行权限直接导致服务器被入侵命令注入高危可执行任意系统命令可查看敏感文件、下载后门、添加管理员账号直接导致服务器沦陷反射型XSS中危需诱导用户点击恶意链接可窃取Cookie、钓鱼攻击危害相对存储型较小七、实验总结与心得1.本次实验完成情况与收获本次实验成功完成了Web安全攻防的全部实验内容包括SQL注入手工sqlmap、反射型XSS、存储型XSS、文件上传漏洞、命令注入、Burp Suite抓包改包等多个实验项目。通过本次实验我系统掌握了Web应用最常见的几类安全漏洞的原理和利用方法理解了OWASP Top 10的核心内容。在SQL注入方面我不仅掌握了手工注入的思路和步骤还学会了使用sqlmap自动化工具进行高效注入了解了不同类型注入联合查询、报错、盲注的适用场景。在XSS方面我理解了反射型和存储型的区别认识到存储型XSS的更大危害性。在文件上传和命令注入方面我体会到了这两类漏洞的严重危害——它们都可以直接导致服务器被完全控制。同时我也熟练掌握了Burp Suite这一Web安全测试核心工具的使用包括代理抓包、请求拦截、参数修改、Repeater重放等基础功能为后续更复杂的Web渗透测试打下了基础。2.遇到的问题及解决方法问题1sqlmap注入时提示未检测到注入点解决方法检查URL是否完整确保包含参数和Submit提交按钮检查Cookie是否正确需要带上PHPSESSID和securitylow使用--level和--risk参数提高检测级别。问题2Burp Suite无法拦截HTTPS请求提示证书错误解决方法需要在浏览器中导入Burp Suite的CA证书。访问http://burp下载cacert.der证书在浏览器的证书管理中导入并信任该证书。问题3存储型XSS输入框有长度限制无法输入长payload解决方法Low级别可以直接在name字段输入短payload如果长度受限可以使用Burp抓包修改POST参数绕过前端长度限制。问题4文件上传后找不到文件路径解决方法DVWA的上传文件默认保存在hackable/uploads/目录下可以通过目录扫描或查看源代码确认路径。Low级别上传成功后页面会显示文件路径。3.对网络安全攻防的认识通过本次Web安全攻防实验我深刻认识到Web应用安全的重要性和严峻性。一个看似简单的输入框如果处理不当就可能导致整个数据库泄露甚至服务器被完全控制。SQL注入、XSS、文件上传、命令注入这些漏洞原理都不复杂但在真实世界中却屡见不鲜造成了大量的数据泄露事件。从攻击角度看渗透测试是一个由浅入深、层层递进的过程。信息收集发现入口SQL注入获取数据文件上传和命令注入获取权限每一步都有明确的目标和方法。攻击者只需要找到一个突破口就可能一步步深入最终控制整个系统。从防御角度看安全编码意识至关重要。所有的漏洞根源都是对用户输入的不信任不足。防御SQL注入要用预编译语句防御XSS要做输出编码防御文件上传要做白名单校验和文件内容检测防御命令注入要避免使用shell拼接。每一个输入点都需要做严格的校验和过滤这是开发者的基本责任。另外我也认识到安全是一个整体不是某一个点的问题。即使代码写得很安全如果配置不当比如上传目录可执行依然会导致严重的安全问题。纵深防御、最小权限原则这些安全基本原则在任何时候都不能忘记。4.今后学习方向深入学习更多Web漏洞类型包括CSRF、SSRF、XXE、反序列化等全面掌握OWASP Top 10学习更高难度的漏洞绕过技术包括WAF绕过、SQL注入绕过过滤、XSS绕过CSP等深入研究Burp Suite的高级功能包括Intruder暴力破解、Scanner漏洞扫描、插件开发等学习代码审计从源代码层面发现和理解漏洞提升漏洞挖掘能力学习Web安全防御技术包括WAF部署、安全编码规范、漏洞修复方案等建立攻防一体的知识体系在更高级别Medium、High、Impossible的DVWA环境下进行练习学习各种绕过技巧八、参考资料OWASP Top 10https://owasp.org/www-project-top-ten/Kali Linux官方文档https://www.kali.org/docs/DVWA项目https://github.com/digininja/DVWAsqlmap官方文档https://sqlmap.org/Burp Suite官方文档https://portswigger.net/burp/documentationXSS过滤绕过速查表https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
返回列表