首页 > 其他分享 >CSRF(Pikachu靶场练习)

CSRF(Pikachu靶场练习)

时间:2024-05-10 14:13:06浏览次数:17  
标签:csrf 登录 Pikachu submit 修改 token CSRF 靶场

CSRF(get)

自己随便输点东西,回显登录失败,查看源码没发现什么

点开提示,登录进去看看

image-20240503095741193

看到可以修改个人信息,我们把居住改成China,修改成功,没发现urlhttp://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php有变化

image-20240503095955257

这次我们在submit时抓包看看

image-20240503101747460

/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=girl&phonenum=111&add=China&email=lili%40pikachu.com&submit=submit

url上并没有携带认证信息,所以在用户登录状态下(其实这个链接里面是不包含用户名的,谁登录都无所谓,只要有人登录着就行,登录着的用户的信息就会被改成url提供的那些),试试改一改上面的链接,比如把性别改一改。payload:

pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=111&add=China&email=lili%40pikachu.com&submit=submit

image-20240503102513889

修改成功

因为这关session时间特别短(大概不到1min)可能会导致用户登录之后后端检测结果是用户未登录

网上有很多短链接网站可以修饰url(百度搜索“短链接”就有很多)

img

先检查是否登录,如果没登录则跳转到登录页面。如果用户已登录,就不再做任何验证,直接将前端传来的数据下到数据库了(看代码这关还有sql注入漏洞呢)。

image-20240503135816699

CSRF(post)

和上一题一样修改个人信息的时候用bp抓包

image-20240503103658906

依旧没有认证信息,有CSRF漏洞。

但是这一关是post类型,URL不再显示修改参数,所以无法再使用上述办法(即通过URL来伪造请求)进行修改,

需要我们去构造一个html,这里我们直接用burp的工具生成

image-20240503105040530

image-20240503104958487
点击用浏览器测试

image-20240503105426977

点击提交

image-20240503105558825

直接跳转

image-20240503105734765

CSRF token

登录之后,修改个人信息时bp抓包

image-20240503134834450

发现有token字段

token验证原理
CSRF的主要问题是敏感操作的链接容易被伪造
每次请求,都增加一个随机码(需要够随机,不容易伪造),后台每次对随机码进行验证

网页接受从后台发过来的token,类型不可见。将其一并提交给后台进行验证。每次刷新,后台发送过来的token都不一样,起到了防止伪造的作用。

删了token行不行,显然是不行嘟

image-20240503135302230

多抓几次包发现token是无规律的,在一定程度上防御了CSRF攻击

查看源代码

image-20240503140140500

image-20240503140106927

修改用户信息时,服务器会比较url中的token字段和session中的token字段,如果相同才能修改用户信息。

修改完用户信息之后,会用set_token()函数生成新的token,将其返回到html表单中并隐藏起来,以便下次用户修改信息时代入url。

标签:csrf,登录,Pikachu,submit,修改,token,CSRF,靶场
From: https://www.cnblogs.com/Mchacha/p/18184186

相关文章

  • 5.7前端跨域CSRF和SSRF
    一、CSRF(跨站请求伪造)1、get类型(pikaqu靶场环境)前提:抓包获取请求地址,构造伪造请求站点,并保持用户登录状态点击伪造站点此时在其他主机,构造网站信息index.html文件,并伪造修改个人信息数据包;<scriptsrc='http://192.168.127.129:81/vul/csrf/csrfget/csrf_get_edit.php?sex=......
  • ssrf-基于Pikachu的学习
    SSRFSSRF漏洞原理攻击与防御(超详细总结)-CSDN博客原理服务端请求伪造(ServerSideRequestForgery,SSRF)指的是攻击者在未能取得服务器所有权限时,利用服务器漏洞以服务器的身份发送一条构造好的请求给服务器所在内网。SSRF攻击通常针对外部网络无法直接访问的内部系统。比如......
  • url重定向-基于Pikachu的学习
    URL重定向原理不安全的url跳转问题可能发生在一切执行了url地址跳转的地方。如果后端采用了前端传进来的(可能是用户传参,或者之前预埋在前端页面的url地址)参数作为了跳转的目的地,而又没有做判断的话就可能发生"跳错对象"的问题。转发由服务器端进行的页面跳转。请求转发......
  • DC2靶场
    DC2下载地址:https://download.vulnhub.com/dc/DC-2.zip题目要求:MuchlikeDC-1,DC-2isanotherpurposelybuiltvulnerablelabforthepurposeofgainingexperienceintheworldofpenetrationtesting.AswiththeoriginalDC-1,it'sdesignedwithbeginners......
  • DC1靶场练习
    DC1下载地址:https://download.vulnhub.com/dc/DC-1.zip题目要求:DC-1isapurposelybuiltvulnerablelabforthepurposeofgainingexperienceintheworldofpenetrationtesting.Itwasdesignedtobeachallengeforbeginners,butjusthoweasyitiswillde......
  • xxe-基于Pikachu的学习
    XXE漏洞XML外部实体注入(XXE)的原理和应用_xml注入原理-CSDN博客XXE(XML外部实体注入)漏洞分析——pikachu靶场复现_pikachuxxe-CSDN博客原理XML外部实体注入漏洞(XMLExternalEntityInjection)简称XXE,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意......
  • unserialize-基于Pikachu的学习
    php反序列化PHP反序列化漏洞详解(万字分析、由浅入深)_php反序列化漏洞原理-CSDN博客PHP反序列化基础-HelloCTF(hello-ctf.com)PHP反序列化漏洞的原理及复现-FreeBuf网络安全行业门户原理:php程序为了保存和转储对象,提供了序列化的方法。php序列化是为了在程序运行的过程......
  • 敏感数据泄露-基于Pikachu的学习
    敏感数据泄露原理由于管理员或者技术人员等各种原因导致敏感信息泄露。许多web应用程序和app都无法正确保护敏感数据,攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输......
  • 目录遍历-基于Pikachu的学习
    目录遍历原理目录浏览漏洞是由于网站存在配置缺陷,存在目录可浏览漏洞,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。Pikachu打开题目就是两个超链接,我随便点了一个发现url发现变化,有一个参数值titl......
  • Over-Permission-基于Pikachu的学习
    越权漏洞原理该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,访问或者操作其他用户或者更高权限。越权漏洞的成因主要是因为开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定,一旦权限验证不......